kwrightapache commented on issue #11883:
URL: https://github.com/apache/lucene/issues/11883#issuecomment-1327738427
On a whim I decided to verify that the point it finds for the intersection
is actually within both shapes. But (guess what) it's not.
final GeoPoint intersectionPoint = new
GeoPoint(0.3374386757253078,-0.6983427934019486,-0.6312309268629938);
if (polygon1.isWithin(intersectionPoint)) {
System.out.println("IntersectionPoint "+intersectionPoint+" is within
polygon1");
}
if (polygon2.isWithin(intersectionPoint)) {
System.out.println("IntersectionPoint is within polygon2");
}
... prints nothing.
So it may be that the bounds planes it chooses are not the best / correct
ones. There is logic in the construction of the GeoConvexPolygon that attempts
to deal with linear lines of points and it's conceivable that that logic is
failing us here.
I agree with idea that creating explicit bounds planes would likely solve
this issue and could be done regardless of linearity of points. That makes it
attractive indeed. We'd basically want to construct them so that we get a
plane perpendicular to the edge plane that goes through the center of the
planet and through the endpoint. Since precision is an issue using the correct
construction technique would be important.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]