GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Названия полей на кириллице

MapInfo, MapBasic

Названия полей на кириллице

Сообщение Максим Дубинин » 16 авг 2012, 18:01

У меня много MIF/MID, у них поля названы кириллицей, например:

Код: Выделить всё
Columns 3
  Код_типа_объекта Integer
  Тип_объекта Char(60)
  Название Char(40)
Data


Собираюсь написать скрипт, который заменит названия полей на латиницу. Есть какие-то подводные камни в таком подходе? Потеря связи с атрибутикой или еще чего. Вроде на первый взгляд засад не видно и конвертируется нормально, но я не большой знаток формата.
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8872
Репутация: 631
Статьи: 231
Проекты: 12/6

Re: Названия полей на кириллице

Сообщение Boris » 16 авг 2012, 19:08

нет никаких подводных камней. формат MIF/MID - последовательный. важен только порядок колонок, выписанных в заголовке MIF файла, он и определяет типы и названия полей в MID.

Больше того, изменения названий в текстовом файле TAB приводят к тому же результату. :) Названия полей в файле DAT (DBF III) - не используются. Используется только порядок.
  • 0

Boris
Гуру
 
Зарегистрирован: 10 апр 2006
Откуда: Париж (на карте)
 
Сообщения: 3900
Репутация: 345
Статьи: 3
Проекты: 1

Re: Названия полей на кириллице

Сообщение Донецков » 16 авг 2012, 20:44

в текстовом файле TAB приводят к тому же результату
- спасибо за наводку...
  • 0

Донецков
Гуру
 
Зарегистрирован: 19 май 2010
 
Сообщения: 3051
Репутация: 187

Re: Названия полей на кириллице

Сообщение Boris » 17 авг 2012, 01:04

PS
ORG в этом солидарен с Mapinfo - то же берет названия и типы из TAB файла.
  • 0

Boris
Гуру
 
Зарегистрирован: 10 апр 2006
Откуда: Париж (на карте)
 
Сообщения: 3900
Репутация: 345
Статьи: 3
Проекты: 1

Re: Названия полей на кириллице

Сообщение Максим Дубинин » 25 авг 2012, 22:08

Возможно кому-то пригодится.

Два скрипта на питоне для нормализации полей названных на кириллице для MIF/MID.
+
Два скрипта на питоне для нормализации полей названных на кириллице для CSV.

Работает так:
1. Запускаем
Код: Выделить всё
python extract_field_names.py c:\temp\ fields.csv translit

или
Код: Выделить всё
python field_sanitizer_read.py c:\temp\ fields.csv translit

создает fields.csv, с перечнем всех уникальных полей во всех файлах mif и/или tab или csv.

2. Если есть ключ translit, то автоматом сконвертирует названия поле транслитом (возможно работает только в Win). Если транслит не устраивает, редактируем этот перечень добавляя эквиваленты как вам нравится

3. Запускаем
Код: Выделить всё
python substitute_field_names.py input_folder output_folder fields.csv

или
Код: Выделить всё
python field_sanitizer_write.py input_folder output_folder fields.csv


Который производит замену всех названий полей ДО на названия полей ПОСЛЕ из fields.csv. В выходную папку (output_folder) складываются только новые MIF/TAB файлы или CSV, соответственно после проверки ими нужно перезаписать поверх те, что были обработаны.
  • 0

Вложения
csv-field_sanitizer.7z
(1.93 КБ) Скачиваний: 98
mif-normalize-fields.7z
(1.88 КБ) Скачиваний: 91
пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8872
Репутация: 631
Статьи: 231
Проекты: 12/6

Re: Названия полей на кириллице

Сообщение Донецков » 26 авг 2012, 07:52

Спасибо...
  • 0

Донецков
Гуру
 
Зарегистрирован: 19 май 2010
 
Сообщения: 3051
Репутация: 187

Re: Названия полей на кириллице

Сообщение Максим Дубинин » 26 окт 2012, 01:17

обновил оба скрипта выше, теперь работают как с MIF, так и с TAB

командная строка тоже немного поменялась, описание изменено выше, скрипты там же
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8872
Репутация: 631
Статьи: 231
Проекты: 12/6

Re: Названия полей на кириллице

Сообщение ANAT01 » 26 окт 2012, 07:23

Было бы полезно на автомате переводить кириллицу в транслит.
К сожалению питона не знаю (
  • 0

Аватара пользователя
ANAT01
Активный участник
 
Зарегистрирован: 18 апр 2012
 
Сообщения: 147
Репутация: 38

Re: Названия полей на кириллице

Сообщение Максим Дубинин » 26 окт 2012, 16:23

Добавил ключ translit в экстрактор имен. Скрипты там же.

ANAT01 писал(а):К сожалению питона не знаю (

Я тоже. Учитесь.
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8872
Репутация: 631
Статьи: 231
Проекты: 12/6

Re: Названия полей на кириллице

Сообщение Максим Дубинин » 13 фев 2013, 14:52

Обновил скрипты для mif/tab и добавил отдельную пару для CSV, ссылки и описания выше.
  • 0

пристегивайтесь, турбулентность прямо по курсу
Аватара пользователя
Максим Дубинин
NextGIS
 
Зарегистрирован: 06 окт 2003
Откуда: Москва (на карте)
 
Сообщения: 8872
Репутация: 631
Статьи: 231
Проекты: 12/6


Вернуться в MapInfo

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

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


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).