You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Karl Wright (JIRA)" <ji...@apache.org> on 2018/04/08 08:49:00 UTC

[jira] [Commented] (LUCENE-8245) GeoComplexPolygon fails when intersection of travel plane with edge is near polygon point

    [ https://issues.apache.org/jira/browse/LUCENE-8245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16429686#comment-16429686 ] 

Karl Wright commented on LUCENE-8245:
-------------------------------------

The logic for crossing near polygon edges has been *very* carefully thought out, and the major commit made last weekend was designed to resolve those kinds of issues once and for all.  The comments in the code describe the algorithm, but basically we are only interested in edges that actually intersect or cross the travel planes.  The reason for above/below planes is to be able to accurately count links even when some polygon edges are wholly or in part contained within the envelope.

So it is immaterial that an edge crosses only one or the other envelope planes; that is the whole point of having the envelope planes, in fact.  But we do assume that the envelope is narrow enough that an edge that ends inside of it must intersect either the travel plane or the above/below planes; that assumption may be incorrect.

I will not be able to analyze these cases until later today.


> GeoComplexPolygon fails when intersection of travel plane with edge is near polygon point
> -----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-8245
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8245
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>            Priority: Major
>         Attachments: LUCENE-8245.patch
>
>
> When a travel plane crosses an edge close to an edge point , it is possible that the above and below planes crosses different edges. In the current implementation one of the crosses is missed because we only check edges that are crossed by the main plain and the {{within}} result is wrong.
> One possible fix is to check always the intersection of planes and edges regardless if they are crossed by main plane. That fixed the above issue but shows other issues like travel planes crossing two edges when it should be only one due to the fuzziness at edge intersections.
> Not sure of a fix so I add the test showing the issue.
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org