======Shapefile war gestern: GeoPackage!====== {{:qgis:advanced:images:geopkg.png?100 }} Das [[https://www.geopackage.org/|GeoPackage]] (*.gpkg) ist ein relativ neues und ausgesprochen leistungsstarkes Geodatenformat(([[http://www.opengeospatial.org/standards/geopackage|OGC seit 2014]])). 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 [[wpde>sqlite|SQLite3]]-Basis (Ähnlich: [[https://de.wikipedia.org/wiki/SpatiaLite|SpatialLite]]). 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** sowie **Rasterdaten** und geometrielose **Tabellen** und **Texte** abspeichern. Es gibt dabei kaum Einschränkungen: [{{ :qgis:advanced:images:selection_058.png?direct|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 alle 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((Das GeoPackage ist bis zu 30% kleiner als das Shapefile und bis zu 50% kleiner als GeoJSON)) * 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:advanced:images:qgislovesgpkg.png?300}} 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!