[
https://issues.apache.org/jira/browse/LUCENE-8157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16352256#comment-16352256
]
Ignacio Vera commented on LUCENE-8157:
--------------------------------------
Attached is a random test that reproduces the problem and a static case.
I think the only way to solve this problem is to change the approach on how to
calculate sideness. It is possible to compute the bearing angle between two
points, and knowing that angle, it is trivial to compute a point on the right
side using the method surfacePointOnBearing() in PlanetModel. Attached is an
example of this solution.
Of course that might have performance implications as those calculations are
iterative, and might require refactoring of the polygon factory.
> GeoPolygon factory fails in recognize convex polygon
> ----------------------------------------------------
>
> Key: LUCENE-8157
> URL: https://issues.apache.org/jira/browse/LUCENE-8157
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial3d
> Reporter: Ignacio Vera
> Priority: Major
> Attachments: LUCENE-8157-test.patch, LUCENE-8157.patch
>
>
> When a polygon contains three consecutive points which are nearly co-planar,
> the polygon factory may fail to recognize the concavity/convexity of the
> polygon. I think the problem is the way the sideness for a polygon edge is
> calculated. It relies in the position of the next point in respect of the
> previous polygon edge which fails on the case explained above because of
> numerical imprecision. The result is that sideness is messed up.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]