Das GeoPackage (GPKG)

Ein GeoPackage (GPKG) ist ein offenes, plattformübergreifendes Format für geografische Informationen, das auf einer SQLite-Datenbank basiert. Es wurde entwickelt, um eine effiziente Speicherung und den Austausch von geografischen Daten zu ermöglichen.

Das GeoPackage (*.gpkg) ist ein 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-Datenbank“ auf SQLite3-Basis (Ähnlich: SpatiaLite). Das heißt, das 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, (Multi-)Kurven… sowie Rasterdaten, geometrielose Tabellen und Texte abspeichern. Es gibt dabei kaum Einschränkungen:

Alles an einem Ort!
  • Zeichen- und Feldlängen: unbegrenzt (nur durch SQLite-Limits beschränkt)
  • Dateigröße: Nahezu unbegrenzt (bis zu 140 TB, abhängig vom Dateisystem des OS)
  • Anzahl der darin enthaltenden Objekte: unbegrenzt
  • Austauschbarkeit: Offener Standard, daher mit OpenSource-Werkzeugen für alle verwendbar

Vorteile des GeoPackages

  • Einheitliches Format: Ein GeoPackage kann sowohl Vektor- als auch Rasterdaten in einer einzigen Datei speichern. Dies vereinfacht den Datenaustausch und die Verwaltung massiv.
  • Hohe Performance: Dank der SQLite-Basis bietet das GeoPackage eine schnelle Datenzugriffs- und Abfrageleistung (Indizierung).
  • Plattformunabhängig: Da es auf SQLite basiert, kann ein GeoPackage auf verschiedenen Betriebssystemen (Linux, macOS, Windows, Android) und Geräten verwendet werden.
  • Offener Standard: GeoPackage ist ein offener Standard, der vom Open Geospatial Consortium (OGC) entwickelt wurde; es gibt keine Lizenzkosten.
  • Effiziente Speicherung: Gekachelte Rasterdaten lassen sich komprimiert ablegen (PNG oder JPEG je Kachel). Vektordaten werden nicht komprimiert – eine GeoPackage-Datei ist bei gleichem Inhalt oft größer als ein Shapefile, dafür enthält sie alles in einer Datei.
  • Erweiterbarkeit: Nutzende können benutzerdefinierte Tabellen und Schemata hinzufügen (z.B. für QGIS-Projekteinstellungen innerhalb der DB).
  • Indexerzeugung: GeoPackage nutzt R-Tree Spatial Indizes, was die Abfragegeschwindigkeit auch bei Millionen von Objekten hoch hält.
  • FID (Feature ID): GeoPackage garantiert stabile, eindeutige Feature-IDs (Primary Keys).
  • Stile speichern: Es können mehrere QGIS-Stile direkt innerhalb eines GeoPackages gespeichert werden.
  • Zeichensatz und KBS: UTF-8 Encoding und Koordinatenbezugssysteme (KBS) sind fest definiert – das beendet das „Umlaute-Chaos“ alter Formate.

Mögliche Geometrietypen in einem GeoPackage

Geometrietyp Beschreibung
Punkt Ein einzelner Ort im Raum, definiert durch Koordinaten (x, y).
Linie Eine Verbindungslinie zwischen zwei oder mehr Punkten.
Polygon Eine Fläche, definiert durch einen geschlossenen Linienzug aus mindestens vier Koordinatenpaaren – das erste und das letzte sind identisch.
Multipunkt Eine Sammlung von Punkten (als ein Datensatz).
Multilinie Eine Sammlung von Linien (als ein Datensatz).
Multipolygon Eine Sammlung von Polygonen (als ein Datensatz).
Kurve Eine gekrümmte Linie (Circular String).
Multikurve Eine Sammlung von gekrümmten Linien.
Oberfläche (Surface) Eine komplexe Fläche, die aus mehreren Polygonen bestehen kann.
Geometriesammlung Eine Sammlung von verschiedenen Geometrien (Punkte, Linien, Polygone gemischt).

Anwendungsbeispiele für GeoPackage

  • Katasterverwaltung: Eine Behörde nutzt GeoPackage, um Flurstücksdaten (Polygone) und Eigentumsinformationen (geometrielose Tabellen) effizient in einer einzigen Datei zu speichern. Der Vorteil: Alle Daten sind stets synchron (Relationen) und können leicht ausgetauscht werden.
  • Umweltmonitoring: Ein Umweltüberwachungsprojekt speichert sowohl Echtzeit-Daten von Sensoren (z. B. Luftqualitätsmessungen als Punktdaten) als auch historische Wetterdaten (Tabellen ohne Geometrie) in einem GeoPackage. Die Kombination erlaubt SQL-basierte Analysen in einem einzigen, kompakten Dateiformat.
  • Krisenmanagement: Ein Team zur Katastrophenvorsorge speichert Evakuierungsrouten (Linien), Risikogebiete (Polygone) und Hilfseinrichtungen (Punkte) in einem GeoPackage. Im Notfall kann dieses Paket schnell an Einsatzkräfte (auch mobil) verteilt werden.
  • Landwirtschaft: Ein Beratungsunternehmen speichert Satellitendaten (Raster), Bodentypen (Polygone) und Wetterstationen (Punkte) in einem GeoPackage. Durch die Kombination können landwirtschaftliche Betriebe detaillierte Analysen durchführen.
  • Tourismus: Eine Gemeinde speichert Wanderwege (Linien), Sehenswürdigkeiten (Punkte) und Unterkunftsangebote (geometrielose Tabellen) in einem GeoPackage. Digitale Karten können so einfach an Gäste verteilt werden.

Vergleich: GeoPackage in der Praxis

Merkmal GeoPackage CSV + Shapefile PostgreSQL/PostGIS
Speicherung Alles in einer Datei (Vektor, Raster, Tabellen, Styles) Geometrien in Shapefile (min. 3 Dateien), Attribute teils ausgelagert In einer zentralen Server-Datenbank
Austausch Sehr einfach (Copy & Paste einer Datei) Umständlich (mehrere Dateien zwingend erforderlich) Komplex (Dump/Restore oder Schnittstelle nötig)
Logik Datenbank-Funktionalität (SQL, Views, Trigger) Keine Datenbankfunktionalität Sehr leistungsfähig (Enterprise Level)
Performance Hoch (Dank R-Tree Indizes) Niedrig (kein echter Raumindex bei CSV) Sehr hoch, aber aufwändige Einrichtung

Vergleich von GeoPackage mit anderen Formaten

Merkmal GeoPackage SpatiaLite ESRI® FileGDB ESRI® ShapeFile GeoJSON KML
Datenstruktur Vektor, Raster, Kacheln Vektor, (Raster via Extension) Vektor, Raster Nur Vektor Nur Vektor Vektor, (Raster als Overlay)
Dateigröße Unkomprimiert (Raster-Kacheln optional komprimiert) Unkomprimiert Komprimiert Groß (dBase IV Basis) Textbasiert (Groß) Textbasiert (oder KMZ gepackt)
Plattform Alle (Cross-Platform) Alle Eingeschränkt (Proprietär*) Alle Alle Alle
Open Source Ja Ja Nein Ja (Spezifikation) Ja Ja
Erweiterbarkeit Hoch Hoch Mittel Gering Mittel Mittel
Geometrien Alle (OGC Standard) Alle Alle Punkt, Linie, Polygon Punkt, Linie, Polygon Punkt, Linie, Polygon
Multi-Layer Ja Ja Ja Nein (1 Layer pro Datei) Nein (meist Single Feature Collection) Ja
Performance Hoch Hoch Hoch Mittel bis Schlecht Schlecht (Parsing) Schlecht
SQL-Fähig Ja (Vollständig) Ja Ja (Eingeschränkt via API) Ja (Eingeschränkt via OGR) Nein Nein
Encoding UTF-8 (Fix) UTF-8 UTF-8 Systemabhängig (Fehleranfällig!) UTF-8 UTF-8
Speicherart Datei (SQLite DB) Datei (SQLite DB) Verzeichnis (Ordnerstruktur) Dateipaket (min. .shp, .shx, .dbf) Textdatei Text-/XML-Datei

GeoPackage: das Standardformat von QGIS

QGIS kann schon lange mit GPKGs umgehen und behandelt das GeoPackage als Standard und bevorzugtes Format - 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.

Übrigens: Das GeoPackage ist auch mit ArcGIS Pro® kompatibel! Alte ArcMap Versionen benötigen ggf. Updates oder Erweiterungen.

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. 2 GB groß sein darf! Ein GeoPackage kennt diese Limits aus den 90er Jahren nicht.

Warum GeoPackage "State-of-the-Art" ist (IT-Perspektive)

Für IT-Profis, Data Scientists und GIS-Administratoren ist das GeoPackage weit mehr als nur ein Container. Es ist eine Serverless Database. Hier sind die harten Fakten, warum es technisch notwendig ist:

  • ACID-Konformität: Da GeoPackage auf SQLite basiert, ist es transaktionssicher (Atomicity, Consistency, Isolation, Durability). Bei einem Systemabsturz oder Stromausfall während eines Schreibvorgangs ist die Datenbank in der Regel geschützt. Ein Shapefile (dBase) ist danach oft korrupt.
  • Full SQL Support & Views: Man kann komplexe SQL-Abfragen (inklusive Joins und Aggregationen) direkt auf der Datei ausführen und sogar Views (virtuelle Layer) dauerhaft speichern. QGIS kann diese Views laden – das ermöglicht eine dynamische Datenhaltung ohne Redundanz.
  • No „Sidecar-Hell“: Das Versenden von Geodaten per E-Mail scheitert bei Shapefiles oft, weil Absendende vergessen, die zwingend notwendigen .shx oder .dbf Dateien anzuhängen. Ein GeoPackage ist eine Datei. Punkt.
  • Grenzen: Beim gleichzeitigen Schreiben durch mehrere Personen und auf Netzlaufwerken kommt es zu Sperrkonflikten – SQLite ist darauf nicht ausgelegt. Sobald mehrere Arbeitsplätze denselben Bestand bearbeiten, ist eine echte Datenbank (PostGIS) die bessere Wahl.
  • Direct Edit: Im Gegensatz zu CSV oder GeoJSON, die oft komplett in den Arbeitsspeicher geparst werden müssen, erlaubt GeoPackage das direkte, performante Bearbeiten (Update/Insert) riesiger Datensätze direkt auf der Festplatte.