Страница 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
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, а не таб
Там же:

Код: Выделить всё

-dsco FORMAT=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
Игорь Белов, спасибо! Буду пробовать..

Всем спасибо за помощь!