Здравствуйте. Я пытаюсь импортировать карту в формате MapInfo с помощью программы Панорама-Редактор 11. Файлы MIF/MID были получены, в свою очередь, в результате конвертации карты из Garmin IMG при помощи GPSMapEdit. На карте созданы 3 объекта-примитива (для простоты): точка, полилиния и полигон. В GPSMapEdit файл выглядит следующим образом: http://clip2net.com/s/13UMq.
MIF: Version 300 Charset "WindowsCyrillic" Delimiter "," CoordSys Earth Projection 1, 104 Bounds (40.429688, 43.577271) (45.719604, 46.249695) Columns 33 Label Char(64) Type Integer TypeHex Char(8) Comment Char(64) EndLevel Integer Number Char(24) Street Char(64) City Char(64) Region Char(64) Country Char(64) ZipCode Char(16) Phone Char(32) Fax Char(32) Email Char(32) Web Char(64) Description Char(100) Dir_Indicator Integer Speed_Limit Integer Route_Class Integer One_Way Integer Toll Integer No_Transit Integer No_Emergency Integer No_Delivery Integer No_Car Integer No_Bus Integer No_Taxi Integer No_Pedestrian Integer No_Bicycle Integer No_Truck Integer Has_EntryPoint Integer EntryPoint_X Char(16) EntryPoint_Y Char(16) Data
При импорте из формата MapInfo я проделываю следующие шаги 1. Импорт векторных данных из -> MIF/MID 2. Выбираю классификатор Topo10t.rsc 3. Объект -> из записи MIF/MID -> настроить. Выбираю "Числовой код объекта" и сопоставляю ему поле Type (код в десятичном представлении). 4. Семантика -> пользователем. Для поля Label выбираю поле классификатора OBJECT's_NAME (КОРОТКОЕ ИМЯ ОБЪЕКТА) для поля Type - поле классификатора OBJCODE
после конвертации получаю такое изображение: http://clip2net.com/s/13UPL Также ничего не получилось при попытке добавить подписи командой Задачи->Запуск приложений->Построение подписей по семантике объектов. Во-первых, потому что мне удалось, как мне кажется, чисто случайно выбрать хотя бы один объект (при щелчке перекрестьем на объекте появляется окно выбора, однако при нажатии кнопки "Выбор", объекты не выделяются), когда выбрать все же удалось (рамкой, только линию и полигон - точка почему-то не выделилась), то, после выбора параметров подписи (источник текста: семантика; формат текста: географ. (Ч-131) 3.5, расположение подписи ), подписи не появились. К сожалению, в документации к Панорама-Редактор 11 мне не удалось найти подробного руководства по импорту данных из формата MapInfo, поэтому я прошу участников форума дать ссылку на пример конвертации или указать на мои ошибки при выполнении этого процесса.
Как говорится, на вскидку - по пункту 3. "Объект -> из записи MIF/MID -> настроить. Выбираю "Числовой код объекта" и сопоставляю ему поле Type (код в десятичном представлении)."
Вы при Импорте явно указали, что в поле Type Integer будет число (Код объекта), по которому программа выбирает данные из файла классификатора Topo10t.rsc. Т.к. таких значений в нем нет ("0x50", и т.д.), то созданные объекты перенесены в Слой "Служебный", при этом в их Семантике должны быть исходные значения атрибутов файла MID.
Т.е. Вам необходимо вместо значения 0x50 задать, наприимер, 71111110 - Леса густые (обычные). И так для каждого объекта (!!! свой код)
Виталий абсолютно прав, так как у вас в классификаторе нету объектов с такими ключами, то соответственно все выгружается кодами, настроенными по умолчанию. Для импорта из GPSMapEdit я бы посоветовал пересохранить данные в Польском формате и импортировать данные уже конвертором из Польского формата. Для него создан специальный классификатор mp2map.rsc, в котором уже настроены почти все коды программы GPSMapEdit.
Большое спасибо за полезную информацию. Поскольку я использовал ознакомительную версию Панорама Редактор, которая не позволяет импортировать польский формат, то я написал утилиту для замены кодов в MID-файле в соответствии с ini-файлом такого типа:
... [POLYLINE]
; Three levels of highways ; Автомагистраль 0x01=61210000 ; Шоссе основное 0x02=61220000 ; Прочие загородные дороги 0x03=61230000
; Most important kind of street ; Городская магистраль 0x04=61230000 ...
ini-файл сгенерирован на основе файла type-garmin-ru.dat, содержащего коды объектов программы GpsMapEdit.
Проблема была в том, как верно отметил Виталий, что полю "Type Integer" не был поставлен в соответствие код из классификатора. Так как объектов на карте около 22 000, то наименее затратным решением проблемы было автоматизированно исправить значения полей "Type Integer" и "TypeHex".