Доброго дня.
Пробував застосовувати функції сценарію контролю, розроблені 22.10.18:
[Overlay] Ошибки наложения полигонов
A,70008:N ; Наложение полигонов %L1 и %L2 (площадь %V кв.м.)
[Gap] Ошибки зазора между полигонами
A,70008:N ; Зазор между полигонами %L1 и %L2 (площадь %V кв.м.)
В функции Gap через пробел можно задать максимальную площадь зазора в кв.м, который считается ошибкой, а в Overlay - минимальную площадь перекрытия, например [Overlay 0.01].
Відтепер легко знайти в карті перекриття полігонів вказаних шарів, а застосувавши функцію
[Overlay] без вказування мінімальної площі - знайти усі перекриття
. Однак, щоб знайти всі зазори між полігонами вказаних шарів, виявляється мало застосувати функцію
[Gap], обов'язково вказавши максимальну площу, менше якої зазор буде вважатись помилкою
Нижче наведені випадки, коли Gap знаходить:
- "зазор" між двома позначеними полігональними об'єктами, які мають декілька фрагментів спільної межі по лінії (мал.1), хоча є полігон 13 (жовтим кольором);
- "зазор" у межах внутрішнього полігона складного (комплексного) полігонального об'єкта (мал.2), хоча є полігон 13 (жовтим кольором);
- "зазор" між двома позначеними полігональними об'єктами, які мають спільну межу лише в одній-єдиній точці.
Вложение:
Gap.PNG [ 374.21 Кб | Просмотров: 22754 ]
Отже, щоб знайти всі зазори між полігональними об'єктами карти треба:
1) запустити функцію
[Gap] сценарію контроля;
2) створити точкові об'єкти за координатами з текстового лог-файла;
3) запустити функцію
[Not Inside] іншого сценарію контроля, яка запише в лог-файл координати точкових об'єктів, що не знаходяться всередині контура полігональних об'єктів;
4) видалити точкові об'єкти.
В текстовому лог-файлі отримаємо координати центроїдів справжніх зазорів.
В мене питання до розробників: чи не можна в алгоритм роботи функції
[Gap] включити таку перевірку (Not Inside)
Тоді Gap буде знаходити справжні зазори.