[ https://issues.apache.org/jira/browse/LUCENE-10508?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520926#comment-17520926 ]
ASF subversion and git services commented on LUCENE-10508: ---------------------------------------------------------- Commit eb2df13bbadccee7c05397886d2448fb91f25f0d in lucene's branch refs/heads/main from Ignacio Vera [ https://gitbox.apache.org/repos/asf?p=lucene.git;h=eb2df13bbad ] LUCENE-10508: Fixes some failures where a GeoArea is built with degenerated latitudes (#804) Fixes some edge cases where GeoArea were built in a way that vertical planes could not evaluate their sign, either because the planes were the same or the center between those planes was lying on top of one of the planes. > GeoArea failure with degenerated latitude > ----------------------------------------- > > Key: LUCENE-10508 > URL: https://issues.apache.org/jira/browse/LUCENE-10508 > Project: Lucene - Core > Issue Type: Bug > Components: modules/spatial3d > Reporter: Ignacio Vera > Priority: Major > Time Spent: 40m > Remaining Estimate: 0h > > I hit a failure when trying to build a GeoArea using the GeoAreaFactory. The > issue seems to happen when you have an almost degenerated minLatitude and > maxLatitude and you are close to the poles. Then you might hit the following > exception" > {code} > java.lang.IllegalArgumentException: Cannot determine sidedness because check > point is on plane. > at > __randomizedtesting.SeedInfo.seed([EA56BB13E754A996:C7560EE2BA56A507]:0) > at > org.apache.lucene.spatial3d.geom.SidedPlane.<init>(SidedPlane.java:137) > at > org.apache.lucene.spatial3d.geom.GeoDegenerateVerticalLine.<init>(GeoDegenerateVerticalLine.java:110) > at > org.apache.lucene.spatial3d.geom.GeoBBoxFactory.makeGeoBBox(GeoBBoxFactory.java:100) > at > org.apache.lucene.spatial3d.geom.GeoAreaFactory.makeGeoArea(GeoAreaFactory.java:43) > {code} > The situation is easy to reproduce with the following test: > {code:java} > public void testBBoxRandomDegenerate() { > double minX = Geo3DUtil.fromDegrees(GeoTestUtil.nextLongitude());; > double maxX = Math.nextUp(minX + Vector.MINIMUM_ANGULAR_RESOLUTION); > double minY = Geo3DUtil.fromDegrees(GeoTestUtil.nextLatitude()); > double maxY = Math.nextUp(minY + Vector.MINIMUM_ANGULAR_RESOLUTION); > assertNotNull(GeoAreaFactory.makeGeoArea(PlanetModel.SPHERE, maxY, minY, > minX, maxX)); > } > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org