[
https://issues.apache.org/jira/browse/LUCENE-8054?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16261327#comment-16261327
]
Karl Wright commented on LUCENE-8054:
-------------------------------------
I know exactly what is happening here.
It's best to visualize this as a delta from a single plane slicing the world.
When we break up the single plane into multiple pieces, some will angle below
the level of the original plane, and some will angle above. The ones that
angle above will "cut off" some points that ought to be in the shape.
The solution involves limiting the reach of each plane by bounding it with
another plane that goes through the middle of the world and separates the
"good" part of the plane from the "bad" part of the plane. This is easy in
principle but in practice we will need to determine the right cutoff plane by
examining all the points we've stitched through around the edge of the circle,
which is an O(n^2) operation, which scares me. Let me consider some more
before implementing anything.
> Test failure, Geo3dRptTest
> --------------------------
>
> Key: LUCENE-8054
> URL: https://issues.apache.org/jira/browse/LUCENE-8054
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial3d
> Reporter: David Smiley
> Assignee: Karl Wright
> Attachments: LUCENE-8054.patch, LUCENE_8054_randomTest.patch
>
>
> Geo3dRptTest.testOperations fails with seed 39BCAE475BCFB043
> {noformat}
> NOTE: reproduce with: ant test -Dtestcase=Geo3dRptTest
> -Dtests.method=testOperations -Dtests.seed=39BCAE475BCFB043
> -Dtests.locale=it-IT -Dtests.timezone=America/Boise -Dtests.asserts=true
> -Dtests.file.encoding=UTF-8
> java.lang.AssertionError: [Intersects] qIdx:3 Shouldn't match
> I#5:Geo3D:GeoExactCircle: {planetmodel=PlanetModel.WGS84,
> center=[lat=-1.0394053553992673,
> lon=-1.9037325881389144([X=-0.16538181742539926, Y=-0.4782462267840722,
> Z=-0.8609141805702146])], radius=1.1546166170607672(66.15465911325472),
> accuracy=4.231100485201301E-4} Q:Geo3D:GeoExactCircle:
> {planetmodel=PlanetModel.WGS84, center=[lat=-1.3165961602008989,
> lon=-1.887137823746273([X=-0.07807211790901268, Y=-0.23850901911945152,
> Z=-0.9659034153262631])], radius=1.432516663588956(82.07715890580914),
> accuracy=3.172052880854355E-11}
> at
> __randomizedtesting.SeedInfo.seed([39BCAE475BCFB043:40C6F2143E9FE395]:0)
> at org.junit.Assert.fail(Assert.java:93)
> at
> org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase.fail(RandomSpatialOpStrategyTestCase.java:126)
> at
> org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase.testOperation(RandomSpatialOpStrategyTestCase.java:115)
> at
> org.apache.lucene.spatial.prefix.RandomSpatialOpStrategyTestCase.testOperationRandomShapes(RandomSpatialOpStrategyTestCase.java:55)
> at
> org.apache.lucene.spatial.spatial4j.Geo3dRptTest.testOperations(Geo3dRptTest.java:117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1737)
> at
> com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:934)
> at
> com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:970)
> at
> com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:984)
> {noformat}
> CC [[email protected]] [~ivera]
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]