======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!