www.map-info.ru :: Просмотр темы - УЗЛЫ!
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

узлы добавляются не как заблагорассудится, а в том порядке, в котором их надо замыкать, чтоб получился нужный контур. соответственно, программно находите номер узла, после которого нужно добавить очередной, и добавляете его. все, в общем, просто и понятно
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru