Le mardi 05 janvier 2016 11:42:55, Rahkonen Jukka (MML) a écrit : > Hi, > > It seems the for Mapserver the group is queryable if all the layers in the > group are queryable. Having one non-queryable layer in the group makes the > whole group non-queryable. Geoserver used to do the same but now it does > the opposite: if at least one layer in the group is queryable then the > group is as well. https://osgeo-org.atlassian.net/browse/GEOS-7293 > > If user makes GetFeatureInfo request for such mixed layer Geoserver is > sending results from the queryable layers without sending exceptions about > non-queryable layers. This is very user and admin friendly behavior but > probably difficult to implement in Mapserver. Perhaps we could still get > the queryable attribute? Logic should correspond with the current > implementation: if every layer in the group and in the subgroups is > queryable, set queryable="1", otherwise set queryable="0". > > There seems to be a related QGIS issue https://hub.qgis.org/issues/5602.
Proposed implementation: https://github.com/mapserver/mapserver/pull/5220 > > -Jukka Rahkonen- > > Lime, Steve D wrote: > > > Looking at mapwms.c it doesn't look like it. The code that outputs basic > groups just outputs a plain <Layer> tag (L3345) with no attributes. It > does look like that, at least for simple groups, it could be possible to > do what you're asking by adding a private isGroupQueryable() function that > would call msIsLayerQueryable() whenever a layer's group name matches the > target and would return true accordingly. Not sure how that would work > with subgroup support though. > > Steve > > From: mapserver-users [mailto:[email protected]] On > Behalf Of Rahkonen Jukka (MML) Sent: Monday, January 04, 2016 9:44 AM > To: Mapserver-Users > ([email protected]<mailto:[email protected]>) > <[email protected]<mailto:[email protected]>> > Subject: [mapserver-users] How to set queryable=1 for a GROUP layer? > > Hi, > > I have a layer group, let's say "group_1", where all the sub-layers are > queryable. The group layer is also effectively queryable and > GetFeatureInfo works if I use &QUERY_LAYERS=group_1. The problem is that > the group layer is not announced announced as queryable in the > GetCapabilities > > <Layer> > <Name> group_1</Name> > <Title> group_1</Title> > ... > <Layer queryable="1" opaque="0" cascaded="0"> > <Name> sub_layer</Name> > .... > > > I would like to see it as: > <Layer queryable="1"> > <Name> group_1</Name> > <Title> group_1</Title> > .... > <Layer queryable="1" opaque="0" cascaded="0"> > <Name> sub_layer</Name> > .... > > > Without queryable attribute I can't make GetFeatureInfo to work when I am > cascading it with Geoserver. By reading the WMS 1.1.1 standard I feel that > GeoServer is behaving as it is supposed to work: if the layer is not > announced to be queryable then it is not queryable. I can't find any > mention in the WMS standard that a group layer should behave in a > different way than the normal layers. > > 7.1.4.6 Layer Attributes > A <Layer> may have zero or more of the following XML attributes: queryable, > cascaded, opaque, noSubsets, fixedWidth, fixedHeight. All of these > attributes are optional and default to 0 > > 7.1.4.6.1 Queryable layers > A Layer is said to be "queryable" if the server supports the GetFeatureInfo > operation on that Layer. A server may support GetFeatureInfo on some of > its layers but not on all. A server shall issue a Service Exception > (code="LayerNotQueryable") if GetFeatureInfo is requested on a Layer that > is not queryable. > > Is there any way to add the queryable="1" attribute to a layer group? > > -Jukka Rahkonen- -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
