55 votos

¿Cómo puedo obtener un shapefile de una consulta de postgis?

Mis datos están en una base de datos PostGIS. Me gustaría generar un shapefile a partir de una consulta. ¿Cómo puedo hacerlo?

93voto

rudivonstaden Puntos 1684

La forma recomendada de hacerlo es utilizando la pgsql2shp utilidad, que debe ser instalado con PostGIS. Tenga en cuenta que debe incluir la geometría de la columna en la consulta.

$ pgsql2shp -f <path to output shapefile> -h <hostname> -u <username> -P <password> databasename "<query>"

Ejemplo (crea qds_cnt.shp en el directorio actual):

$ pgsql2shp -f qds_cnt -h localhost -u postgres -P password gisdb "SELECT sp_count, geom FROM grid50_rsa WHERE province = 'Gauteng'"

Initializing... 
Done (postgis major version: 2).
Output shape: Polygon
Dumping: XXXXXXXXXXXXXXXXXXXX [1947 rows].

Si quería salvar a toda la tabla como un shapefile, sólo tiene que utilizar el nombre de la tabla como la de la consulta.

También puede utilizar el ogr2ogr utilidad, pero tiene más dependencias, por lo que no debe ser la primera opción. Si se determina que usted es, el equivalente al comando sería:

$ ogr2ogr -f "ESRI Shapefile" qds_cnt.shp PG:"host=localhost user=postgres dbname=gisdb password=password" -sql "SELECT sp_count, geom FROM grid50_rsa WHERE province = 'Gauteng'"

Ver también

9voto

Anon Puntos 31

Dependiendo de la pieza de datos que desea exportar, otra forma es usar qgis o un producto similar: se abre una conexión postgis y seleccionar los datos que te interesa; luego guardar como archivo de formas...

Si desea exportar automáticamente las partes grandes de datos, rudivonstaden dieron soluciones adecuadas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X