An open format for geospatial information
GeoPackage is a compact, portable, self-descriptive and open,
standards-based, platform independent and allowing geospatial information transfer
The GeoPackage standard is composed of a set of conventions to store in
a SQLite database the following items:
- vector entities
- matrixes from images and rasters tiles with different scales
- attributes (non-spatial data)
To put it clearly, a GeoPackage is the SQLite container and the encodingstandard, GeoPackage governs the rules and requirements of the content stored in a GeoPackage container. The GeoPackage standard defines the diagram of a GeoPackage including table definitions, assertions of integrity, format limitations and content constraints. Thecontent required and taken in charge of a GeoPackage is entirely defined in thestandard. These features are reframed on a common basis and the extension mechanism provides to the developers a way to include additional features in their GeoPackages.
Since GeoPackage is a database container, it takes in charge its direct
use by different GIS software. This means that the GeoPackage data can be
consulted and updated in a “native” storage format without intermediate format conversion.
The GeoPackages complies with the requirements of the standard without having
to implement specific extensions from the seller are interoperable in all
environments IT corporate and personal. The GeoPackages are particularly useful
for mobile devices such as mobile phones and tablets in the communication
environments where connectivity and bandwidth are limited .
Geopackage in QGis
If you are, already, using data bases Spatialite in QGis you will wonder
what novelty does Geopackage bring: basically the ability to store rasters in a
If, on the other hand, you are used to work with shapefiles (SHP), we
have already published several articles that explain the benefits of working
- Database Tutorial SpatiaLite under QGis 2.8 Wien
- Queries and views of
a SpatiaLite base in QGis 2.8
- SpatiaLite database table management database with
- Import tables into a SpatiaLite database with QGis 2.8
- Create a SpatiaLite database with QGis 2.8
- Python Recipes to access Postgis vector and Spatialite
The Geopackage format behaves exactly as Spatialite and QGis by giving you
new possibilities .
Therefore, if you change from shapefiles to SQLite, opt for Geopackage rather
How to create a Geopackage with QGis 3.4
GeoPackage is a standard OGC data package that can store different types
of spatial data types such as points, polylines and polygons. We can save
several layers in just one GeoPackage ( .gpkg ) file. It is an excellent way to
store and organize your spatial data with QGIS. When you save your spatial files
to GeoPackage format you can easily find them without having to browse and to
dig in all your records.
Using Geopackage to store our spatial data has many advantages. Our data
will be placed in a centralized location. By using this method we can reduce
the cluttering that occurs when we are dealing with hundreds of files. It is
easier to transfer huge amounts of layers in a single geopackage .
To create a géopackage layer in QGIS it will do just to:
2-Go to Layer | Create a layer | New geopackage layer
Type the name of the new GeoPackage layer, give a name to the table and
possibly select a geometry in the list.
If you expect to import existing layers in your Geopackage, you can
click OK. Your Geopackage will be created and empty, well, almost. You will have
this empty table but with the possibility of erasing it at any time.
If, on the other hand, you want to start creating a true working layer,
you will use the block “New field” from the window to define your table columns.
Your Geopackage file is created. In order to use
it in QGis you must connect to this new database:
new database appears in the explorer as follows:
How to fill a Geopackage database
You have three methods for adding layers to a Geopackage file:
Creation from scratch
You will add an empty table by defining the
fields (columns) manually. You will repeat the steps described above when
creating the Geopackage (Layer menu> Create a layer -> New Geopackage layer).
Once the creation window opens, use the … button to point the geopackage file
where you want to create a new layer:
in the necessary fields (table name, geometry , … ) as well as the definition
of your columns . When you click OK you will get the following message:
Add a new layer, this layer will then added to the list of layers of your
Saving from an existing layer
You can export to a geopackage file an alreadyexisting layer. You will select your layer in the panel “Layers” andExport ->SaveAs …entities
the opening window, in the formats list, select Geopackage
File Name, click the … button and point to your Geopackage file.
Fill in the necessary fields and click OK. The layer is imported to
your Geopackage .
Importing an existing layer with DB Manager
The DB Manager allows you to totally manage your data and databases.
To open Database-> DB Manager
In the DB Manager window, to import an existing layer in your geopackage
- click in the panel Data providers on your Geopackage file
- click on the Layer / file import tool
fill in the
fields for Importalayervector window
Important! Check the SRC source and SCR target boxes and verify
that the CBC corresponds to what you wish . Check the Create a spatial index
box if you in want one. If you fail to add this information in this step , it
will be very , very complicated to catch up …
Hi, do you know what happens to text put into the “description” field in the save to geopackage dialogues. Seens very useful to be able to add a layer description, but whatever I type there just seems to vanish, I can’t find any way to read it once saved, assuming it actually does get saved.
You will not see these fields in the Database Manager if you open your geopackage with the “geopackage option”.Open your geopackage using the “Spatialite” option. You will then see the gpkg tables and in particular gpkg_contents.Your description text is saved there.But you’re right. Right now you can’t reuse it. Maybe in future versions….
Thanks, good to see that it really does get saved into the geopackage. I’ve posted a feature request to make it easier to see.
Feels good to be free from ShapeFile. I’m porting to geopackage.
Thanks for the breakdown.