Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 28 мар 2024 16:57

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Неправильно працює функція "Петля в складний полігон"
СообщениеДобавлено: 23 дек 2014 22:15 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
Зіткнувся з проблемою, що в деяких випадках команда "Петля в складний полігон" просто не працює. А саме, коли петля створювалася спочатку по внутнішніх точках (довкола будівлі), а вже потім по зовнішніх (як на зображенні).

Бачив по форумі, раніше була проблема, що якщо петля починалася з першої точки, то дублювалися суміжники. І там sergeypetrovi4 піднімав питання, як за допомогою скрипту дізнатися, що об'єкт має форму петлі? Чи реалізована така можливість? Якщо не вдастся виправити цю проблему, то тоді можна ось такі петлі, які починаються всередину просто перерисовувати заново командою "Петля" і вже тоді перетворювати у складний полігон. Але для цього потрібна скриптова функція, яка перевіряє об'єкт на те, має він петлю чи ні.

Відмічу також, що якщо в об'єкті є кілька внутрішніх контурів, то функція неправлиьно працює тільки із першим об'єктом. Всі інші формуються.


Вложения:
2014-12-23_215629.jpg
2014-12-23_215629.jpg [ 25.84 Кб | Просмотров: 5342 ]

_________________
додатково про скрипти Digitals на www.digitals.at.ua
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неправильно працює функція "Петля в складний полігон"
СообщениеДобавлено: 26 дек 2014 19:59 
Эксперт
Эксперт

Зарегистрирован:
09 сен 2014 19:26
Сообщения: 97
fendak писал(а):
як за допомогою скрипту дізнатися, що об'єкт має форму петлі?


Також приєднуюсь до запитання.


Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неправильно працює функція "Петля в складний полігон"
СообщениеДобавлено: 27 дек 2014 15:38 
Гуру
Гуру

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 797
Откуда: Львівська область
sergykydr писал(а):
fendak писал(а):
як за допомогою скрипту дізнатися, що об'єкт має форму петлі?


Також приєднуюсь до запитання.


Якщо Вам потрібно, то функцію, яка визначає, чи є об'єкт у формі петлі чи ні, я вже придумав, але вона знаходить тільки ті петлі, які починаються з першої точки об'єкту (для мого випадку підходять ідеально, бо якщо петля починається не з першої точки, то вона не може бути неправильною, тобто починатися не назовні, а всередину):

Перевірка | Очистить удаленные объекты
$MC=@Map.Count
$N=0
%Pochatok
$R=0
$N=$N+1
$KoordP1=@Map.Object[$N].Point[1]
@Map.SelectObject $N
@Map.Selected.MarkPoints ALL
$PC=@Map.Object[$N].GetMarkedPointsCount
@Map.Selected.MarkPoints CLEAR
$NP=0
%StartPoint
$NP=$NP+1
$KoordP=@Map.Object[$N].Point[$NP]
@If $KoordP<>$KoordP1 then @Goto %Next
$R=$R+1
%Next
@if $NP<$PC then @Goto %StartPoint
@if $R=3 then @Dialog.Message Виділений об'єкт має форму петлі
@Map.DeselectAll
@if $N<$MC then @Goto %Pochatok


Але, як тепер перерисувати цей об'єкт заново уже з правильною формою ще не знаю.

До речі, питання до розробників, чому немає у скриптах функції @Map.Object[N].Points.Count?

_________________
додатково про скрипти Digitals на www.digitals.at.ua


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 2 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 103


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB