Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Alex
Зарегистрирован: 31.10.2008 Сообщения: 80
|
Добавлено: Вс Ноя 23, 2014 10:47 pm Заголовок сообщения: УЗЛЫ! |
|
|
Здравствуйте, уважаемая аудитория.
Сориентируйте пожалуйста в вопросе добавить узел к полигону.
Уже научился, в том числе благодаря обсуждаемым здесь вопросам, как строить полигон/полилинию по точкам с известными координатами.
Умею руками добавлять/удалять узлы для полигонов/полилиний.
Сейчас необходимо сделать это в программе на MapBasic.
Есть полигон
Areas.tab
ID = 1
objA = Areas.obj
есть точка (будущий узел), известны ее координаты, x,y. Точка гарантированно принадлежит одной из сторон полигона (будет интересно как я это обнаружил, расскажу с удовольствием)
Ситуация отлична от описанных тем, что объект собственно существует уже!
код:
Alter Object objA
Node Add (x,y)
Update Table Areas
Set obj = objA
Where RowID = 1
НЕ РАБОТАЕТ
код:
nodeN = ObjectInfo(objA, OBJ_INFO_NPNTS)
Alter Object objA
Node Add Position 1, nodeN+1 (x,y)
Update Table Areas
Set obj = objA
Where RowID = 1
НЕ РАБОТАЕТ
В теории все понятно как должно быть, а на практике...
Прошу Вас помочь.
Спасибо |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
Добавлено: Пн Ноя 24, 2014 12:59 pm Заголовок сообщения: |
|
|
Alter Object obj
{ Info object_info_code , new_info_value |
Geography object_geo_code , new_geo_value |
Node { Add [ Position polygon_num , node_num ] ( x, y ) |
Set Position polygon_num , node_num ( x , y ) |
Remove Position polygon_num , node _num
}
}
может надо указать номер полигона и номер узла? |
|
Вернуться к началу |
|
|
Alex
Зарегистрирован: 31.10.2008 Сообщения: 80
|
Добавлено: Пн Ноя 24, 2014 11:26 pm Заголовок сообщения: |
|
|
спасибо за мнение.
я попытаюсь это проделать еще раз
Но правильно ли я понимаю:
1. если атрибут "OBJ_INFO_NPNTS" функции ObjectInfo показывает, что в полигоне 4 узла, тогда узел, который я хочу добавить в полигон, будет иметь номер 5?
2. если полигон один, с его номером все понятно, а как быть с поиском номера исследуемого полигона, если полигонов на слое больше чем один?
Спасибо. |
|
Вернуться к началу |
|
|
Alex
Зарегистрирован: 31.10.2008 Сообщения: 80
|
Добавлено: Вт Ноя 25, 2014 12:02 am Заголовок сообщения: |
|
|
есть еще такой вопрос
как на границе объекта или на полилинии указать место будущего узла при его добавлении вручную.
прочитал на здесь на форуме одну хитрость как обнаруживать узлы наведением на них курсовром.
Помните такой способ: на английской раскладке клавиатуры выбрать букву "s" и узелок к узелку стыкуется просто волшебно.
А как с точечным объектом на линии быть, т.е чтобы точка была на линии, а не вблизи ее.
Спасибо. |
|
Вернуться к началу |
|
|
FedorinoFF
Зарегистрирован: 01.02.2007 Сообщения: 272 Откуда: Санкт-Петербург
|
Добавлено: Ср Ноя 26, 2014 9:13 pm Заголовок сообщения: |
|
|
узлы добавляются не как заблагорассудится, а в том порядке, в котором их надо замыкать, чтоб получился нужный контур. соответственно, программно находите номер узла, после которого нужно добавить очередной, и добавляете его. все, в общем, просто и понятно |
|
Вернуться к началу |
|
|
|