GDAL-Integration
Die Spatial-Erweiterung integriert die Übersetzungsbibliothek GDAL, um räumliche Daten aus einer Vielzahl georäumlicher Vektordateiformate zu lesen und zu schreiben. Siehe die Dokumentation zur Tabellenfunktion st_read für die praktische Verwendung.
Damit Benutzer keine zusätzlichen Abhängigkeiten auf ihrem System einrichten und installieren müssen, bündelt die Spatial-Erweiterung eine eigene Kopie der GDAL-Bibliothek. Das bedeutet auch, dass die GDAL-Version von Spatial nicht die neueste verfügbare Version sein muss und nicht alle Dateiformate unterstützen muss, die eine systemweite GDAL-Installation sonst bereitstellen würde. Im Abschnitt zur Tabellenfunktion st_drivers können Sie prüfen, welche GDAL-Treiber derzeit verfügbar sind.
GDAL-basierte COPY-Funktion
Die Spatial-Erweiterung ermöglicht nicht nur den Import georäumlicher Dateiformate (über die Funktion ST_Read), sondern auch den Export von DuckDB-Tabellen in verschiedene georäumliche Vektorformate über eine GDAL-basierte COPY-Funktion.
Um beispielsweise eine Tabelle in eine GeoJSON-Datei mit generierten Bounding Boxen zu exportieren, können Sie die folgende Abfrage verwenden:
COPY ⟨table⟩ TO 'some/file/path/filename.geojson'WITH (FORMAT gdal, DRIVER 'GeoJSON', LAYER_CREATION_OPTIONS ('WRITE_BBOX=YES', 'DESCRIPTION=a sample geojson'), SRS 'EPSG:4326');Verfügbare Optionen:
FORMAT: ist die einzige erforderliche Option und muss aufGDALgesetzt werden, um die GDAL-basierte Copy-Funktion zu verwenden.DRIVER: ist der GDAL-Treiber für den Export. Verwenden SieST_Drivers(), um die Namen aller verfügbaren Treiber aufzulisten.GEOMETRY_TYPE: der Geometrietyp für den erzeugten Layer, der an den GDAL-Treiber übergeben wird. Einer vonPOINT,LINESTRING,POLYGON,MULTIPOINT,MULTILINESTRING,MULTIPOLYGONundGEOMETRYCOLLECTION.LAYER_NAME: weist dem neuen Layer einen alternativen Namen zuLAYER_CREATION_OPTIONS: Liste von Layer-Erstellungsoptionen, die an den GDAL-Treiber übergeben werden. Verwenden Sie Klammern, um eine Liste von Optionen zu übergeben. Siehe die GDAL-Dokumentation für den verwendeten Treiber für eine Liste verfügbarer Optionen.DATASET_CREATION_OPTIONS: Liste von Dataset-Erstellungsoptionen, die an den GDAL-Treiber übergeben werden. Verwenden Sie Klammern, um eine Liste von Optionen zu übergeben. Siehe die GDAL-Dokumentation für den verwendeten Treiber für eine Liste verfügbarer Optionen.SRSoderCRS: Setzt ein räumliches Referenzsystem als Metadaten für den Export. Das kann ein WKT-String, ein EPSG-Code oder ein proj-String sein – im Wesentlichen alles, was Sie normalerweise an GDAL übergeben können. Beachten Sie, dass dabei keine Reprojektion der Eingabegeometrie durchgeführt wird; es werden lediglich die Metadaten gesetzt, sofern der Zieldreiber das unterstützt.
Einschränkungen
Beachten Sie, dass die GDAL-Integration nur vektorbasierte Treiber unterstützt. Das Lesen und Schreiben von Rasterformaten wird nicht unterstützt.