[ 
https://issues.apache.org/jira/browse/LUCENE-5771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Smiley updated LUCENE-5771:
---------------------------------

    Attachment: LUCENE-5771_SpatialOperation_semantics.patch

The attached patch removes the "needs area" and "score is meaningful" notions 
from SpatialOperation.

I also added aliases to the various predicates to align with the standard 
names.  Ryan, why did you choose the non-standard names?  E.g. why did you 
choose "IsEqualTo" when "Equals" is the standard name?  And why the 
BBoxIntersects and BBoxWithin predicates which I'm not aware we use and are 
also non-standard and seem better addressed via other ways (e.g. some sort of 
function one adds that bbox'es a shape).

> Review semantics of SpatialOperation predicates
> -----------------------------------------------
>
>                 Key: LUCENE-5771
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5771
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial
>            Reporter: David Smiley
>         Attachments: LUCENE-5771_SpatialOperation_semantics.patch, 
> LUCENE-5771_SpatialOperation_semantics.patch
>
>
> SpatialOperation (which I wish was named SpatialPredicate) is a bunch of 
> predicates -- methods that return true/false based on a pair of shapes.  Some 
> of them don't seem to be defined in a way consistent with their definitions 
> on ESRI's site:
> http://edndoc.esri.com/arcsde/9.1/general_topics/understand_spatial_relations.htm
>   (which is linked as a reference, and is in turn equivalent to OGC spec 
> definitions, I believe).
> Problems:
> * the definitions make no mention of needing to have area or not, yet some of 
> our predicates are defined as to require area on either the indexed or query 
> shape.
> * the definitions make a distinction of the boundary of a shape, yet in 
> Lucene-spatial, there is none.  That suggests our predicates are wrongly 
> chosen since there *are* official predicates that are boundary-neutral -- 
> namely "Covers" and "CoveredBy" in lieu of Contains and Within, respectively. 
>  If we don't rename our predicates, we should at least support the correct 
> predicates names!
> * Overlaps appears totally wrong. It should be defined as 
> indexedShape.relate(queryShape) == Intersects  (and thus not Within or 
> Contains or Disjoint).  It's presently defined as the same as Intersects plus 
> the query shape needing area.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to