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