[jira] [Commented] (LUCENE-8257) GeoComplexPolygon fails when points are near identical

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (LUCENE-8257) GeoComplexPolygon fails when points are near identical

JIRA jira@apache.org

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

ASF subversion and git services commented on LUCENE-8257:
---------------------------------------------------------

Commit 4ee92c22a4b731d3ec2f93409f3fe57ae348cea1 in lucene-solr's branch refs/heads/master from [~[hidden email]]
[ https://git-wip-us.apache.org/repos/asf?p=lucene-solr.git;h=4ee92c2 ]

LUCENE-8257: All edges have a backing plane, so edge membership doesn't bleed through to the opposite side of the world.


> GeoComplexPolygon fails when points are near identical
> ------------------------------------------------------
>
>                 Key: LUCENE-8257
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8257
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>            Priority: Major
>         Attachments: LUCENE-8257.patch
>
>
> When a polygon have two consecutive points very close to each other but not numerically identical, we can get wrong results because planes defining that edge intersects somewhere else on the world. At that point the following check is evaluated to true:
> {code:java}
> if (edge.plane.evaluateIsZero(thePointX, thePointY, thePointZ) && edge.startPlane.isWithin(thePointX, thePointY, thePointZ) && edge.endPlane.isWithin(thePointX, thePointY, thePointZ)) {
>   return false;
> }{code}
>  



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

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