Z powodzeniem załadowałem kilka plików kształtów do bazy danych PostGIS. Chciałbym móc pobierać określoną geometrię i warstwy jako pliki dxf na podstawie zapytań SQL.
Używam PostGIS, GDAL, PostgreSQL i Python z pakietu OSGeo4W w systemie Windows.
Wyobrażam sobie, że powinienem używać ogr2ogr trochę tak:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
ale kiedy robię to z odpowiednimi wartościami, pojawia się szereg błędów takich jak ten:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
Powoduje błąd dla każdej kolumny atrybutu w warstwie some_table
Ale dostaję plik dxf.
Jeśli już utworzyłem plik .dxf i ponownie uruchomiłem powyższe polecenie (w tym -overwrite
opcję), zamiast tego pojawia się ten błąd:
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
Sprawdziłem już, aby upewnić się, że GDAL_DATA
zmienna środowiskowa jest ustawiona poprawnie. (do C:\OSGeo4W\share\gdal
)
Z pewnością możliwe jest, że podchodzę do tego zadania niepoprawnie, ponieważ jestem nowy we wszystkich tych narzędziach, dlatego jestem otwarty na wszelkie sugestie i wskazówki dotyczące tworzenia plików .dxf z danych GIS przechowywanych w PostgreSQL na podstawie zapytań SQL.