J'ai réussi à charger un tas de fichiers de formes dans une base de données PostGIS. Je voudrais pouvoir récupérer une géométrie et des couches spécifiques sous forme de fichiers dxf basés sur des requêtes SQL.
J'utilise PostGIS, GDAL, PostgreSQL et Python de la suite OSGeo4W sous Windows.
J'imagine que je devrais utiliser ogr2ogr un peu comme ceci:
$ ogr2ogr -sql "SELECT * FROM some_table" -f "dxf" outputfile.dxf -overwrite "PG:dbname=mydb user=dbusername password=dbpassword"
mais quand je le fais avec les valeurs appropriées, j'obtiens une série d'erreurs comme celle-ci:
ERROR 1: DXF layer does not support arbitrary field creation, field 'objectid' not created.
Il en résulte une erreur pour chaque colonne d'attribut de la couche some_table
Mais j'obtiens un fichier dxf.
Si j'ai déjà créé un fichier .dxf et que je réexécute la commande ci-dessus (y compris l' -overwrite
option), j'obtiens cette erreur à la place:
Layer sql_statement not found, and CreateLayer not supported by driver. ERROR 1: Terminating translation prematurely after failed translation from sql statement.
J'ai déjà vérifié que la GDAL_DATA
variable d'environnement est correctement définie. (à C:\OSGeo4W\share\gdal
)
Il est certainement possible que j'aborde cette tâche de manière incorrecte car je suis nouveau dans tous ces outils, donc je suis ouvert à toutes suggestions et astuces sur la façon de créer des fichiers .dxf à partir de données SIG stockées dans PostgreSQL sur la base de requêtes SQL.