[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