Русские символы в GDAL и MapInfo

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
hairzamanov_ii
Новоприбывший
Сообщения: 3
Зарегистрирован: 17 сен 2020, 08:30
Репутация: 0
Ваше звание: Ilgiz
Откуда: Сургут

Русские символы в GDAL и MapInfo

Сообщение hairzamanov_ii » 18 сен 2020, 10:35

Всем привет.
Есть слой MapInfo в формате .tab.
При попытках задать имя столбца русскими буквами, при помощи утилиты ogrinfo, получаются "крякозябры".
Ввожу такую команду:

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

ogrinfo f:\zd\zd.tab -sql "alter table zd rename column type to 'тип'"
И получается вот такое название столбца:
1.JPG
1.JPG (18.77 КБ) 3259 просмотров
Как это можно решить?
Пробовал менять кодировку cmd в UTF8 не помогло.
Вводил set GDAL_FILENAME_IS_UTF8=NO, тоже фейл.
Пробовал конвертировать таблицу в формат mif, и поменять имя столбца, выскакивает ошибка:
ERROR 6: AlterFieldDefn() not supported by this layer.
Известно, что GDAL использует UTF-8, а Mapinfo cp1251, возможно ли вообще их подружить?

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

Re: Русские символы в GDAL и MapInfo

Сообщение trir » 18 сен 2020, 11:37


hairzamanov_ii
Новоприбывший
Сообщения: 3
Зарегистрирован: 17 сен 2020, 08:30
Репутация: 0
Ваше звание: Ilgiz
Откуда: Сургут

Re: Русские символы в GDAL и MapInfo

Сообщение hairzamanov_ii » 23 сен 2020, 08:27

trir писал(а):
18 сен 2020, 11:37
Сообщение trir » 18 сен 2020, 13:37

viewtopic.php?f=34&t=26523&p=175030&hil ... ab#p175030
Прочитал, спасибо.
Получилось скопировать данные из таблицы в другую таблицу, и в новой таблице уже новые названия столбцов.
Но, теперь другая проблема:
При копировании данных в новую таблицу, данные с русскими символами копируются неправильно.
Выполняю такие команды:

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

chcp 65001
ogr2ogr -f "MapInfo File" new_table1.tab table1.tab -sql "select column1 as ""Строка1"", column2 as ""Строка2"" from table1" -lco encoding=cp1251 -oo ENCODING=cp1251
Возможно ли просто поменять названия столбцов, не копируя данные?
Один способ есть:

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

chcp 65001
ogrinfo -oo ENCODING=cp1251 table1.tab -sql "alter table table1 rename column Column1 to ""Строка1"""
Но, он не правильно понимает русские симвоы, т.к. ogrinfo не поддерживает параметр -lco encoding=cp1251.

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

Re: Русские символы в GDAL и MapInfo

Сообщение trir » 23 сен 2020, 13:31

не думаю

Boris
Гуру
Сообщения: 4205
Зарегистрирован: 10 апр 2006, 22:34
Репутация: 433
Откуда: Париж

Re: Русские символы в GDAL и MapInfo

Сообщение Boris » 25 фев 2021, 17:29

Я понимаю, что скорее всего уже поздно, но если уж вы занялись командной строкой, то что мешает менять названия столбцов ПРЯМО в MIF или TAB файлах?
ПРо MIF - это очевидно, так как он тестовый файл, и с ним можно творить любые безумства.
Про TAB - не на столько очевидно, но поверьте, я разбирал формат MAP/DAT файлов - там названия столбцов 1) отсуствуют / 2) записаны в формате DBF3. И как следствие названия столбцов для MapInfo задает именно TAB файл - это недолго проверить через любой текстовый редактор.

Ответить

Вернуться в «Я новичок!»

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

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