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: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org