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

Reply via email to