Ho caricato con successo un sacco di shapefile in un database PostGIS. Vorrei essere in grado di recuperare la geometria e i livelli specifici come file dxf basati su query SQL.
Sto usando PostGIS, GDAL, PostgreSQL e Python dalla suite OSGeo4W su Windows.
Immagino che dovrei usare ogr2ogr un po 'come questo:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
ma quando lo faccio con i valori appropriati, ottengo una serie di errori come questo:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
Il risultato è un errore per ogni colonna di attributo nel livello some_table
Ma ottengo un file dxf.
Se ho già creato un file .dxf e rieseguo il comando sopra (inclusa l' -overwrite
opzione), ottengo invece questo errore:
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
Ho già verificato per accertarmi che la GDAL_DATA
variabile ambientale sia impostata correttamente. (a C:\OSGeo4W\share\gdal
)
È certamente possibile che stia affrontando questa attività in modo errato perché sono nuovo a tutti questi strumenti, quindi sono aperto a tutti i suggerimenti e suggerimenti su come creare file .dxf dai dati GIS memorizzati in PostgreSQL sulla base di query SQL.