Страница 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;
не работает?  

 
			
					
				Re: Анализ соседства полигонов
				Добавлено: 14 сен 2011, 10:17
				 xen87
				И так работает 

 Большое спасибо за решение!!!