Страница 1 из 1

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

Добавлено: 30 ноя 2024, 18:52
Helena
Добрый день, очень нужна функция по формированию каталога пересечений полигонов , находящихся в двух разных слоях с вычислением площади пересечений.

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

Добавлено: 01 дек 2024, 11:26
gisamap
Добрый день.
Все можете сделать одним sql
Допустим у вас есть две таблицы polygons_1 и polygons_2
Выполняем sql
SqlIntersect.png
SqlIntersect.png (27.37 КБ) 21682 просмотра
Обращаю внимание , Диалект должен быть -расширенный 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 Добрый день, очень нужна функция по формированию каталога пересечений полигонов , находящихся в двух разных слоях с вычислением площади пересечений.

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

Добавлено: 01 дек 2024, 13:35
Helena
Спасибо, буду пробовать, просто с запросами не очень дружу и сколько информации не искала в интернете, ничего найти не смогла. Позже отпишусь.