GeoPackage is a universal file format for geodata. It’s open, standards-based, application and platform independent, and self-describing. And since its built on top of SQLite, all you need to know is SQL to use GeoPackages on any desktop or mobile OS on the market.
GeoPackage is the modern alternative to formats like SDTS and Shapefile. At it’s core, GeoPackage is simply a SQLite database schema. If you know SQLite, you are close to knowing GeoPackage. You get all the performance of a spatial database along with the convenience of a file-based data set that can be emailed, shared on a USB drive or burned to a DVD.
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.
Great for Mobile
Mobile device users who require map/geospatial applications and operate in disconnected or limited network connectivity environments are challenged by not having open, available geospatial data to support these applications.
Further challenging mobile device users are the limited storage available and the likelihood that each map/geospatial application will require its own potentially proprietary geospatial data store.
These separate application-specific data stores may contain the same geospatial data, wasting the limited storage available, and requiring custom applications for data translation, replication, and synchronization to enable different apps to share the same world view.
Great for cross-platform sharing
In addition, many existing geospatial data stores are platform-specific, which means that users with different platforms must translate data to share it.
GeoPackage is built upon SQLite, and can therefore be used easily by a broad spectrum of software developers in a consistent way on every major mobile and desktop platform in the market. Adding GeoPackage support to an app can be done by any SQL-savvy programmer. Geo-specific features do depend upon extensions to SQLite you can get from libgpkg, or build yourself using the standard SQL API.