www.map-info.ru :: Просмотр темы - Как определить имеется ли у полигона "Окно"
                               РќР° главную страницу сайта

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

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



Зарегистрирован: 03.03.2008
Сообщения: 13

СообщениеДобавлено: Пн Мар 10, 2008 4:57 pm    Заголовок сообщения: Как определить имеется ли у полигона "Окно" Добавить ответ со ссылкой на данный текст

Имеем полигон.. Внутри этого полигона есть пустое "окно"
Как средствами MapBASIC'а определить координаты вершин этого окна
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Вт Мар 11, 2008 2:17 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

"Дырявый" регион что-ли? Такие регионы состоят из 2 полигонов. Координаты второго полигона и есть координаты "дырки"
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Albert



Зарегистрирован: 03.03.2008
Сообщения: 13

СообщениеДобавлено: Вт Мар 11, 2008 5:36 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Отлично.. Спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Albert



Зарегистрирован: 03.03.2008
Сообщения: 13

СообщениеДобавлено: Вт Мар 11, 2008 5:41 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Значит сделал так
При помощи ObjectInfo(new_obj, OBJ_INFO_NPOLYGONS) узнал количество полигонов,
А при помощи ObjectInfo(new_obj, OBJ_INFO_NPOLYGONS+i) получил поличество вершин в заданном полигоне
А потом при помощи ObjectNodeX(new_obj, i, n) и ObjectNodeY(new_obj, i, n) обошел все полигоны в двойном цикле где i цикл полигонов, а n цикл вершин
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Ср Июн 25, 2008 2:48 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

К сожалению, замечены случаи, когда "дырка" была первым полигоном.... Был несколько расстроен :-)

Последний раз редактировалось: FedorinoFF (Пн Июн 30, 2008 1:00 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Albert



Зарегистрирован: 03.03.2008
Сообщения: 13

СообщениеДобавлено: Ср Июн 25, 2008 2:54 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Спасибо... буду следить за подобной ситуацией.. А есть способ определить что это дырка? Я так думаю только при помощи сравнения площадей полигонов. Полигон с наибольшей площадью и является основным.. Или еще как возможно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Jim Jam



Зарегистрирован: 30.07.2008
Сообщения: 6

СообщениеДобавлено: Ср Июл 30, 2008 9:57 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Если полигон "Entirely Within" - он и дырка :)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Сб Авг 02, 2008 2:26 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

а как насчет кружок в бублике? в это случае кружок совсем не "дырка", хотя он entirely within... ;-)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Jim Jam



Зарегистрирован: 30.07.2008
Сообщения: 6

СообщениеДобавлено: Сб Авг 02, 2008 8:08 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

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

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


Top.Mail.Ru