David Smiley created LUCENE-5771:
------------------------------------

             Summary: 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


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: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to