Go back

GeoPackage Extensions

The following are GeoPackage extensions that have been discussed, reviewed, and approved by the OGC as official extensions to the GeoPackage Encoding Standard.

WKT for Coordinate Reference Systems

The extension (previously Annex F.10) defines how to encode coordinate reference systems (CRS) in GeoPackages using the ISO/OGC Well-known text representation of coordinate reference systems [2019] (CRS WKT2) Standard.

Tiled Gridded Coverage Data

The extension (previously titled "Elevation Extension") defines how to encode and store tiled regular gridded data, such as a digital elevation model, in a GeoPackage. This document is currently under revision. The working version is here.

Related Tables (see preface for template information)

This extension defines a mechanism for associating tables with existing GeoPackage feature or attribute tables. Among other things, related tables can be used to establish a many-to-many relationship between features and multimedia files. This extension was originally developed by OGC Member Compusult and was refined during an OGC Interoperability Experiment.

Community Extensions

The following are GeoPackage extensions that are not currently official extensions to the GeoPackage Encoding Standard. These extensions may be developed as part of OGC Innovation Program activities or completely outside of OGC activities. Using a community extension (even if it is proprietary) may be preferable to developing your own extension. Extensions that have widespread adoption may be considered for OGC approval.

Warning

The extensions listed in this section have not not been adopted by the OGC may only be used and/or implemented with the following caveats:

  • Recognize that the extension is a draft and as such may change without notice at any time;

  • Beware that if such a change occurs, you bear the full responsibility for revising your implementation to be compatible/consistent with the updated specification;

  • Use at your own risk;

  • Community extensions MUST NOT be specified in any procurement language unless that procurement is specifically focused on improving that extension.

Vector Tiles

These extensions define how to store tiled vector (aka vector tiles) to be stored in a GeoPackage. These extensions were developed during the OGC Vector Tiles Pilot and OGC Vector Tiles Pilot Phase 2.

Vector Tiles Extension defines how vector tiles can be stored in a GeoPackage.

Mapbox Vector Tiles Extension defines how vector tiles can be stored in the MapBox Vector Tiles format.

GeoJSON Vector Tiles Extension defines how vector tiles can be stored in the GeoJSON format.

Vector Tiles Attributes Extension defines how correlation between features and the tiles containing them using the GeoPackage Related Tables Extension.

Styling and Symbology Extension

This extension defines how styles and symbols of arbitrary formats can be stored in a GeoPackage.

OWS Context Extension

This extension defines how OWS Contexts can be stored in a GeoPackage.

Metadata Profiles

This extension allows for metadata profiles to be defined as extensions with a scope of "metadata". See below for examples.

Generalized Tables

This extension defines the relationship between base tables and generalized tables. The objective here is to be able to define generalized tables in a way that maximizes client performance.

Index Tables

This extension defines describes how a GeoPackage can serve as an index for other GeoPackages. One use of this is to define a set of segment GeoPackages, for performance reasons.

3D Tiles

This extension represents 3D data in a GeoPackage using a relational data model in SQLite that mirrors the 3D Tiles spatial data structure.

Semantic Annotations

A semantic annotation is a semantically grounded term that can be applied to another concept. Use of this extension enables semantic annotations to be applied to any business object in the current GeoPackage.

QGIS Map Styling Information

This extension stores QGIS projects with their resources like images in print templates in a GeoPackage file.

Feature Tile Link

This extension creates a link between a feature and tile table. A tile table containing tiles that represent or were generated from features can be linked to the feature table. The link enables feature queries when dealing with tiles representing features.

Geometry Index

This extension defines a SQLite version agnostic way to index user feature table geometries by their bounding envelopes for fast ranged searches. Mobile implementations, including Android and iOS, use earlier versions of SQLite and can not rely on the R*Tree Module implementation. Each geometry in a feature table is indexed by its geometry id and x, y, z, and m value ranges. The geometry index can be queried for fast retrieval of only geometries overlapping a desired envelope bounds.

OWS Context (GeoCat)

The main goal of the extension is to store context and styling of a mapping project as part of a GeoPackage file containing the data it refers to. The extension aims at similar use cases as presented in The USGS GeoPackage Styling Experiment in Testbed 12, however the approach is a bit different.

Metadata Profiles

The following metadata profiles were developed during OGC Testbed-16:

  • Gemini metadata is an ISO 19115 profile for UK GEMINI (GEo-spatial Metadata INteroperability Initiative) metadata elements.

  • Dataset Provenance metadata uses OWS Context to describe a specific dataset (i.e., GeoPackage table) or an entire GeoPackage. Hierarchical metadata is used to allow, for example, the WPS request to be specified along with the WFS requests needed to produce a GeoPackage.

  • Common Operational Picture metadata uses OWS Context to describe a map view including layers and styles.

The following metadata profiles were developed during OGC Testbed-15:

Deprecated Extensions

Aspatial Support (Legacy)

Support for aspatial data (ie. SQLite tables/views without a geometry column), potentially with associated metadata. This was used in GDAL 2.0 and GDAL 2.1, before the introduction of the 'attributes' data_type of GeoPackage v1.2. Starting with GDAL 2.2, 'attributes' will be used by default instead.

OWS Context (Image Matters) (Deprecated)

This extension, part of a joint effort between the GeoPackage SWG and OWS Context SWG, is an attempt to define an SQL-native encoding for OWS Context. It is incomplete, lacking a proper encoding for style information. It was considered of the Vector Tiles Pilot and Testbed-15 but is not under active consideration at this time. Another version is at https://gitlab.com/imagemattersllc/geopackage-metadata-profiles/blob/master/extensions/6-owce.adoc.

User Defined Geometry Types (Deprecated)

Enables encoding of additional user-defined geometry types in ExtendedGeoPackageBinary format in an Extended GeoPackage. Removed from GeoPackage 1.2 due to interoperability reasons.

Geometry Type Triggers (Deprecated)

Geometry type triggers prevent the storage of geometries of types that are not assignable from the geometry types specified in the gpkg_geometry_columns table in the geometry columns of the specified tables. Removed from GeoPackage 1.2 due to interoperability reasons.

Geometry SRS ID Triggers (Deprecated)

Geometry SRS_ID triggers prevent the storage of geometries with spatial reference system identifiers that are not specified in the gpkg_geometry_columns table in the geometry columns of the specified tables. Removed from GeoPackage 1.2 due to interoperability reasons.