Shapefile war gestern: GeoPackage!

Das GeoPackage (*.gpkg) ist ein relativ neues und ausgesprochen leistungsstarkes Geodatenformat 1). Es kommt augenscheinlich als einfache (Geo-)Datei daher (wie viele andere: GeoJSON, (Shapefile), KML/KMZ…), tatsächlich handelt es sich aber um eine „Ein-Datei-Datanbank“ auf SQLite3-Basis (Ähnlich: SpatialLite). Das heißt, GeoPackage vereint alle Vorteile einer GeoDatenbank mit dem Komfort einer einzelnen, kleinen und leicht austauschbaren Datei. In einer einzigen *.gpkg lassen sich sowohl (multi-)Linien, (multi-)Punkte, (multi-)Polygone sowie Rasterdaten und geometrielose Tabellen und Texte abspeichern. Es gibt dabei kaum Einschränkungen:

Alles an einem Ort!
  • Zeichen- und Feldlängen: unbegrenzt
  • Dateigröße: unbegrenzt
  • Anzahl der darin enthaltenden Objekte: unbegerenzt
  • Austauschbarkeit: Offener Standard, daher mit OpenSource-Werkzeugen für jederman verwendbar

Aber damit nicht genug. Das GeoPackage hat weitere Vorteile:

  • Verwendbar als vereinfachter „Ersatz“ für „echte“ Geodatenbanken (wie PostGIS, Oracle…)
  • SQL-Befehle und -Abfragen
  • Komprimiert und daher klein und leicht (kleiner als Shapefile)
  • Schnell beim Laden, Verschneiden, bei Abfragen etc.
  • Informationen zum KBS und den Styles enthalten
  • Speichert die Metadaten aller Layer

SQL-Abfragen im GeoPackage

Da es sich beim GeoPackage nun einmal um eine Datenbank handelt, kann man entsprechend auch Abfragen mit Hilfe von SQL-Befehlen erzeugen und daraus neue Layer oder Sichten erstellen. Hier ein Beispiel:

SELECT t2.Name, t2.Peoples, ST_Distance(t1.geom, t2.geom)
AS Distance FROM Towns AS t1, Towns AS t2
WHERE t1.Name = 'Firenze' AND ST_Distance(t1.geom, t2.geom) < 10000;

GeoPackage: Standardformat in QGIS3

QGIS kann schon lange mit GPKG's umgehen und wird jetzt in QGIS3 offizell als Standard und bevorzugtes Format angesehen - das merkt man deutlich! Und es funktioniert! Das Arbeiten mit einer *.gpkg in QGIS ist kinderleicht und stellt einen selten vor Konflikte - anders als beim ShapeFile. 

Ziehen Sie doch einmal in QGIS3 mit Drag'n'Drop einen beliebigen Layer aus dem Layerfenster auf eine GeoPackage-Datei im Browserfenster. Der Layer wird sofort importiert und funktioniert hier mit all den Vorzügen einer Geo-Datenbank. So hat man im Handumdrehen ein stark beschränktes ShapeFile in eine Datenbank integriert!

Man kann ein Shapefile in ein GeoPackage importieren. Man kann aus dem GeoPackage heraus auch ShapeFiles erstellen (exportieren) - es muss aber beachtet werden, dass ein Shapefile nur 10 Zeichen in den Attributnamen zulässt und max. 2GB groß sein darf!

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen: