Линия по текстовому объекту

MapInfo, MapBasic
Ответить
vlalexey
Активный участник
Сообщения: 141
Зарегистрирован: 01 апр 2011, 05:07
Репутация: 9

Линия по текстовому объекту

Сообщение vlalexey » 25 июн 2013, 09:33

Есть слой, в котором находятся текстовые объекты (под разными углами).

Необходимо создать линии, который будут расположены вдоль текстов под тем же углом (как-бы перечеркивая текст) и в атрибуты линии поместить значение текста.

(конечная цель - если включить подписывание у созданных линий, то тексты подписей будут примерно на тех же местах, где и исходные тексты)

Есть какие-то подсказки как это сделать хотя-бы полуавтоматически? (не рисуя линии руками...)

Sibit
Активный участник
Сообщения: 216
Зарегистрирован: 21 окт 2009, 13:29
Репутация: 28
Откуда: Новосибирск

Re: Линия по текстовому объекту

Сообщение Sibit » 09 июл 2013, 05:21

Проще всего программку небольшую написать. Или сделать так(муторно немного, но должно сработать):
1) сохранить копию исходной таблицы
2) в новой добавить 5 колонок - координаты конца и начала линии, а так же колонка для значения тектового объекта
2.2) Обновить значение текстового поля значением надписи
2.5) Выставить вашу проекцию для сеанса(иначе в следующем шаге неверные результаты будут)
3) заполнить их координатами из текстового объекта(тут необходимо посмотреть доки по функции ObjectGeography в доках по MapBasic, сразу скажу вам надо параметры 5 и 6)
4) обновить колонку Obj функцией CreaTeLine с параметрами из колонок, полученных на предыдущем шаге


PS Попробовал что-то подобное у себя - должно получиться :) единственное что - с версией младше 8.5 могут возникнуть сложности, там проекцию для сеанса надо в окне MapBasic выставлять.

Ответить

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

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

Сейчас этот форум просматривают: Semrush [Bot] и 2 гостя