shp2pgsql을 사용하여 가져 오는 방법은 무엇입니까?


11

shapefile을 PostGIS로 가져오고 싶습니다. 데이터베이스가 하나 postgres있지만 아직 테이블이 추가되지 않았습니다.

이 명령을 사용하고 있습니다 :

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

그리고 그것은 나에게 약간의 오류를주고있다 :

데이터 값을 UTF-8로 변환 할 수 없습니다 (iconv는 "잘못된 또는 불완전한 멀티 바이트 또는 와이드 문자"를보고합니다). 현재 인코딩은 "UTF-8"입니다. "LATIN1"(서유럽 어) 또는 postgresql.org/docs/current/static/multibyte.html에 설명 된 값 중 하나를 사용해보십시오.

내 명령이 잘못 되었습니까?

답변:


29

-W "latin1"깃발 을 사용해 보셨습니까 ? 기본 인코딩 (UTF-8)이 제대로 작동하지 않는 경우가 있습니다. latin1 인코딩으로 더 나은 행운을 얻을 수 있습니다.

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

사용할 수있는 유용한 치트 시트있어 여기가 .

도움이 되길 바랍니다 ..


1
흠 .. postgres데이터베이스에 PostGIS 확장을 올바르게 설치 했습니까 ? 당신이하지 않은 경우 : 어쩌면 깡통 도움을 ...

일반적으로 make install작동하는 경우 다음 프로세스로 넘어갈 수 있습니다 ( make check이전 단계 make install). psql / pgadmin3을 통해 데이터베이스에 연결할 수있는 경우 설치가 성공한 것입니다. "공간 데이터베이스 작성"단계로 넘어갈 수 있습니까? EXTENSIONS 방법을 사용하는 것이 좋습니다.

야, 이것은 원래의 질문 인 하하에서 너무 멀어졌다. 게임에 많은 변수가있을 때 여기에서 당신을 돕기는 조금 어렵다 : 어떤 PostgreSQL 버전을 사용하고 있습니까?; 어떤 종류의 시스템에서?; 그리고 어떤 버전의 PostGIS를 설치하려고합니까? 이 인식하지 않은 것 같다 "CREATE EXTENSION"구문을 ..합니까 입력 전용 : psql -d geocoding -U postgres당신이 들어간 geocoding성공적으로 데이터베이스?

내 잘못이야. 그런 다음 2.5를 따라야합니다 . PostgreSQL에 9.1 섹션 보다 낮은 공간 사용 데이터베이스를 생성 하십시오. 여전히 문제가 발생하면 새로운 질문을 열어서 더 나은 답변을 얻을 수 있습니다.)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.