[ 
https://issues.apache.org/jira/browse/LUCENE-8251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16437432#comment-16437432
 ] 

Karl Wright commented on LUCENE-8251:
-------------------------------------

Confirmed that the envelope plane and the edge plane are nearly parallel.  
Adjoining points on the edge plane that are ~1e-12 away from the intersection 
point are still just about the same distance from the travel plane as before:

{code}
   [junit4]   1> TestPoint plane: [lat=-1.1675693914784415, 
lon=-1.8506150182993802E-4([X=0.39171238223740795, Y=-7.249088256978756E-5, 
Z=-0.9182146655290553])] -> [X=1.0011188498955597, Y=-7.249088256978756E-5, 
Z=-5.4114167758588356E-5]
   [junit4]   1> Travel plane: 
[1.0011188498955597,9.057045181228716E-5,3.5E-323] -> [X=1.0011188498955597, 
Y=-7.249088256978756E-5, Z=-5.4114167758588356E-5]
   [junit4]   1>
   [junit4]   1> Considering edge [lat=-0.12884119701201008, 
lon=-1.1577813992513593([X=0.39846895697760487, Y=-0.9092889699600809, 
Z=-0.1286216320286114])] -> [lat=-0.8977173781916888, 
lon=2.3672262552845993([X=-0.44522608342175374, Y=0.435509619
867484, Z=-0.7811731004355484])]
   [junit4]   1>
   [junit4]   1> Considering edge [lat=-6.4E-323, 
lon=0.0([X=1.0011188539924791, Y=0.0, Z=-6.4E-323])] -> 
[lat=-0.12884119701201008, lon=-1.1577813992513593([X=0.39846895697760487, 
Y=-0.9092889699600809, Z=-0.1286216320286114])]
   [junit4]   1>
   [junit4]   1> Considering edge [lat=-1.0294747773716673, 
lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
Z=-0.8558716366345036])] -> [lat=-6.4E-323, lon=0.0([X=1.0011188539924791, 
Y=0.0, Z=-6.4E-323])]
   [junit4]   1>  Edge intersects travel or testPoint plane
   [junit4]   1>  Assessing inner crossings...
   [junit4]   1>   Assessing travel envelope intersection point 
[X=1.0011188498945593, Y=4.374699550797305E-5, Z=-7.90512123316076E-5], 
travelPlane distance=-1.000310945187266E-12...
   [junit4]   1>    Adjoining point [X=1.0011188498945593, 
Y=4.374699502377152E-5, Z=-7.905121145665111E-5] (intersection dist = 
9.999999942608793E-13; travelPlane dist=-1.000310945187266E-12; testPointPlane 
dist=1.1623787759355908E-4) is not within
   [junit4]   1>    Adjoining point [X=1.0011188498945591, 
Y=4.3746995992174576E-5, Z=-7.905121320656408E-5] (intersection dist = 
1.0000000037738338E-12; travelPlane dist=-1.000532989792191E-12; testPointPlane 
dist=1.1623787856196213E-4) is not within
   [junit4]   1>  Assessing outer crossings...
   [junit4]   1>   Assessing travel envelope intersection point 
[X=1.00111884989656, Y=4.3736315090256196E-5, Z=-7.903191272122474E-5], 
travelPlane distance=1.000310945187266E-12...
   [junit4]   1>    Adjoining point [X=1.00111884989656, 
Y=4.3736314606054664E-5, Z=-7.903191184626825E-5] (intersection dist = 
9.999999942608793E-13; travelPlane dist=1.000310945187266E-12; testPointPlane 
dist=1.1622719717584222E-4) is not within

   [junit4]   1>    Adjoining point [X=1.0011188498965597, 
Y=4.373631557445772E-5, Z=-7.903191359618122E-5] (intersection dist = 
1.0000000037738338E-12; travelPlane dist=1.000088900582341E-12; testPointPlane 
dist=1.1622719814424528E-4) is not within
{code}



> Test failure, geo3d complex polygons
> ------------------------------------
>
>                 Key: LUCENE-8251
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8251
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial3d
>    Affects Versions: master (8.0)
>            Reporter: Karl Wright
>            Assignee: Karl Wright
>            Priority: Major
>             Fix For: 6.7, 7.4, master (8.0)
>
>         Attachments: LUCENE-8251.jpg
>
>
> {code}
> Error Message:
>  Standard polygon: GeoCompositePolygon: {[GeoConvexPolygon: 
> {planetmodel=PlanetModel.WGS84, points=[[lat=-0.12884119701201008, 
> lon=-1.157781399251359([X=0.3984689569776051, Y=-0.9092889699600808, 
> Z=-0.1286216320286114])], [lat=-0.8977173781916888, 
> lon=2.3672262552845993([X=-0.44522608342175374, Y=0.435509619867484, 
> Z=-0.7811731004355484])], [lat=-1.0294747773716673, 
> lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
> Z=-0.8558716366345036])]], internalEdges={2}}, GeoConvexPolygon: 
> {planetmodel=PlanetModel.WGS84, points=[[lat=-0.12884119701201008, 
> lon=-1.157781399251359([X=0.3984689569776051, Y=-0.9092889699600808, 
> Z=-0.1286216320286114])], [lat=-1.0294747773716673, 
> lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
> Z=-0.8558716366345036])], [lat=-6.4E-323, lon=0.0([X=1.0011188539924791, 
> Y=0.0, Z=-6.4E-323])]], internalEdges={0}}]}  Large polygon: 
> GeoComplexPolygon: {planetmodel=PlanetModel.WGS84, number of shapes=1, 
> address=814a2a8c, testPoint=[lat=-1.1675693914784415, 
> lon=-1.850615018297906E-4([X=0.39171238223740806, Y=-7.249088256972983E-5, 
> Z=-0.9182146655290553])], testPointInSet=true, shapes={ 
> {[lat=-0.12884119701201008, lon=-1.157781399251359([X=0.3984689569776051, 
> Y=-0.9092889699600808, Z=-0.1286216320286114])], [lat=-0.8977173781916888, 
> lon=2.3672262552845993([X=-0.44522608342175374, Y=0.435509619867484, 
> Z=-0.7811731004355484])], [lat=-1.0294747773716673, 
> lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
> Z=-0.8558716366345036])], [lat=-6.4E-323, lon=0.0([X=1.0011188539924791, 
> Y=0.0, Z=-6.4E-323])]}}  Point: [lat=3.5E-323, 
> lon=9.046923007656787E-5([X=1.0011188498955597, Y=9.057045181228716E-5, 
> Z=3.5E-323])]  WKT: POLYGON((135.63207358036593 
> -51.43541696593334,113.00782694696038 -58.984559858566556,0.0 
> -3.68E-321,-66.33598777585381 -7.382056816201731,135.63207358036593 
> -51.43541696593334))  WKT: POINT(0.005183505059185348 1.98E-321) normal 
> polygon: false large polygon: true
> Stack Trace:
> java.lang.AssertionError:
> Standard polygon: GeoCompositePolygon: {[GeoConvexPolygon: 
> {planetmodel=PlanetModel.WGS84, points=[[lat=-0.12884119701201008, 
> lon=-1.157781399251359([X=0.3984689569776051, Y=-0.9092889699600808, 
> Z=-0.1286216320286114])], [lat=-0.8977173781916888, 
> lon=2.3672262552845993([X=-0.44522608342175374, Y=0.435509619867484, 
> Z=-0.7811731004355484])], [lat=-1.0294747773716673, 
> lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
> Z=-0.8558716366345036])]], internalEdges={2}}, GeoConvexPolygon: 
> {planetmodel=PlanetModel.WGS84, points=[[lat=-0.12884119701201008, 
> lon=-1.157781399251359([X=0.3984689569776051, Y=-0.9092889699600808, 
> Z=-0.1286216320286114])], [lat=-1.0294747773716673, 
> lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
> Z=-0.8558716366345036])], [lat=-6.4E-323, lon=0.0([X=1.0011188539924791, 
> Y=0.0, Z=-6.4E-323])]], internalEdges={0}}]}
> Large polygon: GeoComplexPolygon: {planetmodel=PlanetModel.WGS84, number of 
> shapes=1, address=814a2a8c, testPoint=[lat=-1.1675693914784415, 
> lon=-1.850615018297906E-4([X=0.39171238223740806, Y=-7.249088256972983E-5, 
> Z=-0.9182146655290553])], testPointInSet=true, shapes={ 
> {[lat=-0.12884119701201008, lon=-1.157781399251359([X=0.3984689569776051, 
> Y=-0.9092889699600808, Z=-0.1286216320286114])], [lat=-0.8977173781916888, 
> lon=2.3672262552845993([X=-0.44522608342175374, Y=0.435509619867484, 
> Z=-0.7811731004355484])], [lat=-1.0294747773716673, 
> lon=1.97235866074843([X=-0.20112459723348416, Y=0.47363995489643546, 
> Z=-0.8558716366345036])], [lat=-6.4E-323, lon=0.0([X=1.0011188539924791, 
> Y=0.0, Z=-6.4E-323])]}}
> Point: [lat=3.5E-323, lon=9.046923007656787E-5([X=1.0011188498955597, 
> Y=9.057045181228716E-5, Z=3.5E-323])]
> WKT: POLYGON((135.63207358036593 -51.43541696593334,113.00782694696038 
> -58.984559858566556,0.0 -3.68E-321,-66.33598777585381 
> -7.382056816201731,135.63207358036593 -51.43541696593334))
> WKT: POINT(0.005183505059185348 1.98E-321)
> normal polygon: false
> large polygon: true
>         at 
> __randomizedtesting.SeedInfo.seed([C1E5FF7FBC7AC980:47CE8D3C5A69DD5B]:0)
>         at org.junit.Assert.fail(Assert.java:93)
>         at org.junit.Assert.assertTrue(Assert.java:43)
>         at 
> org.apache.lucene.spatial3d.geom.RandomGeoPolygonTest.testComparePolygons(RandomGeoPolygonTest.java:179)
>         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)
>         at 
> org.apache.lucene.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:49)
>         at 
> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
>         at 
> org.apache.lucene.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:48)
>         at 
> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
>         at 
> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
>         at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>         at 
> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
>         at 
> com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:817)
>         at 
> com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:468)
>         at 
> com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:943)
>         at 
> com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:829)
>         at 
> com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:879)
>         at 
> com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:890)
>         at 
> org.apache.lucene.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:45)
>         at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>         at 
> org.apache.lucene.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:41)
>         at 
> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>         at 
> com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
>         at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>         at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>         at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>         at 
> org.apache.lucene.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
>         at 
> org.apache.lucene.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:47)
>         at 
> org.apache.lucene.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:64)
>         at 
> org.apache.lucene.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:54)
>         at 
> com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
>         at 
> com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:368)
>         at java.lang.Thread.run(Thread.java:748)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to