[mapserver-users] Forward time and other parameters to a layer defined as wms client
Søren Laursen
sln at fcoo.dk
Thu Aug 8 03:12:58 PDT 2019
Yep,
Got something working now with runtime substitution. Will post a minimum configuration that works, need some clean up, and have to verify how validate works, because you need it in the layer definition.
Right now I am hacking some code to get GetCapabilities to work in our client, because we need some information about the timespan in the layer, which mapserver is not forwarding or know any information about.
Søreb
Joint GeoMETOC Support Center
Lautrupbjerg 1-5 - 2750 Ballerup
Danish Defence Acquisition and Logistics Organisation
TLF: +45 7281 5627
MOBIL: +45 2961 9652
FIIN: FMI-MA-OPD07
http://WWW.FCOO.DK/
________________________________________
Fra: mapserver-users [mapserver-users-bounces at lists.osgeo.org] på vegne af Trond Michelsen [trondmm-mapserver+2017 at crusaders.no]
Sendt: 8. august 2019 11:34
Til: Seth G; Mapserver
Emne: Re: [mapserver-users] Forward time and other parameters to a layer defined as wms client
You're right, Runtime substitution is possible, but there were a
couple of issues.
One of them is probably not relevant for Søren. Different layers could
use different dimensions, like pressure and temperature. So we needed
something that would pass all possible dimensions to the backend. They
_could_ be hardcoded on a layer to layer basis, but it simplified the
setup if we could use a single connection string for all layers.
The second was that I couldn't find a way to make the runtime
substitution case insensitive. Using %TIME% in the mapfile won't
substitute anything if the request says &time=...
The third issue we had at the time was that we needed default values,
but I see that this has been fixed a long time ago.
On Thu, Aug 08, 2019 at 08:56:13AM +0200, Seth G wrote:
> A related approach to the one suggested by Trond is the one
> mentioned in https://github.com/mapserver/mapserver/issues/4797
> MAP->WEB: METADATA (values only, not keys) are supported as runtime
> substitution parameters - see
> https://mapserver.org/cgi/runsub.html#parameters-supported
> So if hardcoding wms_time works then in theory this could be
> replaced with a dynamic value from a URL. I'm unsure if TIME would
> need to be added to the VALIDATION block as it is already a standard
> WMS parameter.
> On Thu, Aug 8, 2019, at 2:19 AM, Trond Michelsen wrote:
>> I made a workaround for this a while ago (I think we were using
>> Mapserver 4.10 at the time). It's possible there are better ways to
>> solve this now, but it still works :)
>>
>> I can give more details tomorrow, but the gist of it is that I've made
>> an Apache handler (mod_perl) that modifies the incoming request, and
>> adds the TIME, LEVEL and all DIM_* parameters to an environment
>> variable I've called MS_PASSTHROUGH, and then I add %MS_PASSTHROUGH%&
>> to the connection parameter in the layer configuration.
>>
>> I can send you a copy of my Apache handler and config tomorrow, if you
>> like.
>>
>> On Wed, Aug 07, 2019 at 05:49:20PM +0000, Søren Laursen wrote:
>>> We have been using mapserver to display static layers, and are now
>>> in progress of using it to display dynamic (time bound) layers.
>>
>>> We have a wms server that serve forecast, and we use a shape file to
>>> mask out areas, for example cut a forecast so it follow landmass.
>>
>>> This works perfect, but when we want to include the TIME parameter
>>> to show a forecast at a specific point in time, we cannot get
>>> mapserver to forward the parameter.
>>
>>> Later on we will have the same problem with forecast that are bound
>>> by for example attitude and time.
>>
>>> We are using mapserver with apache, and in production we have a
>>> varnish in front (and banning urls when new forecast are ready).
>>
>>> I have look at time documentation of both the time wms settings and
>>> the runtime subtitionen but cannot figure out how we can make a
>>> solution.
>>
>>> When we hardcode a wms_time parameter in the layer definition
>>> everything works.
--
Trond Michelsen
_______________________________________________
mapserver-users mailing list
mapserver-users at lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users
More information about the MapServer-users
mailing list