Why you should use GeoPackage instead of Shapefile

For current cause I’m posting about the GeoPackage file format today.

Some of you may have asked yourself: ‘Why should I use GeoPackage?’, ‘Is GeoPackage better than Esri Shapefile?’ or even: ‘What is GeoPackage?!’

To cite Wikipedia: ‘An OGC GeoPackage (GPKG) is an open, non-proprietary, platform-independent and standards-based data format for geographic information system implemented as a SQLite database container.’

As you may have noticed, QGIS 3 switched from Shapefile to GeoPackage as default in most cases. Thus, rendering gets really fast. Loading, panning and zooming feel way more quicker with GeoPackage than with Shapefiles.

I tried to make a list with the cons and pros of both: GeoPackage and Esri Shapes. Perhaps it is more appropriate for you to switch to GeoPackage in the future.

 

Geopackage:

Pros:

  • OPEN
  • OGC standard
  • Broadly implemented (GDAL, QGIS, R, Python, Esri, …)
  • More lightweight than a real geodatabase, but as fast as a geodatabase
  • Everything is contained in a single file -> easier file management with GeoPackage than with Esri Shapefile
  • Faster work-flow than with Shapfiles.
  • There are nearly no limitations

Cons:

  • Relatively young (Encoding Standard (1.0) adopted by OGC in 2014). (But honestly, that’s not a real con…)
  • Raster support is relatively limited (personal experiences in QGIS)

 

ESRI Shapefile:

Pros:

Cons:

  • It is proprietary (closed and controlled by Esri)
  • It’s relatively sluggish
  • It’s a multifile format (.shp,.dbf.,.shx,.prj, encoding, other indexes, etc.) (everybody knows the problem with GIS newbies sending you solely the .shp… 😉 )
  • Attribute names are limited to 10 characters
  • No ability to store topologies in the files
  • Uses Esris WKT. Can result in inconsistencies
  • File size is restricted to 2 GB
  • Can only contain one geometry type per file
  • No real 3D support

 

As you see, there is no real reason to use still Shapefiles. Perhaps I could convince you to use GeoPackage instead of Esris stuff in the future. Personally, I would like to see more people I’m working with using GeoPackage. Of course, it’s not always useful to go with Geopackage; e.g. if you have huge datasets and want real DBMS capabilities, I would recommend to use PostGIS.
If you like GeoPackage, than share this information with your coworkers and collaborators!

The next days I will  give you a short tutorial on how to use GeoPackage in QGIS properly. So see you next time!

 

___

UPDATE, 2018-03-16: Thank you Andreas for the note. Similar or overlapping arguments can be found at schwitchfromshapefile.org (aka ‘Shapefile must die!’). If you are interested in other geodata formats compared to Esri shape, like GeoJSON, OGC GML, SpatialLite, CSV and OGC KML, also go and visit their site or cooperate with them on github.

About This Author

Simon is a research assistant in the field of remote sensing at Technical University of Munich (TUM). Currently he is working on methods to describe reed ecosystem parameters with the help of hyperpectral and LiDAR data. Besides geoinformatics he loves to do outdoor activities such as hiking and climbing.

10 Comments

You can post comments in this post.


  • First i am, with the the people from http://switchfromshapefile.org/ and the author we need a replacemant for the shapefile format.

    Second please Author if you copy the content from other, reference the original. Without your post is just a rip-off (plagiarism). And this copy is a bad copy, you reduced hard acceptable arguments against the shapefile to totally wrong arguments (e.g. no 3d support, a shapefile supports 3d in opposite to geopackage).

    Third geopackage can’t be a replacement for the shapefile format, because shapefile is an proprietary but open format which is technology neutral. You need just the white-paper for shape and dbase files and a programmer and you can easily read shapefiles on any platform in a few days. The geopackage recommendation is not technology neutral, it is bounded to the sqlite database implementation. To solve this dependency is a hard and expensive job, if you have to start from scratch.

    Andreas Bartels 2 years ago Reply


  • Dear Andreas Bartels from disy.net,

    we are always pleased about criticism in the comments, if it is justified.

    As far as I understand you in your English language, you have three points: (1) You consider this post as plagiarism. (2) You’re blaming me for using false arguments. (3) You believe that Geopackage cannot be a replacement for Shapefile.

    (1) I did not plagiarize or copy and paste anything here. All of the information is freely available on more or less official sites. The authors of http://switchfromshapefile.org/ also have collected the information from somewhere. Moreover, I am sure, that you do not have any association with the authors from http://switchfromshapefile.org/. These are open-minded people, as far as I can see – fighting for better GIS-world out there.

    (2) Please read the post again. Cannot find any false arguments… You are warmly invited to draw my attention again to wrong points (with a little more substance, please.)

    (3) Geopackage CAN be a full replacement (and even more) for Shapefiles. You write ‘shapefile is an proprietary but open format which is technology neutral’. That is only partially right. Per definition something cannot be ‘proprietary’ and ‘open’ at the same time. To cite wikipedia: “An open specification is a specification created and controlled, in an open and fair process, by an association or a standardization body intending to achieve interoperability and interchangeability. An open specification is not controlled by a single company or individual or by a group with discriminatory membership criteria.” https://en.wikipedia.org/wiki/Open_specifications

    So much for me to say. Now you know…
    One more note: We are not making ANY money with this blog, neither are we planning to do in the future. This is our hobby, solely. Anyway, we are publishing any of the comments here, because we believe in the positive effects of transparency.

    P.S. I have to admit: I copied the .png ‘I prefer geopackage’. But it’s under CC and it’s a meme – and good memes only become good memes if they are funny and broadly used… 😉

    Simon 2 years ago Reply


  • You write No real 3D support about shp.
    Of course the word “real” makes the idea fuzzy, but at least there is real(ly) the possibility to make and use a 3D shapefile, for instance in QGIS with the grass v.drape which load z data from a dem into a 2D shapefile, and then to use it , for instance with python, export it for instance to geojson and so on.
    And all this is as “real” as any other 3D definitions.
    Yours.

    arf 12 months ago Reply


  • I’ve been looking into GeoPackages for quite a while not. A warning for everyone getting enthusiastic: if you are working in a mixed environment, i.e. with people using ESRI ArcGIS / AcrGIS Pro, you are going to have a problem. GeoPackage is basically non-editable for the average GIS user in ESRI products.

    I pushed for changing our standard exchange and work format to GeoPackages, and I hit that wall, hard. As long as my colleagues, customers and contractors are using ArcGIS and ArcGIS Pro, we can’t use GeoPackages as a standard. And yes, ESRI claims to support this OGC standard. But as long as ESRI customers can’t edit GeoPackages like they can edit shapefiles, we would be going to shoot orusevles in the foot by switching to GeoPackages.

    ae 9 months ago Reply


    • I think this very much depends on the use case and the environment one is working in. I think that a general shift towards FOSS software and corresponding standards can be noticed. On the other hand, you are right that ArcGIS is really widespread in many areas. I basically just work in QGIS, R (sf) and Python (fiona), and I find geopackage to be a much more usable format compared to shapefiles. If I have to share the final product and someone is not happy with a .gpkg, it can easily be converted to .shp in a final step before sharing the file.

      Matthias 4 months ago Reply


  • Thanks for the post Simon. I’m making a video on geopackages at the moment and have included your post (along with a link). Please let m know if you’re happy with this and if you’d like to view it prior to release (on Tuesday) just let me know.

    Cheers.

    Oliver Burdekin 7 months ago Reply


  • fantastic points altogether, you simply won a new reader. What would you suggest
    about your put up that you just made some days in the past?
    Any positive?

    tefl Consulting 7 months ago Reply


  • Great post and even greater comments.

    I’m in love with your blog.

    Olagunju Nasir 4 months ago Reply


  • Hello Simon,

    I have question regarding Geodatabase. So, does QGIS have any concept of File GDB, Personal GDB and SDE.

    Regards,
    Kajal

    rana 3 weeks ago Reply


  • I am just at the start of my GIS learning and I am training myself on QGIS. And as per Simon post plus comments from various readers, I have decided that Geopackage format, is going to be file format of my choice. Pros and Cons for this as compared to shp., justify my choice.

    Godfrey Mchunguzi Oyema 3 weeks ago Reply


Post A Reply

*