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

Случай пространственного анализа. Help!

Добавлено: 26 ноя 2017, 10:24
Crackfox
Добрый день!
Имеется следующая задача: есть 2 векторных полигональных слоя (назовем их A и B), соответствующие одной и той же территории. Границы полигонов в слоях A и B не совпадают, так как несут в себе информацию о совершенно разных объектах (н-р на один полигон слоя B могут накладываться до 70 полигонов слоя A). Необходимо используя ср. знач. по одному из атрибутов полигонов слоя A "попадающих" в один полигон слоя B, создать слой C . Слой C будет представлять собой классифицированный слой B.
Н-р: ср. площадь 25 полигонов слоя A в одном полигоне слоя B равна 16.78. Значит данный полигон слоя B в слое C будет отнесен к классу "<20".
Какие инструменты нужно использовать? Очень надеюсь быть понятым, спасибо!)

Re: Случай пространственного анализа. Help!

Добавлено: 26 ноя 2017, 12:02
trir
можно управится в пару SQL запросов (можно и в один - но наверно не стоит)

Re: Случай пространственного анализа. Help!

Добавлено: 26 ноя 2017, 14:57
Crackfox
trir писал(а):
26 ноя 2017, 12:02
можно управится в пару SQL запросов
Ок, если Вам не трудно объясните как это делается

Re: Случай пространственного анализа. Help!

Добавлено: 26 ноя 2017, 15:14
trir
1. Загружаете данные в БД
2. Выполняете запросы
3. ...
4. Profit

Re: Случай пространственного анализа. Help!

Добавлено: 26 ноя 2017, 16:35
Crackfox
trir писал(а):
26 ноя 2017, 15:14
1. Загружаете данные в БД
2. Выполняете запросы
3. ...
4. Profit
видимо нужно было открывать в Я-новичок!
С консолью SQL ранее не работал. синтаксис не знаю, пока что.
По Вашим материалам на гислабе понял что нужно: 1) найти пересечения полигонов А в полигоне В, 2) посчитать ср. значение Атрибут полигонов А внутри одного полигона B.
Какие функции для этого нужно использовать ?

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

SELECT ST_Intersection(,
"INVENTORY_DATA".*,"Clipped_shadows_plus_area_22".*) 
FROM "INVENTORY_DATA", "Clipped_shadows_plus_area_22"
видимо ошибка синтаксиса

Re: Случай пространственного анализа. Help!

Добавлено: 26 ноя 2017, 16:43
trir
ST_Intersection(,"INVENTORY_DATA".*,"Clipped_shadows_plus_area_22".*)
должно быть
SELECT ST_Intersection(tbl1.geom,tbl2.geom)
FROM "INVENTORY_DATA" as tbl1, "Clipped_shadows_plus_area_22" as tbl2
где geom - поле с геометрией
1. ST_Intersects
2. AVG