Пересечение полигонов

Предложения и пожелания по дальнейшему развитию ГИС Аксиома
Ответить
Аватара пользователя
Helena
Пользователь
Сообщения: 4
Зарегистрирован: 30 ноя 2024, 17:56

Пересечение полигонов

Сообщение Helena » 30 ноя 2024, 18:52

Добрый день, очень нужна функция по формированию каталога пересечений полигонов , находящихся в двух разных слоях с вычислением площади пересечений.
Аватара пользователя
gisamap
Пользователь
Сообщения: 371
Зарегистрирован: 18 окт 2019, 11:03

Re: Пересечение полигонов

Сообщение gisamap » 01 дек 2024, 11:26

Добрый день.
Все можете сделать одним sql
Допустим у вас есть две таблицы polygons_1 и polygons_2
Выполняем sql
SqlIntersect.png
SqlIntersect.png (27.37 КБ) 1590 просмотров
Обращаю внимание , Диалект должен быть -расширенный sql
В "Выбрать колонки"
polygons_1.ID,polygons_2.ID,Intersection(FromAxiGeo(polygons_1.obj),FromAxiGeo(polygons_2.obj)) as obj,Area(Intersection(FromAxiGeo(polygons_1.obj),FromAxiGeo(polygons_2.obj)), "sq m") as area
в данном случае в результат мы выбираем polygons_1.ID,polygons_2.ID ( можно добавить любые колонки исходных таблиц)
А вот дальше самое интересное
Intersection(FromAxiGeo(polygons_1.obj),FromAxiGeo(polygons_2.obj)) as obj - это полигоны пересечения
FromAxiGeo(polygons_2.obj)) as obj,Area(Intersection(FromAxiGeo(polygons_1.obj),FromAxiGeo(polygons_2.obj)), "sq m") as area - полигоны пресечения и их площади

Условие выбора
polygons_1.obj Intersects polygons_2.obj - пересечение полигонов

Видео https://disk.yandex.ru/i/lpwu3LgcHtYB8g
Helena писал(а): 30 ноя 2024, 18:52 Добрый день, очень нужна функция по формированию каталога пересечений полигонов , находящихся в двух разных слоях с вычислением площади пересечений.
Аватара пользователя
Helena
Пользователь
Сообщения: 4
Зарегистрирован: 30 ноя 2024, 17:56

Re: Пересечение полигонов

Сообщение Helena » 01 дек 2024, 13:35

Спасибо, буду пробовать, просто с запросами не очень дружу и сколько информации не искала в интернете, ничего найти не смогла. Позже отпишусь.
Ответить