He intentado exportar un shapefile desde mi instalación de PostGIS usando pgsql2shp como sigue
pgsql2shp -f tiles.shp -h <host> -u <user> -P <pass> <database> "SELECT id, the_geom FROM <table> WHERE ST_GeomFromGeoJSON('{ "type": "Polygon", "coordinates": [ [ [ -92.472398018272358, 18.086381878379395 ], [ -92.472398018272358, 21.705890714546868 ], [ -86.679183238981381, 21.705890714546868 ], [ -86.679183238981381, 18.086381878379395 ], [ -92.472398018272358, 18.086381878379395 ] ] ] }') && the_geom;"
y el comando da el error
Error executing user query: ERROR: quoted object property name expected (at offset 2)
Supongo que es un problema relacionado con la consulta GeoJSON porque cuando ejecuto
pgsql2shp -f tiles.shp -h <host> -u <user> -P <pass> <database> "SELECT id, the_geom FROM <table> WHERE id = 1;"
el shapefile se genera sin error.
1 votos
Esto podría ser un problema con el escape de las comillas y apóstrofes en su consulta json. ¿ha intentado escaparlos con una barra invertida precedente (\)? Es posible que desee compruebe esta respuesta también.
0 votos
@StevenKay Tienes toda la razón. Es sólo un problema con las comillas en el geojson, se resolvió cuando se escapan las comillas, sólo comillas, los apóstrofes no son necesarios