Suite

Comment exporter un shapefile depuis PostGIS avec une requête GeoJSON ?


J'ai essayé d'exporter un fichier de formes à partir de mon installation PostGIS à l'aide de pgsql2shp comme suit

pgsql2shp -f tuiles.shp -h  -u  -P   "SELECT id, the_geom FROM  WHERE ST_GeomFromGeoJSON('{ "type": "Polygone", "coordonnées": [ [ [ -92.472398018272358, 18.086381878379395 ], [ -92.472398018272358, 21.705890714546868 ], [ -86.6791836.698981381, 21.7051,8907145438] , 18.086381878379395 ] ] ] }') && the_geom;"

et la commande donne l'erreur

Erreur lors de l'exécution de la requête utilisateur : ERREUR : nom de la propriété de l'objet entre guillemets attendu (à l'offset 2)

Je suppose que c'est un problème lié à la requête GeoJSON car lorsque j'exécute

pgsql2shp -f tuiles.shp -h  -u  -P   "SELECT id, the_geom FROM  WHERE id = 1 ;"

le shapefile est généré sans erreur.


Comme @StevenKay l'a mentionné, les guillemets sur le GeoJSON doivent être échappés avec la barre oblique inverse précédente.

pgsql2shp -f tuiles.shp -h  -u  -P   "SELECT id, the_geom FROM  WHERE ST_GeomFromGeoJSON('{ "type": "Polygon", "coordinates": [ [ [ -92.472398018272358, 18.086381878379395 ], [ -92.472398018272358, 21.705890714546868 ], [ -86.67801838998071381, 21.670591,23889071381, 21.705890714546868 ], [ -86.61381,2388998071381, 21. 18.086381878379395 ], [ -92.472398018272358, 18.086381878379395 ] ] ] }') && the_geom;"

Une autre solution est présentée sur cette question.


Voir la vidéo: PostgreSQL Tutorial: How to import Shapefile into PostGIS EN (Octobre 2021).