Выбор объектов с наложением друг на друга

Вопросы связанные с работой ГИС Аксиома
Ответить
Аватара пользователя
LiSa
Пользователь
Сообщения: 109
Зарегистрирован: 20 сен 2023, 17:19

Выбор объектов с наложением друг на друга

Сообщение LiSa » 01 апр 2026, 17:11

Здравствуйте.
Подскажите, пожалуйста, есть 2 полигональных слоя. Необходимо выбрать объекты с наложением друг на друга менее 0,03 м.
В SQL запросе использую условие вида:
Overlaps(01.obj, 02.obj) < 0.03
Верно ли это?
Запрос зависает и не выдает результата.
Спасибо.
Аватара пользователя
Александр
Администратор
Сообщения: 770
Зарегистрирован: 18 апр 2019, 11:21

Re: Выбор объектов с наложением друг на друга

Сообщение Александр » Сегодня, 15:40

Условие Overlaps(...) < 0.03 не работает
Функция Overlaps возвращает не числовое значение площади, а логический результат: «да» (1) или «нет» (0). Она лишь подтверждает факт того, что объекты пересекаются определенным образом. Поэтому сравнивать её результат с числом 0.03 некорректно.

Как рассчитать площадь наложения
Чтобы отобрать объекты по площади пересечения, нужно:
1. Построить геометрию пересечения (общую часть объектов).
2. Вычислить площадь этой общей части.
3. Сравнить площадь с нужным значением.

Ниже приведен пример условия. Обратите внимание, что площадь измеряется в квадратных метрах (`sq m`).

Code: Select all

Overlaps(
FromAxiGeo(_01.obj),
FromAxiGeo(_02.obj)
)
AND Area(
ToAxiGeo(
Intersection(
FromAxiGeo(_01.obj),
FromAxiGeo(_02.obj)
),
TableCoordSys('_01')
),
'sq m'
) < 0.3
Вложения
help.png
Ответить