Bagaimana cara mengimpor menggunakan shp2pgsql?

11

Saya ingin mengimpor shapefile ke PostGIS. Ada satu database postgresdi dalamnya tetapi belum ada tabel ditambahkan.

Saya menggunakan perintah ini:

shp2pgsql -I -s 4326 districts.shp districts | psql -d postgres -U postgres 

dan itu memberi saya beberapa kesalahan:

Tidak dapat mengonversi nilai data ke UTF-8 (ikonv melaporkan "Multibyte atau karakter lebar atau karakter tidak lengkap"). Pengkodean saat ini adalah "UTF-8". Coba "LATIN1" (Eropa Barat), atau salah satu nilai yang dijelaskan di postgresql.org/docs/current/static/multibyte.html

Apakah perintah saya salah ??

sandeep
sumber

Jawaban:

29

Sudahkah Anda mencoba -W "latin1"menandai? Terkadang penyandian default (UTF-8) tidak berfungsi dengan baik. Mungkin Anda akan lebih beruntung dengan pengkodean latin1:

shp2pgsql -I -s 4326 -W "latin1" districts.shp districts | psql -d postgres -U postgres

Ada cheat-sheet berguna yang tersedia di sini .

Semoga ini bisa membantu ..


sumber
1
Hmm .. Apakah Anda sudah menginstal ekstensi PostGIS dengan benar ke postgresdatabase? Jika Anda belum: mungkin ini bisa membantu ..
Biasanya jika make installberhasil, Anda dapat beralih ke proses selanjutnya ( make checkadalah langkah sebelumnya make install) .. Jika Anda dapat terhubung ke database Anda melalui psql / pgadmin3 - itu berarti instalasi Anda berhasil. Bisakah Anda beralih ke langkah "Buat database spasial"? Saya sarankan menggunakan metode EXTENSIONS ..
Kawan, ini telah menyimpang terlalu jauh dari pertanyaan awal Anda, haha ​​.. Agak sulit untuk membantu Anda di sini ketika ada banyak variabel yang berperan: versi PostgreSQL mana yang Anda gunakan ?; pada sistem apa? dan versi PostGIS mana yang Anda coba instal? Sepertinya itu tidak mengenali "CREATE EXTENSION"sintaks .. Apakah mengetik saja: psql -d geocoding -U postgresmembuat Anda geocodingberhasil masuk ke basis data?
Salahku. Maka Anda harus mengikuti 2.5. Buat database berkemampuan spasial pada PostgreSQL lebih rendah dari bagian 9.1 .. Jika Anda masih mengalami masalah, saya sarankan Anda membuka pertanyaan baru - sehingga Anda bisa mendapatkan jawaban yang lebih baik;)