Страница 1 из 1
Mapserver + Mapproxy и передача Querystring
Добавлено: 11 фев 2013, 15:29
dubanoze
Коллеги,
есть Mapproxy, для которого источником данных является Mapserver.
В querystring с Openlayers я передаю параметры для динамического SQL в Mapserver.
Так вот когда использовать в качестве прокси Mapproxy, Querystring теряется.
Может кто знает решение ?
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 11 фев 2013, 18:25
Denis Rykov
Если вы передаёте динамические параметры в MapServer, то в чём тогда заключается роль MapProxy в вашем случае? MapProxy - это же кэширующий прокси-сервер, а если у вас подразумеваются постоянно изменяющиеся запросы, то что тогда кэшировать?
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 12 фев 2013, 07:45
dubanoze
Идеально бы хотелось учитывать при кэшировании параметры передаваемые в запросе.
Т.е. при изменении запроса кэш обновлять.
А пока в query string параметры запроса не изменились отдавать из кэша.
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 12 фев 2013, 10:44
Denis Rykov
Чтобы MapProxy передавал кастомные параметры в источник, есть опция
forward-req-params, то есть в вашем случае конфиг будет выглядеть так (если источник - WMS):
Код: Выделить всё
sources:
wms_src:
type: wms
forward_req_params: ['sql']
req:
url: http://hostname
layers: layername
transparent: True
Если используется прямой вызов MapServer (то есть
type: mapserver), то конфиг будет выглядеть чуть по-другому, но сути это не меняет. Но как будет в этом случае выглядеть процесс кэширования я не представляю. Попробуйте - отпишитесь. Я правильно понимаю, в OpenLayers слой подключается как WMS?
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 12 фев 2013, 12:00
dubanoze
Denis Rykov писал(а):Чтобы MapProxy передавал кастомные параметры в источник, есть опция
forward-req-params, то есть в вашем случае конфиг будет выглядеть так (если источник - WMS):
Код: Выделить всё
sources:
wms_src:
type: wms
forward_req_params: ['sql']
req:
url: http://hostname
layers: layername
transparent: True
Если используется прямой вызов MapServer (то есть
type: mapserver), то конфиг будет выглядеть чуть по-другому, но сути это не меняет. Но как будет в этом случае выглядеть процесс кэширования я не представляю. Попробуйте - отпишитесь. Я правильно понимаю, в OpenLayers слой подключается как WMS?
Да, слой подключен как WMS.
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 12 фев 2013, 12:26
dubanoze
Нашел в мануале:
New in version 1.5.0.
A list with request parameters that will be forwarded to the source server (if available in the original request). A typical use case of this feature would be to forward the TIME parameter when working with a WMS-T server.
This feature only works with uncached sources.
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 12 фев 2013, 12:43
Denis Rykov
У вас же как раз uncached sources.
Re: Mapserver + Mapproxy и передача Querystring
Добавлено: 12 фев 2013, 16:14
dubanoze
Я думал что можно будет кэшировать тайлы в рамках одного запроса.
Т.е. если параметры в query string не изменились отдавать из кэша.
Придется кэш самому писать.