Страница 1 из 1
Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 10:31
Vadim
Здравствуйте, коллеги!
Столкнулся со следующей проблемой. Стоит задача из файла GML вытянуть слои в .tab. В одной из статей на ГИС-лабе говорилось, что для корректного чтения кириллических названий нужно сначала запустить команду SET GDAL_FILENAME_IS_UTF8=OFF. потом запускается сама команда конвертации (скажем, ogr2ogr -f "MapInfo File" C:\Users\Vadim\Downloads\FZ C:\Users\Vadim\Downloads\GML\FZ.gml).
Кириллические названия слоёв получаются корректные, а вот кириллические названия полей и заполнение атрибутики - "кракозябры".
Подскажите, пожалуйста, как можно решить проблему.
P.S. При конвертировании в geopakage такой проблемы не возникает.
- 1.png (141.25 КБ) 14607 просмотров
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 10:46
trir
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 11:30
Игорь Белов
Опция ENCODING работает начиная с версии GDAL/OGR 2.3
Если бы в названиях слоёв не было кириллицы, можно было бы предварительно перекодировать GML в CP1251.
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 11:57
Vadim
Попробовал вариант:
ogr2ogr -f "Mapinfo File" C:\Users\Vadim\Downloads\FZ C:\Users\Vadim\Downloads\GML\FZ.gml -lco encoding=UTF-8
Но выдал ошибку помимо "Warning 502: field names contains invalid caracters" ещё "Warning 6: Dataset C:\Users\Vadim\Downloads\FZ does not support layer creation option encoding"
Стоит QGIS 2.16.2
Версия GDAL/OGR - 2.1.1
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 12:10
trir
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 13:23
Игорь Белов
Vadim писал(а): ↑15 окт 2018, 11:57
Попробовал вариант … Версия GDAL/OGR - 2.1.1
Всё верно, 2.1.1 древнее версии 2.3.
trir писал(а): ↑15 окт 2018, 12:10
.tab не поддерживает UTF-8
Новые 64-битные версии MapInfo работают с юникодом, и юникод поддерживается TAB'ами в формате MapInfo Extended format. Вот только ни MapInfo Вадима, ни GDAL/OGR об этом формате не знают.
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 13:29
gamm
Vadim писал(а): ↑15 окт 2018, 11:57
Попробовал вариант:
конвертируйте в MIF/MIF, это обычный текстовый файл. И меняйте кодировку.
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 14:08
Vadim
gamm, спасибо за подсказку! А не скажете, что прописать, чтобы получился mid/mif, а не таб. По умолчанию -f "MapInfo File" создаёт табы.
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 14:14
Игорь Белов
Vadim писал(а): ↑15 окт 2018, 14:08
что прописать, чтобы получился mid/mif, а не таб
Там же:
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 14:34
Vadim
Игорь Белов, спасибо! Получилось конвертуть в мид/миф. Единственное, осталось понять как одновременно поменять кодировку у всех файлов через notepad++. Выделить все - преобразовать кодировку (в UTF-8) и сохранить все не помогло...
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 15:10
Игорь Белов
Вероятно, надо открывать каждый файл в одной кодировке и сохранять в другой.
Я предпочитаю командную строку. Например, в настройках OSGeo4W можно добавить пакет MSYS и для перекодирования MIF/MID файлов из папки utf-8 в папку cp1251 запускать скрипт bash:
Код: Выделить всё
for f in utf-8/*.mi?
do
iconv -f utf-8 -t cp1251 "${f}" > cp1251/$(basename "${f}")
done
Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)
Добавлено: 15 окт 2018, 15:19
Vadim
Игорь Белов, спасибо! Буду пробовать..
Всем спасибо за помощь!