He cargado con éxito un montón de shapefiles en una base de datos PostGIS. Me gustaría poder recuperar geometría y capas específicas como archivos dxf basados en consultas SQL.
Estoy usando PostGIS, GDAL, PostgreSQL y Python del paquete OSGeo4W en Windows.
Me imagino que debería usar ogr2ogr un poco como esto:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
pero cuando hago eso con los valores apropiados, obtengo una serie de errores como este:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
Resultando en un error para cada columna de atributo en la capa some_table
Pero obtengo un archivo dxf.
Si ya he creado un archivo .dxf y vuelvo a ejecutar el comando anterior (incluida la -overwrite
opción), aparece este error:
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
Ya lo he verificado para asegurarme de que la GDAL_DATA
variable ambiental esté configurada correctamente. (a C:\OSGeo4W\share\gdal
)
Ciertamente es posible que esté abordando esta tarea incorrectamente porque soy nuevo en todas estas herramientas, por lo que estoy abierto a cualquier sugerencia y consejo sobre cómo hacer archivos .dxf a partir de datos SIG almacenados en PostgreSQL basados en consultas SQL.