GetFeatureInfo

From World Wind Wiki

Jump to: navigation, search

Download plugin

[edit] GetFeatureInfo requests in World Wind

As of r3774 the External Layer Manager plugin has a WMS GetFeatureInfo request option added to it. To use, select a layer in the external LM and right click on the globe to submit a feature request for that location. The plugin checks whether the layer has a WMS-based ImageStore before submitting the request.

The GetFeatureInfo request is supposed to include the GetMap request parameters along with the pixel coordinates being queried. Because World Wind doesn't make one GetMap request for a particular view (it makes one for each tile), the GetFeatureInfo request generates a bbox a few hundred pixels square centered on the mouse click, then submits that bbox and the click coordinates relative to that bbox for the GetFeatureInfo request.

There is no parameter in the WMS specification for a tolerance, though some servers apparently allow you to send a "radius=" or "tolerance=" parameter.

The plugin requests the information in "text/plain" right now because not every server has "text/html" as an option. There isn't any way to tell from a World Wind layer what formats the server supports. The response gets saved to a temp file, then the temp file location passed to the browser panel so that the result can be displayed by the brower regardless of the content-type reported by the server. Exceptions are requested in "text/plain" also, but it looks like many servers return errors in xml anyway. Errors are also displayed in the browser panel.

[edit] Todo

Move this into a separate plugin, keeping the tree view but making space for gui controls to set some of the request options (format, how to display, how many features to return, etc.).

[edit] Servir-Viz

The code is originally from Servir-Viz, complements of geodan (Dan Deneau, IAGT). I modified it to use the smaller bbox in the query (instead of the entire screen) and to retrieve the layer name from the ImageStore. Servir-Viz uses a QTS-derived class specifically for WMS layers so it has more information available when making the query than World Wind does.

Personal tools