запросы к POSTGIS

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
n0ip
Интересующийся
Сообщения: 23
Зарегистрирован: 13 ноя 2008, 18:55
Репутация: 0

запросы к POSTGIS

Сообщение n0ip » 08 апр 2009, 19:29

Имеется связка POSTGIS+OpenLayers+MapServer.
Задача: выбираю последовательно дом на карте, ввожу его адрес, записываю в БД.
Проблема в том, что карта большая, а когда я обхожу ее обычным SQL-запросом SELECT, то объекты выбираются в разных уголках карты. Как можно составить запрос, чтобы выбирать объекты последовательно из одной области, например.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: запросы к POSTGIS

Сообщение KolesovDmitry » 09 апр 2009, 11:02

Не очень понятно, что означает процедура обхода карты запросом SELECT.
n0ip писал(а): Проблема в том, что карта большая, а когда я обхожу ее обычным SQL-запросом SELECT, то объекты выбираются в разных уголках карты. Как можно составить запрос, чтобы выбирать объекты последовательно из одной области, например.
Я правильно понимаю, что это запрос следующего вида?

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

SELECT ... FROM dom WHERE dom_id=ID
Если это действительно так, то можно:
1) Проиндексировать базу по пространственным объектам
2) Добавить в запрос выборку по охвату:

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

SELECT ... FROM dom WHERE (the_geom && bbox) AND (dom_id=ID) 
где the_geom - имя поля, хранящего геометрию, bbox - геометрический объект, представляющий охват интересующей вас области.
Последний раз редактировалось KolesovDmitry 09 апр 2009, 14:21, всего редактировалось 1 раз.

n0ip
Интересующийся
Сообщения: 23
Зарегистрирован: 13 ноя 2008, 18:55
Репутация: 0

Re: запросы к POSTGIS

Сообщение n0ip » 09 апр 2009, 13:56

Большое спасибо за подсказку! =) Как домой доберусь - попробую и отпишусь по результатам.

И еще один маленький вопрос очень интересует: в openlayers у меня поле размерами (0,0,700,550). Есть возможность получить координату курсора (вроде как сам опенлайерс умеет ее возвращать в разных форматах). Как ее соотнести с данными в postgis?
Другими словами: я кликаю в дом, получаю (x,y) или (широту,долготу) в месте клика указателем. К примеру, (340,230). Как мне узнать попал ли я в какой либо геометрический объект из слоя, выведенного из postgis'a?..
Если не очень хорошо сформулировал - скажите =)

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

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