[ 
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]

Reply via email to