Como importar usando shp2pgsql?

11

Eu quero importar o shapefile para o PostGIS. Há um banco de dados postgresnele, mas nenhuma tabela foi adicionada ainda.

Eu estou usando este comando:

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

e está me dando algum erro:

Não foi possível converter o valor dos dados em UTF-8 (iconv reporta "caractere multibyte ou amplo ou inválido ou incompleto"). A codificação atual é "UTF-8". Experimente "LATIN1" (Europa Ocidental) ou um dos valores descritos em postgresql.org/docs/current/static/multibyte.html

Meu comando está errado?

sandeep
fonte

Respostas:

29

Você já tentou -W "latin1"sinalizar? Às vezes, a codificação padrão (UTF-8) não funciona bem. Talvez você tenha mais sorte com a codificação latin1:

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

Há uma cábula útil disponível aqui .

Espero que ajude..


fonte
11
Hmm .. Você instalou corretamente a extensão PostGIS no postgresbanco de dados? Se você ainda não: talvez isso pode ajudar ..
Normalmente, se make installfuncionou, você pode avançar para o próximo processo ( make checké uma etapa anterior a make install). Se você pode se conectar ao seu banco de dados via psql / pgadmin3 - isso significa que sua instalação é um sucesso. Você pode passar para a etapa "Criar um banco de dados espacial"? Eu recomendo usar o método EXTENSIONS ..
Cara, isso se afastou muito da sua pergunta original, haha ​​.. É um pouco difícil ajudá-lo aqui quando há muitas variáveis ​​em jogo: qual versão do PostgreSQL você está usando ?; em que tipo de sistema ?; e qual versão do PostGIS você está tentando instalar? Parece que não reconheceu a "CREATE EXTENSION"sintaxe. Somente digitando: psql -d geocoding -U postgresvocê entra no geocodingbanco de dados com sucesso?
Foi mal. Então você deve seguir o 2.5. Criar um banco de dados ativado espacialmente no PostgreSQL menor do que 9,1 secção .. Se você ainda tiver problemas eu sugiro que você abrir uma nova pergunta - assim você pode obter melhores respostas;)