Как импортировать используя shp2pgsql?

11

Я хочу импортировать шейп-файл в 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
Хм .. Правильно ли вы установили расширение PostGIS для postgresбазы данных? Если у вас нет: может быть, это может помочь ..
Обычно, если make installработает, вы можете перейти к следующему процессу ( make checkэто шаг до make install). Если вы можете подключиться к вашей базе данных через psql / pgadmin3 - это означает, что ваша установка прошла успешно. Можете ли вы перейти к шагу «Создание пространственной базы данных»? Я рекомендую использовать метод EXTENSIONS ..
Чувак, это слишком далеко от твоего первоначального вопроса, хаха .. Немного сложно помочь тебе здесь, когда в игре много переменных: какую версию PostgreSQL ты используешь ?; на какой системе ?; а какую версию PostGIS вы пытаетесь установить? Похоже, что он не распознал "CREATE EXTENSION"синтаксис. Только ли печатать: psql -d geocoding -U postgresвы попадете в geocodingбазу данных успешно?
Виноват. Тогда вы должны следовать 2.5. Создайте пространственно-разрешенную базу данных на PostgreSQL ниже, чем в разделе 9.1 . Если у вас все еще возникают проблемы, я бы предложил открыть новый вопрос, чтобы вы могли получить более качественные ответы;)