Ориантация мостов

0 голосов
спросил 04 Март, 05 от Wazzzuup_ (3,260 баллов) в категории Программные продукты Esri

Уважаемые знатоки (C) Что? Где? Когда? :)

Подскажите пожалуйста, каким образом можно заставить значки мостов на карте ориентироваться вдоль дорог? А то как-то некрасиво получается видеть значок моста поперек дорожного полотна :)

ps: чувствуется здесь дело пахнет топологией и не все так просто...  Подскажите где копать хотя-бы если что.

Заранее спасибо!

 

8 Ответы

0 голосов
ответил 04 Март, 05 от Alexander1 (32,520 баллов)
Определяешь угол сегмента дороги и устанавливаешь угол поворота символа = этому углу.
0 голосов
ответил 04 Март, 05 от Wazzzuup_ (3,260 баллов)

Я так поимаю это все не вручную, а пример кода можно тогда ? И точно никак по-другому? Ведь при добавлении каждого нового символа все пересчитывать надо или извращаться с кодом чтоб только новые символы просчитывал. Кажется мне это нереальным

Хотя я щас подумал - а как можно отдельный символ даже вручную повернуть?

0 голосов
ответил 05 Март, 05 от Ilya (10,800 баллов)
Создаешь поле поворота в атрибутивной таблице, в свойствах символов во вкладке дополнительно указываешь поворот по этому полю, потом можно вращать точку (при включенном редактирование) инструментом повернуть - поле будет заполняться автоматически.  Можно конечно и вручную поле заполнить, можно попробовать поиграть с азимутами дорог image
0 голосов
ответил 05 Март, 05 от Alexander1 (32,520 баллов)

...или извращаться с кодом...

С кодом надо не извращаться. С кодом надо "работать, работать и ещё раз работать!" В.И Ленин(С)  image

0 голосов
ответил 08 Март, 05 от Wazzzuup_ (3,260 баллов)

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

Вот, а как автоматически заполнить это поле для каждого символа? Ведь нужно программно на теме дорог, отрезок дороги под данным мостом, а потом еще вычислить его угол наклона (ну тут чисто математическая задача, но вот первая часть?). Я умею относительно неплохо программировать на VB и VBA в т.ч., но вот VBA для ArcGIS Это для меня пока еще темный лес. Мне бы для начала познакомиться с основными классами объектов, методов и свойств - дайте ссылки на русские доки. ну или на английские вкрайняк.

0 голосов
ответил 16 Март, 05 от Ulukbek (6,020 баллов)
Для поворота объектов по значению какого то поля код писать не обязательно. Чтобы привязать угол поворота с полем надо открыть свойство слоя, открыть вкладку Symbology, в окошке Show выбрать  Features->Single symbol. В поле Symbol выбирается символ, а кнопка Advanced имеет меню Rotation, там надо указать имя поля для поворота. После этого задать значение угла можно как вручную, так и с помощью редактора "на глаз"...
0 голосов
ответил 26 Март, 05 от Wazzzuup_ (3,260 баллов)

Ulukbek

После этого задать значение угла можно как вручную, так и с помощью редактора "на глаз"...

Ну так вот тут то как раз и желательно сделать все автоматически, а не разворачивать вручную на глаз сотню мостов

0 голосов
ответил 27 Март, 05 от Alexander1 (32,520 баллов)

Надеюсь, этот пример поможет разобраться, как можно "сделать все автоматически":

Rotate Symbol

http://arcobjectsonline.esri.com/arcobjectsonline/samples_orig/editing/editor%20extensions/rotate%20symbol/rotatesymbol.htm

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...