Страница 1 из 1
					
				запросы к POSTGIS
				Добавлено: 08 апр 2009, 19:29
				 n0ip
				Имеется связка POSTGIS+OpenLayers+MapServer.
Задача: выбираю последовательно дом на карте, ввожу его адрес, записываю в БД.
Проблема в том, что карта большая, а когда я обхожу ее обычным SQL-запросом SELECT, то объекты выбираются в разных уголках карты. Как можно составить запрос, чтобы выбирать объекты последовательно из одной области, например.
			 
			
					
				Re: запросы к POSTGIS
				Добавлено: 09 апр 2009, 11:02
				 KolesovDmitry
				Не очень понятно, что означает процедура обхода карты запросом SELECT.
n0ip писал(а):
Проблема в том, что карта большая, а когда я обхожу ее обычным SQL-запросом SELECT, то объекты выбираются в разных уголках карты. Как можно составить запрос, чтобы выбирать объекты последовательно из одной области, например.
Я правильно понимаю, что это запрос следующего вида?
Если это действительно так, то можно:
1) Проиндексировать базу по пространственным объектам
2) Добавить в запрос выборку по охвату:
Код: Выделить всё
SELECT ... FROM dom WHERE (the_geom && bbox) AND (dom_id=ID) 
где the_geom - имя поля, хранящего геометрию, bbox - геометрический объект, представляющий охват интересующей вас области.
 
			
					
				Re: запросы к POSTGIS
				Добавлено: 09 апр 2009, 13:56
				 n0ip
				Большое спасибо за подсказку! =) Как домой доберусь - попробую и отпишусь по результатам.
И еще один маленький вопрос очень интересует: в openlayers у меня поле размерами (0,0,700,550). Есть возможность получить координату курсора (вроде как сам опенлайерс умеет ее возвращать в разных форматах). Как ее соотнести с данными в postgis?
Другими словами: я кликаю в дом, получаю (x,y) или (широту,долготу) в месте клика указателем. К примеру, (340,230). Как мне узнать попал ли я в какой либо геометрический объект из слоя, выведенного из postgis'a?..
Если не очень хорошо сформулировал - скажите =)