Как кодировать шейп-файлы из LATIN1 в UTF-8?

Ответы:

16

Вы можете сделать это с QGIS. Сначала загрузите свои шейп-файлы, затем save asвыберите выпадающее меню кодирования utf-8 и сохраните файл.

Арагон
источник
7
Слово предостережения : для этого решения работы QGIS должен быть запущен в ISO-8859-1 среде LATIN1 / при открытии входного шейп или он не будет читать правильно. Если вы работаете в среде UTF8, преобразование может завершиться сбоем молча, повреждая данные в зависимости от данных в шейп-файле. Кстати, большинство операционных систем теперь по умолчанию используют UTF8.
unicoletti
1
Обратите внимание, что в некоторых ситуациях это может не работать, у меня были такие проблемы: ( osgeo-org.1560.n6.nabble.com/UTF-8-no-more-td4647456.html )
JaakL
Я пытаюсь сохранить один файл формы из системы в UTF-8, но он не работает. gis.stackexchange.com/questions/219092/…
Мухаммед Файзан Хан
27

Предполагая, что вы работаете в Linux и имеете доступ к последней версии GDAL, вы можете попробовать следующее (из этого поста ):

 export SHAPE_ENCODING="ISO-8859-1"
 ogr2ogr output.shp input -lco ENCODING=UTF-8

Примечание: LATIN1 тоже должен работать вместо ISO-8859-1.

В Windows НЕ устанавливайте SHAPE_ENCODING, ogr2ogrне распознает ISO-8859-1, ни LATIN1.

unicoletti
источник
Просто чтобы уточнить, «недавний» здесь, кажется, означает 1.9.x. Я попробовал это с 1.8.1, и это не сработало, попробовал еще раз с 1.9.1, и это сработало.
Михал Мигурски
У меня не работало в Windows.
Павел Радзивиловский
Добрался до работы в Windows, обновили ответ.
флоп
Вы знаете, могу ли я посмотреть список допустимых значений SHAPE_ENCODINGгде-нибудь?
JJD
1
@JJD Они же используются Iconv: gnu.org/software/libiconv
unicoletti
3

Если я правильно понимаю шейп-файлы, то чувствительной к кодировке является база данных атрибутов, содержащаяся в файле DBF.

Вот ответ, который помог мне решить эту проблему с помощью LibreOffice Calc / Base:

/gis//a/3663/17998

Дополнительным преимуществом является то, что вы можете открыть файл DBF, используя отдельный набор символов, и таким образом выяснить, какова текущая кодировка.

Мэриан
источник