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

Покажите рабочий пример запроса ST_Intersection

Добавлено: 04 авг 2021, 17:04
_taras_
Приветствую всех!
Имеются функциональные зоны заповедника (один слой) и на их территории произошел пожар (второй). Сгоревшие участки выделены, классифицированы и векторизированы. Необходимо посчитать сгоревшие площади по зонам. Т.е. сгоревший участок находится в двух зонах и нужно разделить его площадь для каждой функциональной зоны (т.е заповедная 5 га, рекреационная 7 га).
Я знаю о функции "Пересечение", но хочется научиться решать такие задачи силам баз данных.
Слои корректно импортированы в бд (рис), postgis установлен...

Re: Покажите рабочий пример запроса ST_Intersection

Добавлено: 04 авг 2021, 20:09
trir

Код: Выделить всё

select ST_Intersection(t1.geom, t2.geom)
from t1, t2
where ST_Intersects(t1.geom, t2.geom)

Re: Покажите рабочий пример запроса ST_Intersection

Добавлено: 04 авг 2021, 22:55
_taras_
trir, спасибо!
Запрос корректно отработал (что естественно), сохранил как вектор. Однако я надеялся, что при выполнении команд столбцы с данными запишутся в запрос.
Или надобно модифицировать запрос?

Re: Покажите рабочий пример запроса ST_Intersection

Добавлено: 04 авг 2021, 23:04
trir
допиши нужные поля
select ST_Intersection(t1.geom, t2.geom) <, сюда>

результат иможно записать в новую таблицу через команду insert

или сохранить как представление через create view