Ich habe erfolgreich eine Reihe von Shapefiles in eine PostGIS-Datenbank geladen. Ich möchte in der Lage sein, bestimmte Geometrien und Ebenen als DXF-Dateien basierend auf SQL-Abfragen abzurufen.
Ich verwende PostGIS, GDAL, PostgreSQL und Python aus der OSGeo4W-Suite unter Windows.
Ich stelle mir vor, dass ich ogr2ogr ein bisschen so verwenden sollte:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
Aber wenn ich das mit den entsprechenden Werten mache, erhalte ich eine Reihe solcher Fehler:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
Dies führt zu einem Fehler für jede Attributspalte in der Ebene. some_table
Ich erhalte jedoch eine DXF-Datei.
Wenn ich bereits eine DXF-Datei erstellt habe und den obigen Befehl (einschließlich der -overwrite
Option) erneut ausführe, wird stattdessen der folgende Fehler angezeigt :
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
Ich habe bereits überprüft, ob die GDAL_DATA
Umgebungsvariable richtig eingestellt ist. (zu C:\OSGeo4W\share\gdal
)
Es ist durchaus möglich, dass ich mich dieser Aufgabe falsch nähere, da ich mit all diesen Tools noch nicht vertraut bin. Daher bin ich offen für Vorschläge und Tipps zum Erstellen von DXF-Dateien aus GIS-Daten, die in PostgreSQL basierend auf SQL-Abfragen gespeichert sind.