Data saya ada di database PostGIS. Saya ingin membuat shapefile dari kueri. Bagaimana saya bisa melakukan itu?
44
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.shp
di 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
pgsql2shp
untuk mengekspor tampilan ke shapefile?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:
sedangkan ini akan bekerja:
sumber
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!
sumber