Skip to main content

The OGC GeoPackage standard — purpose, history, and specification structure

GeoPackage is an open, standards-based format for storing and sharing geospatial data. At its core, it's a SQLite database container designed specifically for geographic information. Think of it as a single file that can hold everything you need for a GIS project: vector features, raster tiles, attributes, and even metadata — all in one portable package.

For Danish municipalities working with QGIS, GeoPackage offers a modern alternative to older formats like Shapefiles. Instead of managing multiple files for a single dataset (.shp, .dbf, .shx, .prj), you get one .gpkg file that contains everything.

Purpose and advantages

The Open Geospatial Consortium (OGC) developed GeoPackage to address several limitations in existing geospatial data formats:

Portability: A single GeoPackage file contains complete datasets with geometry, attributes, styling, and metadata. This makes sharing data between departments or with consultants straightforward — just send one file.

No attribute limitations: Unlike Shapefiles, which restrict field names to 10 characters and have limited support for Danish characters (æ, ø, å), GeoPackage uses UTF-8 encoding and supports modern database field naming conventions.

Multiple layers: Store multiple vector and raster layers in a single file. A municipal planning project might include cadastral parcels, zoning boundaries, building footprints, and aerial imagery all in one GeoPackage.

Platform independence: Built on SQLite, one of the most widely deployed database engines in the world, GeoPackage works across Windows, macOS, Linux, and mobile platforms without proprietary software.

Scalability: While lightweight enough for small datasets, GeoPackage can handle large datasets efficiently through spatial indexing and optimized database structures.

Brief history

The GeoPackage standard emerged from practical needs in the geospatial community. In the late 2000s, organizations needed a modern, mobile-friendly format that could work offline and didn't depend on constant server connections.

The OGC released GeoPackage 1.0 in 2014 after several years of development. The standard has since evolved through community input and real-world use:

  • Version 1.0 (2014): Initial release establishing the core specification
  • Version 1.1 (2015): Added support for additional raster tile formats
  • Version 1.2 (2017): Introduced extensions for working with related tables and attributes
  • Version 1.3 (2020): Enhanced metadata handling and clarified existing specifications
  • Version 1.4 (2024): Added support for Cloud-Optimized GeoPackages and improved performance features

QGIS has supported GeoPackage since version 2.12 (2015) and has progressively improved its implementation. Today, QGIS treats GeoPackage as a first-class format, often recommending it as the default for new projects.

Structure of the specification

The OGC GeoPackage specification is organized into several key components:

Core specification: This defines the fundamental requirements for a valid GeoPackage, including the SQLite database structure, required tables, and how geometry is encoded. The core ensures that any software claiming GeoPackage support can read the basic structure.

Extension mechanism: GeoPackage uses a formal extension system that allows additional capabilities while maintaining compatibility. Extensions must be documented in a registry table within the GeoPackage file itself, making files self-describing.

Common extensions: The specification includes several registered extensions that add functionality:

  • Tiled gridded coverage data (raster elevation models)
  • Schema extensions for database constraints
  • Metadata extensions for comprehensive data documentation
  • Related tables extension for complex relationships

Encoding standards: The specification references other OGC standards for how spatial data is encoded, particularly Simple Features for vector geometry and Well-Known Binary (WKB) format.

How it fits into Danish municipal workflows

Danish municipalities increasingly adopt GeoPackage because it aligns with requirements for data sharing under EU directives like INSPIRE and supports the digital transformation initiatives in Danish public administration. The format's openness ensures long-term accessibility of public geographic data, while its technical capabilities support modern GIS workflows in QGIS.

The format is particularly valuable when municipalities need to exchange data with consultants, share datasets across departments, or archive projects. A single GeoPackage can preserve an entire analysis or planning project, making it easier to document decisions and maintain institutional knowledge.

In the following sections, we'll explore the technical details of the GeoPackage structure, how to work with it in QGIS, and best practices for Danish municipal applications.

Updated on Jan 20, 2026