Jak importować za pomocą shp2pgsql?

11

Chcę zaimportować plik shapefile do PostGIS. Jest postgresw niej jedna baza danych , ale nie dodano jeszcze żadnej tabeli.

Korzystam z tego polecenia:

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

i daje mi to pewien błąd:

Nie można przekonwertować wartości danych na UTF-8 (iconv zgłasza „Nieprawidłowy lub niekompletny znak wielobajtowy lub szeroki”). Obecne kodowanie to „UTF-8”. Wypróbuj „LATIN1” (Europa Zachodnia) lub jedną z wartości opisanych na stronie postgresql.org/docs/current/static/multibyte.html

Czy moje polecenie jest złe?

sandeep
źródło

Odpowiedzi:

29

Próbowałeś -W "latin1"flagi? Czasami domyślne kodowanie (UTF-8) nie działa dobrze. Może będziesz mieć więcej szczęścia z kodowaniem Latin1:

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

Jest użytecznym oszukiwać arkuszy dostępny tutaj .

Mam nadzieję, że to pomoże..


źródło
1
Hmm .. Czy poprawnie zainstalowałeś rozszerzenie PostGIS w postgresbazie danych? Jeśli nie: może to może pomóc ..
Zwykle jeśli make installzadziałało, możesz przejść do następnego procesu ( make checkjest to krok przed make install). Jeśli możesz połączyć się z bazą danych za pomocą psql / pgadmin3 - oznacza to, że instalacja zakończyła się powodzeniem. Czy możesz przejść do kroku „Utwórz przestrzenną bazę danych”? Polecam stosowanie metody PRZEDŁUŻENIA.
Koleś, to zbyt daleko odbiegało od twojego pierwotnego pytania, haha ​​.. Trudno ci tutaj pomóc, gdy jest wiele zmiennych: jakiej wersji PostgreSQL używasz ?; w jakim systemie ?; i którą wersję PostGIS próbujesz zainstalować? Wygląda na to, że nie rozpoznał "CREATE EXTENSION"składni. Czy pisanie tylko: skutecznie psql -d geocoding -U postgreswprowadza Cię do geocodingbazy danych?
Mój błąd. Następnie powinieneś postępować zgodnie z 2.5. Utwórz bazę danych z włączoną przestrzennie na PostgreSQL niższym niż sekcja 9.1 . Jeśli nadal będziesz mieć problemy, sugeruję, aby otworzyć nowe pytanie - aby uzyskać lepsze odpowiedzi;)