Я успешно загрузил кучу шейп-файлов в базу данных PostGIS. Я хотел бы иметь возможность получать определенную геометрию и слои в виде файлов DXF на основе запросов SQL.
Я использую PostGIS, GDAL, PostgreSQL и Python из пакета OSGeo4W для Windows.
Я представляю, что я должен использовать 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
)
Вполне возможно, что я неправильно подхожу к этой задаче, потому что я новичок во всех этих инструментах, поэтому я открыт для любых предложений и советов о том, как создавать файлы .dxf из данных ГИС, хранящихся в PostgreSQL, на основе запросов SQL.