我已经成功地将一堆shapefile加载到PostGIS数据库中。我希望能够基于SQL查询以dxf文件的形式检索特定的几何图形和图层。
我正在使用Windows上OSGeo4W套件中的PostGIS,GDAL,PostgreSQL和Python。
我在想应该像这样使用ogr2ogr:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
但是当我使用适当的值执行此操作时,会出现一系列如下错误:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
导致该层中每个属性列都出错,some_table
但是我确实得到了dxf文件。
如果已经创建了.dxf文件,并且重新运行了上面的命令(包括该-overwrite
选项),则会收到此错误:
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
我已经检查确保GDAL_DATA
环境变量设置正确。(到C:\OSGeo4W\share\gdal
)
我可能不正确地完成此任务,因为我是所有这些工具的新手,因此我愿意接受有关如何根据SQL查询从PostgreSQL中存储的GIS数据制作.dxf文件的任何建议和技巧。