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

Karl Wright commented on LUCENE-8245:
-------------------------------------

Ok, this is the debug output of the now-failing test:

{code}
   [junit4] Suite: org.apache.lucene.spatial3d.geom.GeoPolygonTest
   [junit4]   1> Considering edge [lat=1.5463873005088208E-34, lon=0.0([X=1.0, 
Y=0.0, Z=1.5463873005088208E-34])] -> [lat=-0.08842062843650192, 
lon=2.2837078580414776([X=-0.6514839583883643, Y=0.7535056721696336, 
Z=-0.08830545832969094])]
   [junit4]   1>
   [junit4]   1> The following edges should intersect the travel/testpoint 
planes:
   [junit4]   1> Travel plane: [lat=0.7779906922732096, 
lon=2.728264320121337([X=-0.6523396177204123, Y=0.2861122564854598, 
Z=0.7018495564158925])] -> [lat=1.5463873005088208E-34, lon=0.0([X=1.0, Y=0.0, 
Z=1.5463873005088208E-34])]
   [junit4]   1>
   [junit4]   1> Considering edge [lat=-0.08842062843650192, 
lon=2.2837078580414776([X=-0.6514839583883643, Y=0.7535056721696336, 
Z=-0.08830545832969094])] -> [lat=0.379731892927642, 
lon=2.3485766139444504([X=-0.651713420845267, Y=0.
6617191814215959, Z=0.370671474528177])]
   [junit4]   1>
   [junit4]   1> The following edges should intersect the travel/testpoint 
planes:
   [junit4]   1> Travel plane: [lat=0.7779906922732096, 
lon=2.728264320121337([X=-0.6523396177204123, Y=0.2861122564854598, 
Z=0.7018495564158925])] -> [lat=1.5463873005088208E-34, lon=0.0([X=1.0, Y=0.0, 
Z=1.5463873005088208E-34])]
   [junit4]   1>
   [junit4]   1> Considering edge [lat=0.7779906922732096, 
lon=2.728264320121337([X=-0.6523396177204123, Y=0.2861122564854598, 
Z=0.7018495564158925])] -> [lat=1.5463873005088208E-34, lon=0.0([X=1.0, Y=0.0, 
Z=1.5463873005088208E-34])]

   [junit4]   1>
   [junit4]   1> The following edges should intersect the travel/testpoint 
planes:
   [junit4]   1> Travel plane: [lat=0.7779906922732096, 
lon=2.728264320121337([X=-0.6523396177204123, Y=0.2861122564854598, 
Z=0.7018495564158925])] -> [lat=1.5463873005088208E-34, lon=0.0([X=1.0, Y=0.0, 
Z=1.5463873005088208E-34])]
   [junit4]   1>
   [junit4]   1>  start point travel dist=0.7018495564156595; end point travel 
dist=-2.330673801245995E-13
   [junit4]   1>  start point travel above dist=0.7018495564176594; end point 
travel above dist=1.7669326198754006E-12
   [junit4]   1>  start point travel below dist=0.7018495564136594; end point 
travel below dist=-2.2330673801246E-12
   [junit4]   1>  start point testpoint dist=-0.4923642700993317; end point 
testpoint dist=-0.7784765265847915
   [junit4]   1>  start point testpoint above dist=-0.49236427009733164; end 
point testpoint above dist=-0.7784765265827914
   [junit4]   1>  start point testpoint below dist=-0.49236427010133177; end 
point testpoint below dist=-0.7784765265867916
   [junit4]   1>   Travel inner point [X=1.0, Y=9.103203687613759E-13, 
Z=2.2330673801246004E-12]; edgeplane=-1.0097419586828951E-28; 
travelInsidePlane=4.0389678347315804E-28; edgestartplane=0.7579267927410742; 
edgeendplane=-2.4114877353945626E-12
   [junit4]   1>  Edge added 1 to innerCrossingCount
   [junit4]   1>  Edge added 0 to outerCrossingCount
   [junit4] FAILURE 0.16s | GeoPolygonTest.testAboveBelowCrossingDifferentEdges 
<<<
   [junit4]    > Throwable #1: java.lang.AssertionError
   [junit4]    >        at 
org.apache.lucene.spatial3d.geom.GeoPolygonTest.testAboveBelowCrossingDifferentEdges(GeoPolygonTest.java:1486)
   [junit4] Completed [1/1 (1!)] in 0.17s, 1 test, 1 failure <<< FAILURES!
{code}


> GeoComplexPolygon fails when intersection of travel plane with edge is near 
> polygon point
> -----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-8245
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8245
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>            Priority: Major
>             Fix For: 6.7, 7.4, master (8.0)
>
>         Attachments: LUCENE-8245-case2.patch, LUCENE-8245.jpg, 
> LUCENE-8245.patch
>
>
> When a travel plane crosses an edge close to an edge point , it is possible 
> that the above and below planes crosses different edges. In the current 
> implementation one of the crosses is missed because we only check edges that 
> are crossed by the main plain and the {{within}} result is wrong.
> One possible fix is to check always the intersection of planes and edges 
> regardless if they are crossed by main plane. That fixed the above issue but 
> shows other issues like travel planes crossing two edges when it should be 
> only one due to the fuzziness at edge intersections.
> Not sure of a fix so I add the test showing the issue.
>  
>  



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