4 (27), 2003 г. Преобразуване на проекти на MapInfo в проекти на ArcGIS
Всички числа
4 (27) | 2003 г. Преобразуване на проекти на MapInfo в проекти на ArcGIS
Владимир Соколов, Николай Добрецов, Борис Берхин, Юрий Бърнстейн
Data East LLC, Новосибирск, тел. (383-2) 32-03-20, факс 32-57-85, e-mail: [email protected]
Проект MapInfo означава преди всичко:
- файл на проекта (разширение WOR), който описва слоевете данни, върху които е изградена картата, списък на слоевете, техните характеристики и т.н.
- самите данни са набор от таблици MapInfo (разширение TAB)
Проектът ArcGIS (по-точно ArcMAP) означава:
- Файл на проекта ArcMAP (разширение MXD)
- данни във шейпфайлове (разширение SHP)
Проблеми за решаване на технологичен проблем
MapInfo и ArcGIS са усъвършенствани ГИС системи, които могат да решат широк спектър от задачи. Между тях обаче има редица идеологически различия.
Преди всичко те прилагат различен обектен модел и модел на данни. Първият има вграден език за програмиране (MapBasic) - диалект на обикновения Basic. Вторият е вграденият език Visual Basic и усъвършенстван обектен модел, базиран на COM интерфейси. Трябва да се отбележи, че обектният модел MapInfo е много по-нисък по отношение на изтънчеността, освен това той е напълно достъпен само от приложенията MapBasic. Но дори и в този случай не всички параметри и свойства на обектите могат да бъдат извлечени програмно (например параметри на тематични слоеве). Следователно, на етапа на извличане на информация, ние използваме комбиниран подход: част от параметрите ще бъдат извлечени от приложение, написано в MapBasic, част - чрез анализ на файла на проекта (WOR файл).
Друга разлика са различните подходи за съхранение и показване на данни:
- MapInfo ви позволява да смесвате обекти от различни типове (например текст, полигони и полилинии) в една и съща таблица. ArcGIS приема, че един слой съдържа само един тип данни (като редове).
- MapInfo може да съхранява информация за символи (обекти, които определят как даден графичен обект ще бъде показан) директно в таблици с данни. ArcGIS съхранява тази информация само във файла на проекта, като избира подходящия символ въз основа на информация от таблицата на атрибутите.
- MapInfo кодира твърдо типа на символа като цяло число (например за многоъгълник, типа на штриховката). Има около сто такива кода за всеки пространствен тип обекти (многоъгълник, линия, точка). ArcGIS има други, по-гъвкави кодировки на символи, по-специално можете да създадете свой собствен тип линия.
Тези и други разлики оставят своя отпечатък върху процеса на предаване на информация.
Разработихме програма, която използва следната технологична последователност на трансформацията на информацията:
- Извлечете необходимата информация от файла на проекта MapInfo и неговия обектен модел и я запазете в XML файл.
- Експортиране на таблици MapInfo към данни на ArcGIS, т.е. TAB таблици към SHP.
- Преобразуване на извлечените данни в проект ArcMAP и запазване на този проект след всички инсталации.
- Формиране на списък с неконвертирана информация.