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

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

Karl Wright commented on LUCENE-8257:
-------------------------------------

[~ivera], using the backing plane all the time seemed OK with the way I set it up.  But computing the interpolation point is expensive, so as a performance improvement, you might want to use the "functionally identical" test and change the code in the Edge class to make it cheaper to construct most Edge objects.


> 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
>             Fix For: 6.7, 7.4, master (8.0)
>
>         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]