[Mapguide-trac] [mapguide-trac] #2459: v2.6 QUERYMAPFEATURES may produce inconsistent results

MapGuide Open Source trac_mapguide at osgeo.org
Tue Jun 17 19:00:37 PDT 2014


#2459: v2.6 QUERYMAPFEATURES may produce inconsistent results
---------------------------------+------------------------------------------
   Reporter:  jng                |       Owner:  jng
       Type:  defect             |      Status:  new
   Priority:  low                |   Milestone:  2.6
  Component:  Rendering Service  |     Version:     
   Severity:  trivial            |    Keywords:     
External_id:                     |  
---------------------------------+------------------------------------------
 The v2.6 QUERYMAPFEATURES works like this:

  1. Call MgRenderingService::QueryFeatures() with the given parameters
 (returns a MgFeatureInformation)
  2. Call MgRenderingService::RenderDynamicOverlay() with the given
 parameters (if inline selection is requested)
  3. Call MgRenderingService::QueryFeatureProperties() with the given
 parameters (if attributes is selected)

 All 3 components are then married up to form the final response.

 A click-based selection will issue QUERYMAPFEATURES with MAXFEATURES=1.
 For a map with more than 1 selectable layer (eg. Parcels, Trees), there
 may be cases where the following happens.

  1. Call MgRenderingService::QueryFeatures() with the given parameters.
 Returns a MgSelection with Parcels selected.
  2. Call MgRenderingService::RenderDynamicOverlay() with the given
 parameters. Returns an image of the selected parcel
  3. Call MgRenderingService::QueryFeatureProperties() with the given
 parameters. Returns the attributes of the first selected '''Tree'''.
 Because MAXFEATURES=1, no attributes for Parcels are returned.

 The problem is when a click could select more than one layer, the
 attributes may be collected for the wrong layer, even if that layer has
 candidate matching features. When MAXFEATURES=1 and we requested
 LAYERNAMES=Trees,Parcels and a selection image/XML of Parcels is returned,
 at this point we only want to collect attributes from Parcels instead of
 '''Trees and Parcels'''.

 Basically when we have a MgFeatureInformation, we want to use the layer
 names within its MgSelection for collecting the matching attributes
 instead of using the layer names from the original request.

-- 
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/2459>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals


More information about the mapguide-trac mailing list