Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Ответить
Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Vadim » 15 окт 2018, 10:31

Здравствуйте, коллеги!

Столкнулся со следующей проблемой. Стоит задача из файла 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 КБ) 14251 просмотр

trir
Гуру
Сообщения: 5271
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1013
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение trir » 15 окт 2018, 10:46


Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Игорь Белов » 15 окт 2018, 11:30

Опция ENCODING работает начиная с версии GDAL/OGR 2.3

Если бы в названиях слоёв не было кириллицы, можно было бы предварительно перекодировать GML в CP1251.
The purpose of computing is insight, not numbers

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Vadim » 15 окт 2018, 11:57

Попробовал вариант:

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

trir
Гуру
Сообщения: 5271
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1013
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение trir » 15 окт 2018, 12:10


Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

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 об этом формате не знают.
The purpose of computing is insight, not numbers

gamm
Гуру
Сообщения: 4044
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1049
Ваше звание: программист
Откуда: Казань

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение gamm » 15 окт 2018, 13:29

Vadim писал(а):
15 окт 2018, 11:57
Попробовал вариант:
конвертируйте в MIF/MIF, это обычный текстовый файл. И меняйте кодировку.

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Vadim » 15 окт 2018, 14:08

gamm, спасибо за подсказку! А не скажете, что прописать, чтобы получился mid/mif, а не таб. По умолчанию -f "MapInfo File" создаёт табы.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Игорь Белов » 15 окт 2018, 14:14

Vadim писал(а):
15 окт 2018, 14:08
что прописать, чтобы получился mid/mif, а не таб
Там же:

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

-dsco FORMAT=MIF
The purpose of computing is insight, not numbers

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Vadim » 15 окт 2018, 14:34

Игорь Белов, спасибо! Получилось конвертуть в мид/миф. Единственное, осталось понять как одновременно поменять кодировку у всех файлов через notepad++. Выделить все - преобразовать кодировку (в UTF-8) и сохранить все не помогло...

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

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
The purpose of computing is insight, not numbers

Vadim
Завсегдатай
Сообщения: 297
Зарегистрирован: 03 июн 2015, 10:19
Репутация: 72

Re: Проблемы с кодировкой при конвертации в .tab (Mapinfo)

Сообщение Vadim » 15 окт 2018, 15:19

Игорь Белов, спасибо! Буду пробовать..

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

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей