Получение информации о стилях .TAB

MapInfo, MapBasic
Ответить
Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Получение информации о стилях .TAB

Сообщение Snef » 27 мар 2020, 10:52

Здравствуйте!
Необходимо программно (в .NET приложении) считать слой карты в TAB формате (+ ID, DAT, MAP) с сохранением стилей.

Пример 1: есть слой с точками и на каждой из них изображение автобусной остановки.
Когда я открываю слой в MapInfo, то эти точки отображаются с картинками (см скриншот 1), но программно считать этот слой и получить информацию о этих картинках не получается.
Изображение

Пример 2: есть слой с полигонами (см скриншот 2).
Когда я открываю в MapInfo, то они заполнены зеленым цветом, но программно информацию о этом цвете не получить.
Изображение

Попробовал пару бесплатных вариантов: AsposGIS, GDAL\OGR, но они позволяются считать только данные о геометрии.

Вопрос: Каким образом можно программно получить данные о стиле объектов TAB файла: цвет заливки, жирность, тип линии, изображение маркера и т.д? Может ли оффициальный MapExtreme SDK считывать эту информацию?

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

Re: Получение информации о стилях .TAB

Сообщение Игорь Белов » 27 мар 2020, 12:27

Snef писал(а):
27 мар 2020, 10:52
Попробовал пару бесплатных вариантов: AsposGIS, GDAL\OGR, но они позволяются считать только данные о геометрии.
Допустим, надо конвертировать zx.TAB в шейп-файл с информацией о стилях объектов:

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

ogr2ogr -f "ESRI Shapefile" -sql "SELECT *, OGR_STYLE FROM zx" zx.shp zx.TAB
The purpose of computing is insight, not numbers

qosmos
Новоприбывший
Сообщения: 6
Зарегистрирован: 26 сен 2018, 15:18
Репутация: 0
Откуда: SPb

Re: Получение информации о стилях .TAB

Сообщение qosmos » 27 мар 2020, 21:46

Вопрос: Каким образом можно программно получить данные о стиле объектов TAB файла
В питоне работает вот такой метод для Feature:

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

style = feature.GetStyleString()
Думаю, в шарпе он тоже есть.

Snef
Новоприбывший
Сообщения: 14
Зарегистрирован: 27 мар 2020, 10:29
Репутация: 0
Откуда: с сайта MapInfo

Re: Получение информации о стилях .TAB

Сообщение Snef » 30 мар 2020, 09:15

Огромное спасибо за ответ! Да, StyleString могу получить в формате:
SYMBOL(a:0,c:#ff0000,s:18pt,id:"mapinfo-sym-80,ogr-sym-1")
Но изображение mapinfo-sym-80, как я понимаю "зашито" в MapInfo ?

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

Re: Получение информации о стилях .TAB

Сообщение Игорь Белов » 30 мар 2020, 18:37

Snef писал(а):
30 мар 2020, 09:15
изображение mapinfo-sym-80, как я понимаю "зашито" в MapInfo ?
Именно так. Смущает только число 80, поскольку в моей версии MapInfo внутренняя таблица символов ограничена номером 67.
The purpose of computing is insight, not numbers

Ответить

Вернуться в «MapInfo»

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

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