Come posso ottenere uno shapefile da una query postgis?


44

I miei dati si trovano in un database PostGIS. Vorrei generare un file di forma da una query. Come lo posso fare?

Risposte:


86

Il modo consigliato per farlo è usare l' utilità pgsql2shp , che dovrebbe essere installata con PostGIS. Si noti che è necessario includere la colonna geometria nella query.

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

Esempio (crea qds_cnt.shpnella directory corrente):

$ 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].

Se si desidera salvare un'intera tabella come shapefile, utilizzare semplicemente il nome della tabella come query.

Puoi anche usare l' utilità ogr2ogr , ma ha più dipendenze, quindi non dovrebbe essere la prima opzione. Se sei determinato, il comando equivalente sarebbe:

$ 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'"

Guarda anche


È possibile utilizzare pgsql2shpper esportare una vista in un file di forma?
Ricardo Barros Lourenço,

8

Non ho abbastanza punti reputazione per commentare la risposta di rudivonstaden, ma aggiungerei che scrivere comandi sql in lettere maiuscole è importante per pgsql2shp.

Ad esempio, questo non funzionerà:

$ pgsql2shp -f qds_cnt -h localhost -u postgres -P password gisdb "Select sp_count, geom from grid50_rsa where province = 'Gauteng'"

mentre questo funzionerà:

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

7

A seconda del pezzo di dati che si desidera esportare, un altro modo è usare qgis o un prodotto simile: lì si apre una connessione o postgis e si selezionano i dati che ti interessano; quindi salvi come file di forma ...

Se vuoi esportare automaticamente e / o grandi parti di dati, rudivonstaden ha dato le soluzioni appropriate!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.