Аналитика

Цифровая фотограмметрия, картография и землеустройство
Текущее время: 22 ноя 2017 14:36

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




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

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

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

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


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

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

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


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


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

Зарегистрирован:
05 апр 2012 10:20
Сообщения: 469
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


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

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


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

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


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

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