On Feb 13, 2007, at 8:06 PM, Daniel Morissette wrote:

Steven M. Ottens wrote:
On Feb 13, 2007, at 3:25 PM, Stephen Woodbridge wrote:

If you always get all 4 results, then only put the Query information in the most detailed layer and you will then always get just that one. IE: remove it from the other layers.

Steve,
I'm slightly at a loss here. What is the query information exactly? I cannot remove the CLASSITEM from the other layers since they are raw grids which need to be classified. If I remove TEMPLATE and the gml_* items from a layer mapserver complains that layers are not queryable.

The GetFeatureInfo request contains a QUERY_LAYERS parameter with the list of layers to query. If you list all 4 layers in QUERY_LAYERS then MapServer returns results from each of them. If you want results from only the most detailed layer then list only that layer in QUERY_LAYERS.

Ok, but that means that the client needs to know which layer is the preferred layer for getFeatureInfo. As far as I know, there's no obvious way to automatically use the most detailed layer. The layer can be added dynamically through a getCapabilities request, but there are a few dozen others as well. Right now I have the group layer in the query_layers parameter, just like I have it in the getMap parameter. In the getMap I get 1 image back, the one which is suitable for that particular scale level. In my opinion it would make sense if a similar behavior would be possible for the getFeatureInfo.

Anyway since I do control the client I can hack it to check if the particular layer for getFeatureInfo is indeed the elevation layer and replace the group-name for the most detailed layer name.

Thanks for the help,

Steven

Reply via email to