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

Анализ соседства полигонов

Добавлено: 09 сен 2011, 22:23
xen87
Здравствуйте, стоит задача: имеется полигональный слой (скажем bnd-political-boundary-a). По заданному условию выделен один полигон (ID=4581), необходимо выделить полигоны, имеющие общую границу с выделенным полигоном. В руководстве по PostGIS нашел функцию ST_touches(geom,geom)=1 (true) если геометрии "пространственно соприкасаются", но составить рабочий запрос не удается. Подскажите пожалуйста, ту ли я функцию использую и может быть кто-то уже решал подобную задачу и может привести пример? Заранее большое спасибо.

Re: Анализ соседства полигонов

Добавлено: 13 сен 2011, 21:08
xen87
Решил задачу следующим образом: вставил в Постгресс еще раз полигональный слой bnd-political-boundary-a, получил две идентичные таблицы, только с разными названиями: bnd-political-boundary-a и bnd-political-boundary-a_3
Затем составил запрос вида:

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

select b.ID, b.NAM
from "bnd-political-boundary-a" as b,
"bnd-political-boundary-a_3" as b3
where ST_Touches(b3.the_geom,b.the_geom)=true and b3.ID=4581;
И заработало :-)
Решить задачу только с одним полигональным слоем (без клонирования) к сожалению не получилось :-(

Re: Анализ соседства полигонов

Добавлено: 13 сен 2011, 23:16
sdikiy
а так:

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

select b.ID, b.NAM
from "bnd-political-boundary-a" as b,
"bnd-political-boundary-a" as b3
where ST_Touches(b3.the_geom,b.the_geom)=true and b3.ID=4581;
не работает? :shock:

Re: Анализ соседства полигонов

Добавлено: 14 сен 2011, 10:17
xen87
И так работает :-) Большое спасибо за решение!!!