[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=16440487#comment-16440487 ]

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

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

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]