GeoPackage is an open, standards-based, platform-independent, portable, self-describing, compact format for transferring geospatial information.
The GeoPackage specification describes a set of conventions for storing the following within an SQLite database:
These capabilities are built on a common base and an extension Mechanism is described to provide implementors a way to include additional functionality in their GeoPackages.
Since a GeoPackage is a database, it supports direct use, meaning that its data can be accessed and updated in a "native" storage format without intermediate format translations. GeoPackages are interoperable across all enterprise and personal computing environments, and are particularly useful on mobile devices like cell phones and tablets in communications environments with limited connectivity and bandwidth.
This raster tile pyramid GeoPackage was created with free imagery obtained from Geomatics Yukon, and covers an approximately 30 square-kilometer area centered on the City of Whitehorse. The OGC GeoPackage Plugfest reference implementation uses the Web Mercator (EPSG:3857) coordinate reference system, 256x256 pixel tiles, contains zoom levels 11-18, and is 135.25MB in size.
Q How did GeoPackage come about?
A It was designed and prototyped following a multi-year, open process of requirements testing and public input.
Q Can GeoPackage be extended?
A It is designed for extension. If you need more than the core GeoPackage feature set, join OGC's open process to standardize community-tested enhancements. Change requests may be submitted at http://www.opengeospatial.org/standards/cr. For more information on the standards working group, go to http://www.opengeospatial.org/projects/groups/geopackageswg.
Q Does GeoPackage replace Shapefile?
A It could but it doesn’t have to. If all you need is simple exchange and display then GeoPackage may be overkill and something like GeoJSON may be more appropriate. If you are looking for database capabilities like random access and querying then GeoPackage is a platform-independent, vendor-independent choice. GeoPackage was carefully designed this way to facilitate widespread adoption and use of a single simple file format by both commercial and open-source software applications — on enterprise production platforms as well as mobile hand-held devices.
Q What is the intended content model for the metadata tables?
A We deliberately left this open-ended. We expect that communities of interest will produce profiles of GeoPackage that will specify the metadata (content and format) appropriate for their domain.
Q How are GeoPackage files shared between apps on iOS and Android devices?
A 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.
Q What were the reasons to go with SQLite, when OGC has invested heavily in PostGIS?
A OGC has not invested in PostGIS, rather PostGIS implements OGC standards. PostGIS is 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 specifying a technology. This is unusual for OGC and the decision was not made lightly, but practicality and ease of implementation won out over standards purity. And we are 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.
Q What is the relationship between GeoPackage and SpatiaLite?
A SpatiaLite was a major influence on the vector portions of GeoPackage but after extensive discussions, the working group chose to diverge from the SpatiaLite format in a few subtle ways. SpatiaLite now supports GeoPackage as of version 4.2.0.
Q What is the relationship between GeoPackage and MBTiles?
A MBTiles was a major influence on tile support in GeoPackage. In addition to being an international standard, GeoPackage differs from MBTiles in a few ways.