GeoPackage

an open format for geospatial information


GeoPackage is the modern alternative to formats like Shapefile and TAB. Its SQLite-based format efficiently stores and transfers geographic vector features and image tiles.

About GeoPackage


GeoPackage is an efficient cross-platform file format for storing and transferring geospatial information. It can handle feature data: points, lines and polygons with associated attribute information. For example you can store a table of roads, which includes the line of where it runs in the world as well as attributes like speed limit and number of lanes. A GeoPackage can also contain 'tiles', the squares of information that load in a web map, so you can transfer the data or use it offline.

GeoPackage builds upon the amazing work of SQLite, simply providing a standardized way of encoding geometries and structuring SQLite tables. This allows various software packages like ArcGIS, QGIS, Luciad and GDAL to easily interoperate with one another. It can be used directly as a local single file spatial database, enabling fast access to the information (try SpatiaLite to get started quickly). It also makes a great transfer format, generated by a service or desktop GIS and loaded in to another database or GIS.

The specification is a fully open standard, driven by a robust consensus process facilitated by the Open Geospatial Consortium. The specification is designed for extension to facilitate additional innovation. Pull requests and issue reporting are welcome on the GeoPackage Github repository, and please join us on the mailing list.

News & Updates


Latest development

GeoPackage support in SpatiaLite 4.2.0 (Release Candidate 1).

OGC Webinar

View the Webinar given recently by Directions Magazine in collaboration with OGC!

Official Standards Information

For all official, normative information on the GeoPackage standard, including PDF format download, see the OGC standards program GeoPackage page.

Implementation Guide

Coming soon!

Implementations


Luciad uses GeoPackage as the core format in their LuciadMobile product, and LuciadLightspeed also supports GeoPackage. They also released a freely available GeoPackage Viewer for Android. Also available is libgpkg, a small open source C library that allows developers to easily read/write GeoPackage compliant SQLite files.
Quantum GIS is the most used open source desktop GIS. It can read (but not write) GeoPackage Features as of version 2.4.0 (or any that upgrades to GDAL 1.11.0). GeoPackage Tiles will be available soon.

Envitia MapLink
Envitia's latest release of MapLink Pro, a suite of powerful SDK's, enables viewing of GeoPackage Tiles and Features, and can also package both on the fly through a Web Processing Service (WPS).
GDAL is an open source C library to translate data formats, used practically everywhere. It supports GeoPackage Features as of version 1.11.0. Tiles support was recently developed and will be available in GDAL 2.0. See the GDAL GeoPackage vector and raster documentation for more information.

GeoPackage is supported in SpatiaLite as of version 4.2.0. SpatiaLite is an open source library intended to extend the SQLite core to support fully fledged Spatial SQL capabilities.
Esri's GIS software is the most recognized in the world, and their ArcGIS for Desktop and Server 10.2.2 and above support GeoPackage Features. ArcGIS 10.3 for Desktop will add GeoPackage Tiles support, and ArcGIS Runtime SDK's for Android and Java 10.2.4 and above also support GeoPackage.

OpenJUMP PLUS is a Java-based desktop GIS, which can read vector data from OGC GeoPackage data files. See this blog post for documentation on how to read a GeoPackage.
GeoServer
GeoServer, a Java Server implementing WMS, WFS, WCS and WPS makes available a GeoPackage plugin that can handle both Tiles and Features. It can be the source of data for GeoServer, serving the data in the GeoPackage as a OGC web standards. GeoServer can also generate GeoPackages in a variety of ways (WMS or WFS output, or a WPS process). The plugin is still a 'community module', so it is unsupported and only available as a nightly build in the community section (download 2.5.x and 2.6.x)
GeoTools, a Java-based geospatial library, supports GeoPackage Tiles and Features as of version 11.0. Recent improvements also add support for GeoPackage R-Trees.

TerraGo integrated GeoPackage with their GeoPDF technology, and the resulting OpenGeoPDF will be available soon with their TerraGo Publisher® for ArcGIS®, TerraGo Composer® and TerraGo Toolbar.

Download Sample Data


Technology Data Set download
  • generated with GDAL (with -dev version to include spatial index support) thanks to Even Rouault
  • includes all geometry types supported by OGR (2d and 3d), all data types supported by OGR & GPKG, null properties, null geometries, a SRS different from the 3 required ones
  • also available is a Python script to generate this GeoPackage
Simple Sewers Test Data Set download
  • Courtesy of Augmented Technologies
  • Developed in OGC Testbed 10
  • Courtesy of Sigma Bravo and Compusult
  • Developed in OWS-9 and updated in OWS-10
  • Courtesy of Luciad
  • A March, 2014 extract from Geonames

Frequently Asked Questions


How are GeoPackage files shared between apps on iOS and Android devices?

OGC does not yet have a methodology or best practice for sharing files between apps on mobile devices. On Android there are a couple of different options. With some of the newer updates, Android has some interesting security constraints. There could be a nice solution using the ContentProvider API. On the iPhone, the security issues of the device cause a lot of problems for cross-app file sharing. Inherently, the device does not want applications to share data except in very narrowly defined ways. So data sharing between apps is not feasible at this time.

What were the reasons to go with SQLite, when OGC has invested heavily in PostGIS?

I wouldn't say OGC has invested in PostGIS. PostGIS implements OGC standards, but OGC as an organization hasn't put any time or effort into PostGIS. To us it's just like any other RDBMS implementation of the Simple Features spec. The primary use case for designing GeoPackage was mobile device use, and that's why SQLite was chosen as a platform. In this case OGC as an organization IS investing in a technology. This is unusual for us and we did not make the decision lightly, but practicality and ease of implementation won out over standards purity. And I'm happy to say we have yet to get any negative feedback on this decision -- probably because SQLite is considered more like a library than a standalone application.

Contact OGC GeoPackage

Copyright 2014 Open Geospatial Consortium. Some rights reserved.