Вопрос по GeoServer+OpenLayers

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Вопрос по GeoServer+OpenLayers

Сообщение Kris » 31 май 2011, 03:29

Подскажите как в OpenLayers реализовать вывод части данных из слоя GeoServer-а. Т.е. мне требуется вывести только несколько событий из этого слоя. Например произощедшие 15.11.1985.
Слой в GeoServer содержит события и их свойства(дату, координаты и др.).

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Вопрос по GeoServer+OpenLayers

Сообщение Mavka » 31 май 2011, 14:48

WMS или WFS?
Серверы WMS и фильтрация данных
Для WFS тоже фильтр пишется.

P.S. Модератору - перенесите топик в Веб-картографию
лангольеры под окном жрали время ом-ном-ном

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 02 июн 2011, 07:45

Спасибо, попробую.

P.S. Модератору - не закрывайте пока тему.

givchik
Новоприбывший
Сообщения: 10
Зарегистрирован: 26 апр 2011, 11:56
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение givchik » 02 июн 2011, 17:10

В примерах есть вот это
http://openlayers.org/dev/examples/wmst.html

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 09 авг 2011, 07:04

Первый пример(Серверы WMS и фильтрация данных) не помог.

А второй не совсем понятен. Если я не ошибаюсь, на openlayers.org используется MapServer, а с GeoServer у меня не получилось получить аналогичный результат.

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 09 авг 2011, 07:07

Подскажите, что требуется для получения аналогичного результата для GeoServer и OpenLayers?

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 09 авг 2011, 08:43

Здесь странный адрес расположения слоя "http://mesonet.agron.iastate.edu/cgi-bi ... /n0r-t.cgi?". Аналогично в этом примере в скрипте wfs-filter.js.

Что располагается по этому адресу, как это работает, возможно ли использовать это для GeoServer?

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Вопрос по GeoServer+OpenLayers

Сообщение Mavka » 09 авг 2011, 09:09

Там располагается CGI-впраппер сервера UMN MapServer (тыц). Для этой программы создание врапперов очень распространено, тем более что версия 5.6 плохо работала с временнЫми заспросами и приходилось использовать небольшой хак.

В GeoServer поддержка спецификации WMS-T работает хорошо сама по себе.
лангольеры под окном жрали время ом-ном-ном

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 09 авг 2011, 09:41

В этом примере если я не ошибаюсь есть база, хранящая "атмосферные данные" которые по времени из формы получает OpenLayers. Это делается помощью картографического сервера (скорее всего MapServer) и
Mavka писал(а):CGI-впраппер сервера UMN MapServer .
.

Подскажите пожалуйста как тогда реализовать фильтр как в этом примере, но только для GeoServer. Как правильно описать new OpenLayers.Layer, с каким доп. параметрами и что еще нужно дописать? Я не нашел другого примера показывающего как отразить не весь Layer, а не его часть.
Если можно напишите пример.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Вопрос по GeoServer+OpenLayers

Сообщение Mavka » 09 авг 2011, 10:14

WMS-T - это обычный WMS с доп. параметрами. В OpenLayers делаете все как обычно, обратите внимание на параметр time:

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

ia_wms = new OpenLayers.Layer.WMS("Nexrad",
    "http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r-t.cgi?",
    {
        layers: "nexrad-n0r-wmst",
        transparent: true,
        format: "image/png",
        time: "2005-08-29T13:00:00Z"
    }
); 
Все сложности какие могут возникнуть содержатся в настройке сервера.
лангольеры под окном жрали время ом-ном-ном

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 09 авг 2011, 10:22

Я пробовал подобное эффект нулевой
layer2 = new OpenLayers.Layer.WMS( "Каталог", "Адрес сервера/geoserver/wms/intranet_gen", {layers: 'catalog', transparent: 'true',date_year:"2004"});
Вываливается все сразу.
date_year это поле в моей таблице в базе.

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Вопрос по GeoServer+OpenLayers

Сообщение Mavka » 09 авг 2011, 10:45

:shock: Причем здесь date_year? В WMS-T есть только TIME, и формат даты должен быть соответствующий:

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

&TIME=2004-10-12/2004-10-13
А если dimensional запросы, то они должны быть соответствующим образом настроены на сервере. Насколько я помню в GeoServer есть только TIME и ELEVATION.
лангольеры под окном жрали время ом-ном-ном

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 09 авг 2011, 12:59

Значит для того чтоб сработал запрос TIME в таблице базы и в слое GeoSrver-а должно существовать поле time с содержанием 2004-10-12? И именно по нему и будет происходить поиск?

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Вопрос по GeoServer+OpenLayers

Сообщение Mavka » 09 авг 2011, 13:21

Интересно, зачем я вообще что то пишу? Ведь явно сказал: "Все сложности какие могут возникнуть содержатся в настройке сервера."

GeoServer
  1. Нужна самая свежая версия программы (nightly builds)
  2. Поле с датой может иметь любой название, но его тип должен быть Date - не только "год", но и месяц-день-пр. Кстати, не забудьте согласовать часовые пояса, а то день у вас будет начинаться и заканчиваться по Гринвичу.
  3. Открываете настройки слоя - появится новая закладка "Dimension"
  4. Включаете Time и выбираете поле
Если уж у вас неполноценная дата, то можете попробовать через Elevation.

Имхо, вся проблема в том, что вы не хотите прочитать статью, указанную в моем первом ответе. Не нужно придумывать dimensional WMS, а просто примените фильтр. Уж в GeoServer примитивный CQL делается на раз. И примеры использования в OpenLayers там тоже даны.
лангольеры под окном жрали время ом-ном-ном

Kris
Интересующийся
Сообщения: 37
Зарегистрирован: 31 май 2011, 03:09
Репутация: 0

Re: Вопрос по GeoServer+OpenLayers

Сообщение Kris » 24 авг 2011, 05:00

Mavka, спасибо за указание на CQL.

Ответить

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

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

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