Добрый день.
Все можете сделать одним sql
Допустим у вас есть две таблицы polygons_1 и polygons_2
Выполняем sql

- 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
Добрый день, очень нужна функция по формированию каталога пересечений полигонов , находящихся в двух разных слоях с вычислением площади пересечений.