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

Karl Wright edited comment on LUCENE-8251 at 4/13/18 1:00 PM:
--------------------------------------------------------------

Unfortunately I need to deal with some other burning issues at the moment, and 
I have no idea how to fix this particular problem either, so I'm going to have 
to put it on hold until I think of something workable.

Next steps: First, validate the picture that the reason that the intersections 
aren't getting detected is because they'd be off the ellipsoid.  This can be 
done in theory by seeing if the Plane.findIntersections code finds zero 
solutions for the intersection in question.  I bet it does, and that would 
confirm the picture.




was (Author: [email protected]):
Unfortunately I need to deal with some other burning issues at the moment, and 
I have no idea how to fix this particular problem either, so I'm going to have 
to put it on hold until I think of something workable.

Next steps: First, validate the picture that the reason that the intersections 
aren't getting detected is because they'd be off the ellipsoid.


> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to