Страница 1 из 1
Работа с объектами слоев
Добавлено: 14 апр 2014, 10:48
kasandra
Есть слой на котором есть линейные, точечные и полигональные объекты, а так же текстовые объекты (выступающие как полноценные объекты, не подписи). Получен tab из автокадовского файла. Задача состоит в том, что бы все эти объекты разнести по слоям, а текстовые удалить. Можно ли как-то за один раз удалить текстовые объекты, не по одному... Сейчас единственный вариант, который рассматриваю это удалять их из mid-файла, это быстрее чем прямо со слоя..но это долго, неудобно, может запрос какой-то...?
Re: Работа с объектами слоев
Добавлено: 14 апр 2014, 11:07
Игорь Белов
Перестройте таблицу, добавив целочисленное поле. Заполните его типом объекта:
Таблица соответствия:
- — дуга
- — эллипс
- — линия
- — полилиния
- — точка
- — фрейм
- — полигон
- — прямоугольник
- — скруглённый прямоугольник
- — текст
- — мультиточка
- — коллекция
Раз уж собираетесь разносить по слоям, зачем удалять тексты? Они всё равно умрут в исходной таблице. Хотите выбрать все линейные объекты, составляете запрос с условием:
Все площадные объекты:
Re: Работа с объектами слоев
Добавлено: 14 апр 2014, 11:38
Slinger
Ещё как вариант.
Вернёт все полигональные объекты. Возможные варианты объектов: region, point, line, polyline, text, arc, ellipse, rect, roundrect. Но это не все, полный список в справочнике MapInfo должен быть.
Хотя вариант, предложенный ErnieBoyd, быстрее обрабатывает объекты и возвращает результат. Ибо MapInfo (и не только ему

)проще проверять целочисленные значения (от 1 до какого-то числа), чем искать вхождение строки.
Re: Работа с объектами слоев
Добавлено: 14 апр 2014, 11:54
kasandra
Спасибо огромное!
Re: Работа с объектами слоев
Добавлено: 14 апр 2014, 11:58
Slinger
Я в своё время русифицировал и допиливал утилиту Stylist. Если неохота заморачиваться с запросами, можете использовать её.
Для MapInfo 7.0 и старше
Re: Работа с объектами слоев
Добавлено: 15 апр 2014, 10:35
Старый Йети
Ну а если уж совсем не заморачиваться (

), то, начиная с версии MI 10.0, идет пакет утилит MapCAD ("В MapCAD входят чертежные и оформительские инструменты MapInfo Professional. Они полезны при выполнении геодезических и землемерных работ, включая элементы автоматического проектирования (CAD)"). Устанавливается при инсталляции MI в C:\Program Files\MapInfo\Professional\MapCAD\MapCAD.MBX . Там эта функция расширена и работает без заморочек с запросами, objectInfo() и т.д.. Успехов!