[
https://issues.apache.org/jira/browse/LUCENE-8583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16707620#comment-16707620
]
Nicholas Knize commented on LUCENE-8583:
----------------------------------------
{quote}Since we aren't a geo library that's not a goal we have to strive for
{quote}
+1
{quote}And maybe it should be moved back to a private method in Polygon2D where
it was originally?
{quote}
I agree. I'd also like to point out that we shouldn't need this to be super
accurate in {{LatLonShape}} either. It looks like this is a byproduct of adding
a dependency on orientation in {{LatLonShape.Triangle#encodeTriangle}} we
should remove that dependency and just ensure order of the triangle vertices
are preserved.
> Make GeoUtils#orientation method more stable
> --------------------------------------------
>
> Key: LUCENE-8583
> URL: https://issues.apache.org/jira/browse/LUCENE-8583
> Project: Lucene - Core
> Issue Type: Improvement
> Components: core/other
> Reporter: Ignacio Vera
> Priority: Major
> Attachments: LUCENE-8583.patch
>
>
> The method GeoUtils#orient is problematic when called with points that are
> almost collinear but not quite. In that case the sign of the determinant is
> not reliable, so for example calling the method with points (a, b, c) and
> with (c, b, a) gives the same orientation.
> There is a complex implementation described here
> (https://www.cs.cmu.edu/~quake/robust.html) where the method becomes more
> reliable. I have been playing with such implementation and still is not 100%
> reliable.
> My proposal is not to be fully precise and define a precision constant for
> this method. Therefore whenever the value of determinant is small to that
> precision, we consider the points to be collinear. In this case the results
> of the method are reliable.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]