Bagaimana saya bisa mendapatkan shapefile dari kueri postgis?

44

Data saya ada di database PostGIS. Saya ingin membuat shapefile dari kueri. Bagaimana saya bisa melakukan itu?

rudivonstaden
sumber

Jawaban:

86

Cara yang disarankan untuk melakukan ini adalah menggunakan utilitas pgsql2shp , yang harus diinstal dengan PostGIS. Perhatikan bahwa Anda harus menyertakan kolom geometri dalam kueri.

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

Contoh (buat qds_cnt.shpdi direktori saat ini):

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

Jika Anda ingin menyimpan seluruh tabel sebagai shapefile, cukup gunakan nama tabel sebagai kueri.

Anda juga dapat menggunakan utilitas ogr2ogr , tetapi memiliki lebih banyak dependensi sehingga tidak harus menjadi opsi pertama. Jika Anda ditentukan, perintah yang setara adalah:

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

Lihat juga

rudivonstaden
sumber
Apakah mungkin untuk digunakan pgsql2shpuntuk mengekspor tampilan ke shapefile?
Ricardo Barros Lourenço
8

Saya tidak memiliki poin reputasi yang cukup untuk mengomentari jawaban rudivonstaden tetapi saya akan menambahkan bahwa menulis perintah sql dalam huruf besar berarti pgsql2shp.

Misalnya, ini tidak akan berfungsi:

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

sedangkan ini akan bekerja:

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

Bergantung pada potongan data yang ingin Anda ekspor, cara lain adalah dengan menggunakan qgis atau produk serupa: di sana Anda membuka koneksi atau postgis dan memilih data yang Anda minati; maka Anda simpan sebagai shapefile ...

Jika Anda ingin mengekspor secara otomatis dan / atau sebagian besar data, rudivonstaden memberikan solusi yang tepat!

Sebuah nama
sumber