[mapguide-users] Window Selection (Ajax) as ENVELOPE or INTERESECTS Confusion

Andreas Morf a.morf at fkl.ch
Tue Aug 10 02:06:47 EDT 2010


Hi Crispin
I can confirm this indirectly: having compiled/tested KingOracle from trunk, MG2.2 mostly returned wrong Maptips? After
investigating quite a while I found that there was always returned a set of features for a single layer instead of one. After
looking at Kings-code I found following code blocks (c_KgOraFilterProcessor.cpp -- are these changes posted by you ;-):

621	          // 1SPATIAL START
622	      // AppendString(L"SDO_ANYINTERACT(");
623	          AppendString(L"SDO_FILTER(");
624	          // 1SPATIAL END

IMHO, SDO_FILTER is not the right operation for this purpose because it only consults the Ora-R-Tree and often delivers more than
one candidate than the exact SDO_RELATE (or SDO_ANYINTERACT as a convenient alternative for SDO_RELATE).
After changing it back to "SDO_ANYINTERACT(" everything worked like a charm...

Greets, Andreas

> -----Original Message-----
> From: mapguide-users-bounces at lists.osgeo.org [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf
> Of Crispin_at_1Spatial
> Sent: Monday, August 09, 2010 5:45 PM
> To: mapguide-users at lists.osgeo.org
> Subject: [mapguide-users] Window Selection (Ajax) as ENVELOPE or INTERESECTS Confusion
> 
> 
> All,
> 
> We have an observation that doing a "Window Select" in MapGuide 2.1 (AJAX
> viewer) queries on the feature bounding boxes and not the feature geometry
> for Oracle (KingOra) connections.  The following is my understanding and if
> anyone can confirm/replicate or advise that would be much appreciated.
> 
> Briefly:
> Within "ajaxmappane.templ" there is a function called
> 'QueryFeatureInfo(...)' that implements the MapGuide HTTP API call for
> OPERATION=QUERYMAPFEATURES.  This is documented here:
> http://trac.osgeo.org/mapguide/wiki/HttpApi/RenderingService#QueryMapFeatures2.1
> 
> The current (default) value for the SELECTIONVARIANT value is "INTERSECTS" -
> in theory we can simply change this to one of the valid values:
> http://trac.osgeo.org/mapguide/wiki/HttpApi/RenderingService#SelectionVariant1.0
> 
> But the implication is that the default value of INTERSECTS is what is
> required for accurate selection (rather then ENVELOPEINTERSECTS).
> 
> However, selected objects in an Oracle-based layer visually are outwith the
> selection rectangle.
> 
> Turning on logging in the KingOracle provider shows that the query sent to
> the DB is the fast SDO_FILTER and not the accurate SDO_RELATE.
> 
> However, the place where SDO_FILTER is built into KingOra is very clearly in
> the switch/case for FdoSpatialOperations_EnvelopeIntersects so this is how
> the query is processed!
> 
> So, what is happening between INTERSECTS passed as a param to
> QUERYMAPFEATURES and it being received/interpreted as ENVELOPEINTERSECTS in
> KingOracle (other providers not checked)???
> 
>  Crispin
> 
> --
> View this message in context: http://osgeo-org.1803224.n2.nabble.com/Window-Selection-Ajax-as-
> ENVELOPE-or-INTERESECTS-Confusion-tp5389467p5389467.html
> Sent from the MapGuide Users mailing list archive at Nabble.com.
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users



More information about the mapguide-users mailing list