OpenLayers: как распарсить GML ответ WMSGetFeatureInfo

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

OpenLayers: как распарсить GML ответ WMSGetFeatureInfo

Сообщение Denis Rykov »

Есть контрол, который осуществляет запросы к WMS-серверу, при перемещении мыши:

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

       hover = new OpenLayers.Control.WMSGetFeatureInfo({
                url: 'http://gis-lab.info/cgi-bin/mapserv?map=/usr/local/www/gis-lab/...', 
                title: 'Identify features',
                infoFormat: 'application/vnd.ogc.gml',
                layers: [wms],
                hover: true,
                queryVisible: true
            })
Как на основе полученного ответа вытащить занчение определённого поля?
Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: OpenLayers: как распарсить GML ответ WMSGetFeatureInfo

Сообщение Mavka »

Тыц. А еще проще - в Firebug посмотреть содержимое.

P.S. Уверены, что на hover потянете?
лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayers: как распарсить GML ответ WMSGetFeatureInfo

Сообщение Denis Rykov »

Спасибо за помощь, сработало! Делал подсветку объектов по наведению. Средствами одного map-файла на базе MapServ подняты WMS и WFS. В OL подключается 2 слоя - WMS и первоначально пустой слой для подсветки объектов.По hover делается запрос WMSGetFeatureInfo к WMS слою, полученный GML ответ парсится, достаётся значение некоторого уникального поля и в виде фильтра идёт на WFS слой, полученная по WFS GML геометрия рисуется в OL. Не быстрый алгоритм, но работает. Такой алгоритм описан тут, кроме него там рассмотрены ещё 2. Mavka, пробовали что-нибудь из этого? Или может знаете какой-нибудь способ который работает быстрее?
Spatial is now, more than ever, just another column- The Geometry Column.
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: OpenLayers: как распарсить GML ответ WMSGetFeatureInfo

Сообщение Mavka »

Я делал немного проще. Полученный GML добавлял на пустой векторный слой. Как в этом примере (он нерабочий, но код можно посмотреть). Работало красиво в Firefox, в других браузерах почему то все расползалось. Но пока нет времени на тот проект.
лангольеры под окном жрали время ом-ном-ном
Аватара пользователя
dobeer
Активный участник
Сообщения: 199
Зарегистрирован: 25 дек 2009, 21:54
Репутация: 1
Откуда: Чита
Контактная информация:

Re: OpenLayers: как распарсить GML ответ WMSGetFeatureInfo

Сообщение dobeer »

_DR_, а можно гденить посмотреть как у вас это работает?
Ответить

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

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

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