Separation of MapServer and WMS logic

Bart van den Eijnden (OSGIS) bartvde at XS4ALL.NL
Fri Jan 6 13:30:50 PST 2006


Hi Armin,

I am not a developer but want to react anyway :-)

With your first point, I had never noticed this in fact, I just checked 
now (Mapserver creates a 01 and 02 layer in my test case). I think in 
the old versions you could GROUP layers together and have them as 1 
layer in the WMS interface. I do remember there are many situations in 
which this can cause problems (GetFeatureInfo, GetLegendGraphic), since 
Mapserver basically cannot deal with mixed geometry layers, and with the 
group keyword you can link them together, so I am guessing that's the 
reason it was changed. But this is mostly true for vector layers and not 
raster layers.

Your second point has been discussed often and there is a bug report for it:

http://mapserver.gis.umn.edu/bugs/show_bug.cgi?id=337

Best regards,
Bart

Armin Burger wrote:

> Hi everyone,
>
> I have a question for the MS developers with regard to the WMS 
> functionality:
>
> The way the WMS functionality is set up in Mapserver, there is no 
> clear separation between Mapserver internal logic and WMS 
> capabilities. 2 examples to show that:
>
> 1) Groups in Mapserver
> Groups in Mapserver are well suited for grouping layers to one logical 
> unit that can be visible from the outside as a single layer, even if 
> it is composed of several layers. This makes groups very suitable for
> * swapping layers at certain scales
> * merging layers into one logical group.
>   An example: I have a satellite coverage of Landsat data in a big
>   ECW file. For some regions we have VHR images (Ikonos, Quickbird)
>   that are managed through image catalogs (TILEINDEX). Using them
>   together in the same group, it is very easy to provide a user with
>   one single layer that has as base information the lower resolution
>   Landsat dataset, and in some areas the VHR data. The user does not
>   know that the data he sees is actually a dynamic merge of datasets
>   behind the scenes, he just can select one layer.
>
> The behaviour of the WMS functionality, however, is that every layer 
> is propagated to the client. So instead of one group like 'Satellite 
> Coverage' the client sees various layers that form the group. This way 
> the very convenient usage of groups in Mapserver internally is not 
> really available any more. Or for the first case, he sees 2 layers but 
> can only switch on one at a time because they swap depending on the 
> scale, not very consistent.
>
> Are there any plans to separate more clearly the Mapserver internal 
> handling of groups and the propagation of layers via WMS? If not as a 
> default behaviour, maybe as an optional setting?
>
>
> 2) Every layer in a map file is visble via WMS
> I would like to use a map file both for a WebGIS application based on 
> Mapscript and as configuration for a WMS service. This way I would 
> only have to maintain one map file. The problem is that I do not want 
> to make all layers that are visible in the application also available 
> via WMS, just a paart of them.
>
> The Mapserver WMS however propagates *all* layers of a map file, 
> independent, if the mandatory tag "wms_title" is set or not. And even 
> a bit worse, all missing required tags for WMS cause a "Warning..." 
> entry in the capabilities.
>
> Wouldn't it make sense to just display those layers in the 
> capabilities that are explicitely defined for WMS, eg. by checking if 
> the mandatory tag "wms_tite" is set? This way one could avoid 
> maintaining different map files for a web application and the WMS 
> service.
>
>
> I don't know if others have similar problems with the way WMS is 
> working in MS... Any comments?
>
> Armin
>
>


-- 
Bart van den Eijnden
OSGIS, Open Source GIS
http://www.osgis.nl



More information about the MapServer-users mailing list