Страница 1 из 1
					
				Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 10:27
				 cibo
				Есть две таблицы 
1 таблица со srid=4326
2 таблица со srid=900913 
Нужно сравнить их геометрии. Но сравнить не на точное совпадение как это делает ST_Equals(geometry, geometry), а так что бы был какой то допуск. Это возможно сделать?
			 
			
					
				Re: Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 10:31
				 rhot
				не совсем понятно, что за допуск?
			 
			
					
				Re: Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 10:34
				 cibo
				 
Что то вроде такого.
 
			
					
				Re: Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 10:36
				 rhot
				постройте буфер с заданным допуском и сравнивайте их уже.
			 
			
					
				Re: Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 10:52
				 Denis Rykov
				Да, постройте буферные зоны, равные величине допуска и сравните геометрии с помощью 
ST_Within. То есть берете геометрию, строите буфер, сравниваете с остальными (без буфера) и т.д.
 
			
					
				Re: Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 11:15
				 cibo
				Тогда вот такой вопрос: как ST_Equals сравнивает геометрию? По площади или по конфигурации точек? Допустим мои геометрии будут немного разной формы, то построив буфер вокруг одной из них они могут быть сравнены?
			 
			
					
				Re: Сравнение геометрий в PostGis
				Добавлено: 07 авг 2012, 11:41
				 rhot
				ST_Equals сравнивает пространственно, а ST_OrderingEquals - геометрически. Допустим, объект LINESTRING(0 1, 3 3) пространственно идентичен LINESTRING(3 3, 0 1), а вот геометрически вовсе нет и вывод ST_OrderingEquals будет FALSE.