lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ignacio Vera (JIRA)" <>
Subject [jira] [Commented] (LUCENE-7941) GeoDegeneratePoints return intersects when located in edge shape
Date Mon, 28 Aug 2017 05:11:00 GMT


Ignacio Vera commented on LUCENE-7941:

Thanks for this new function [~daddywri]. My comments:

It seems there is a problem with it. In line 2500 of Plane class I think the condition should
read like:
if (!point1Valid) {
        return false;

If not the function is equivalent to intersects().

I try to implement get relationship() with this new information. First thing I notice is that
I need to run intersects() and crosses() in the same function all the time which seems to
be running very similar code. I guess it would be better to have a function similar to getRelationship()
for planes that return three possibilities: DISJOINT/INTERSECTS/CROSSES.
But It seems that if we go that way we would need to change more things. There is one case,
when the intersection point is equal to the edge point that fails. It means that we would
need at least two edge points per shape.  

Now I am convinced that the current implementation is the most efficient under contract. I
am not so keen in change it.



> GeoDegeneratePoints return intersects when located in edge shape 
> -----------------------------------------------------------------
>                 Key: LUCENE-7941
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>            Priority: Minor
>             Fix For: 6.7, master (8.0), 7.1
>         Attachments: LUCENE-7941-test.patch
>  If the degenerate Geopoint lays on the boundary of a shape, the relationships between
the objects are not symetrical:
> The bounding box "thinks" it contains the degenerated point.
> The degenerated point "thinks" it intersects the shape.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message