Làm thế nào để nhập bằng shp2pgsql?


11

Tôi muốn nhập shapefile vào PostGIS. Có một cơ sở dữ liệu postgrestrong đó nhưng chưa có bảng nào được thêm vào.

Tôi đang sử dụng lệnh này:

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

và nó cho tôi một số lỗi:

Không thể chuyển đổi giá trị dữ liệu thành UTF-8 (iconv báo cáo "Đa nhân hoặc ký tự rộng không hợp lệ hoặc không đầy đủ"). Mã hóa hiện tại là "UTF-8". Hãy thử "LATIN1" (Tây Âu) hoặc một trong các giá trị được mô tả tại postgresql.org/docs/civerse/static/multibyte.html

Là lệnh của tôi sai ??

Câu trả lời:


29

Bạn đã thử -W "latin1"cờ chưa? Đôi khi mã hóa mặc định (UTF-8) không hoạt động tốt. Có lẽ bạn sẽ gặp may mắn hơn với mã hóa latin1:

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

Có một cheat-sheet hữu ích có sẵn ở đây .

Hy vọng nó giúp..


1
Hmm .. Bạn đã cài đặt chính xác phần mở rộng PostGIS vào postgrescơ sở dữ liệu chưa? Nếu bạn chưa: có lẽ điều này có thể giúp ..

Thông thường nếu make installlàm việc, bạn có thể chuyển sang quy trình tiếp theo ( make checklà một bước trước make install) .. Nếu bạn có thể kết nối với cơ sở dữ liệu của mình thông qua psql / pgadmin3 - điều đó có nghĩa là cài đặt của bạn thành công. Bạn có thể chuyển sang bước "Tạo cơ sở dữ liệu không gian" không? Tôi khuyên bạn nên sử dụng phương pháp EXTENSION ..

Anh bạn, điều này đã đi quá xa so với câu hỏi ban đầu của bạn, haha ​​.. Thật khó để giúp bạn ở đây khi có rất nhiều biến số đang chơi: bạn đang sử dụng phiên bản nào của PostgreQuery?; trên loại hệ thống nào?; và phiên bản nào của PostGIS mà bạn đang cố gắng cài đặt? Có vẻ như nó không nhận ra "CREATE EXTENSION"cú pháp .. Có phải chỉ gõ: đưa psql -d geocoding -U postgresbạn vào geocodingcơ sở dữ liệu thành công?

Lỗi của tôi. Sau đó, bạn nên làm theo 2.5. Tạo cơ sở dữ liệu kích hoạt không gian trên PostgreSQL thấp hơn phần 9.1 .. Nếu bạn vẫn gặp sự cố, tôi khuyên bạn nên mở một câu hỏi mới - để bạn có thể nhận được câu trả lời tốt hơn;)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.