Mengimpor .shp ke PostgreSQL?


14

Saya ingin mengimpor file shp ke postgreSQL. Pertama saya membuat file sql dan kemudian menjalankan PostgreSQL. Untuk membuat file sql, saya menjalankan perintah ini di windows cmd:

shp2pgsql -s 4326 worldCountries.shp worldcountries postgres > worldcountries.sql

lalu jalankan:

psql -d postgres -U postgres -p 4321 -f worldcountries.sql

tetapi hasilnya adalah:

psql: worldcountries.sql: 21: ERROR: function addGeometrycolumn (tidak diketahui, tidak diketahui, tidak diketahui, tidak diketahui, tidak diketahui, integer) tidak ada

Jawaban:


13
ERROR: **function addGeometrycolumn**(unknown, unknown, unknown, unknown,unknown, integer) does not exist

Tampaknya PostGIS belum diinstal. PostGIS adalah perpanjangan dari Postgres yang memungkinkan penggunaan file geografis.

Pasang dan impor Anda akan berfungsi dengan baik.


3
Dan perintahnya adalah "CREATE EXTENSION postgis;"postgis.net/docs/… .
user30184

1
@ user30184 Benar sekali, tetapi harap dicatat bahwa ini mengasumsikan PostgreSQL 9.1 atau lebih tinggi. (Ada sangat sedikit alasan untuk menggunakan sesuatu yang lebih tua, menurut saya.)
jpmc26


1

Anda dapat menggunakan plugin impor yang terpasang ketika Anda menginstal ekstensi PostGis di PostgreSQL Anda dapat menemukannya di bawah Plugin di menu dan disebut PostGIS Shapefile dan DBF loader

tonton video youtube ini sebagai contoh


0

Anda memiliki proyeksi berbeda di psql Anda; dan memiliki proyeksi tidak diperlukan. Apakah ada skema yang Anda ingin tambahkan file bentuk?

Ini seharusnya bekerja:

shp2pgsql -s 4326 -I worldcountries.shp schema.worldcountries > dr_worldcountries.sql

psql -f worldcountries.sql -h [host] -d [database] -U postgres

3
-puntuk psqlmengatakan itu port server, bukan proyeksi. Proyeksi menjadi tertanam dalam skrip SQL. Lihat manual bagus untuk psqlperilaku. Dalam hal ini, port yang ditentukan OP bukanlah port default, jadi itu diperlukan. Saya juga biasanya menyarankan untuk tidak menyimpan bentuk tanpa proyeksi. Ini membatasi kemampuan Anda untuk mengubah proyeksi, yang dapat membantu untuk mendapatkan perhitungan yang lebih akurat.
jpmc26
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.