Анализ соседства полигонов
-
- Активный участник
- Сообщения: 168
- Зарегистрирован: 08 апр 2009, 14:44
- Репутация: 18
- Откуда: Кострома
Анализ соседства полигонов
Здравствуйте, стоит задача: имеется полигональный слой (скажем bnd-political-boundary-a). По заданному условию выделен один полигон (ID=4581), необходимо выделить полигоны, имеющие общую границу с выделенным полигоном. В руководстве по PostGIS нашел функцию ST_touches(geom,geom)=1 (true) если геометрии "пространственно соприкасаются", но составить рабочий запрос не удается. Подскажите пожалуйста, ту ли я функцию использую и может быть кто-то уже решал подобную задачу и может привести пример? Заранее большое спасибо.
-
- Активный участник
- Сообщения: 168
- Зарегистрирован: 08 апр 2009, 14:44
- Репутация: 18
- Откуда: Кострома
Re: Анализ соседства полигонов
Решил задачу следующим образом: вставил в Постгресс еще раз полигональный слой 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;

Решить задачу только с одним полигональным слоем (без клонирования) к сожалению не получилось

-
- Участник
- Сообщения: 54
- Зарегистрирован: 15 янв 2011, 23:03
- Репутация: 1
- Откуда: Ukraine
Re: Анализ соседства полигонов
а так:
не работает? 
Код: Выделить всё
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;

-
- Активный участник
- Сообщения: 168
- Зарегистрирован: 08 апр 2009, 14:44
- Репутация: 18
- Откуда: Кострома
Re: Анализ соседства полигонов
И так работает
Большое спасибо за решение!!!

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя