Tôi đã tải thành công một loạt các shapefiles vào cơ sở dữ liệu PostGIS. Tôi muốn có thể truy xuất các lớp và hình học cụ thể dưới dạng tệp dxf dựa trên các truy vấn SQL.
Tôi đang sử dụng PostGIS, GDAL, PostgreSQL và Python từ bộ OSGeo4W trên Windows.
Tôi đang tưởng tượng rằng tôi nên sử dụng ogr2ogr một chút như thế này:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
nhưng khi tôi làm điều đó với các giá trị phù hợp, tôi gặp một loạt lỗi như thế này:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
Kết quả là một lỗi cho mỗi cột thuộc tính trong lớp some_table
Nhưng tôi nhận được một tệp dxf.
Nếu tôi đã tạo tệp .dxf và tôi chạy lại lệnh ở trên (bao gồm -overwrite
tùy chọn), tôi sẽ gặp lỗi này:
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
Tôi đã kiểm tra để đảm bảo rằng GDAL_DATA
biến môi trường được đặt chính xác. (đến C:\OSGeo4W\share\gdal
)
Chắc chắn rằng tôi đang tiếp cận nhiệm vụ này không chính xác vì tôi chưa quen với tất cả các công cụ này, vì vậy tôi mở cho bất kỳ đề xuất và mẹo nào về cách tạo tệp .dxf từ dữ liệu GIS được lưu trữ trong PostgreQuery dựa trên các truy vấn SQL.