#776 closed enhancement (fixed)
deeper nesting of WMS layers
Reported by: | Owned by: | mapserverbugs | |
---|---|---|---|
Priority: | high | Milestone: | 4.4 release |
Component: | WMS Server | Version: | 4.3 |
Severity: | minor | Keywords: | |
Cc: | valik.solorzano.barboza@…, paul.den.dulk@… |
Description
Through this bug report I want to discuss the options for implementing a deeper WMS layer nesting in Mapserver. The current situation is a 1 level deep level of nesting through the GROUP keyword. Seeing the difficulty of implementing all WMS interfaces for GROUP layers in the past, I would suggest to have the "dummy" layers not to implement a <Name> tag so that they cannot be requested, they merely serve for categorizing data on a WMS. E.g. .. <Layer> <Title>Hydrography of the Netherlands</Title> <Layer> <Title>Rivers</Title> <Layer queryable="1"> <Name>Braided_streams</Name> <Title>Braided streams</Title> <SRS>EPSG:28992</SRS> <LatLonBoundingBox minx="3.2" miny="50.7" maxx="7.2" maxy="53.5" /> </Layer> </Layer> </Layer> .. Any thoughts?
Change History (5)
comment:1 by , 20 years ago
Cc: | added |
---|
comment:3 by , 20 years ago
Cc: | added |
---|---|
Milestone: | → 4.4 release |
comment:4 by , 20 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
This feature has been added to version 4.3. It has been implemented as proposed by Daniel. We added in mapwms.c 3 functions: - msWMSPrepareNestedGroups: reads the metadata from WMS_LAYER_GROUP for each layer and allocates memory for later usage - msWMSIsSubGroup: determines whether a specified groupname is a subgroup - msWMSPrintNestedGroups: writes the layers to the capabilities that have the "WMS_LAYER_GROUP" metadata set. This is a recursive function In msWMSGetCapabilities the following changes have been made: - A check is done whether GROUP and WMS_LAYER_GROUP are used at the same time. If the user tries to use both functionalities at the same time an exception is returned - if any WMS_LAYER_GROUP were found then call msWMSPrintNestedGroups - otherwise the previous functionality will be called Documentation will follow shortly
Note:
See TracTickets
for help on using tickets.