id summary reporter owner description type status milestone component version severity resolution keywords cc 10957 Various bugs in relational operations (spatial predicates) awulkiew awulkiew "1. Assertion failure in relate(L,A) for invalid polygon containing spike. {{{ ""LINESTRING(6 3,9 0)"" ""POLYGON((0 0,5 8,6 1,6 3,8 1,5 4,9 6,2 5,7 4,1 7,0 0))"" }}} 2. Invalid result of relate(L,A), the second Ls is not handled properly. {{{ ""MULTILINESTRING((6 6,15 15),(0 0, 7 7))"" ""POLYGON((5 5,5 15,15 15,15 5,5 5))"" }}} 3. Invalid result of relate(L,MPoly) because it assumes that a single u/u for an Areal ring means that the Linear geometry is in the exterior of Areal. {{{ ""LINESTRING(5 5,0 0,10 0)"" ""MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)),((0 0,0 -10,-10 -10,-10 0,0 0)))"" }}} 4. Invalid result of relate(A,MPoly), similar to the above. {{{ ""MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)),((0 0,0 -10,-10 -10,-10 0,0 0)))"" ""POLYGON((0 0,0 5,5 5,5 0,0 0))"" }}} 5. Invalid result of relate(MLs,A), second entering linestring not handled properly. {{{ ""MULTILINESTRING((4 10, 3 10, 10 6),(5 0, 7 5, 9 10))"" ""POLYGON((0 0,0 10,10 10,10 0,5 5,0 0))"" }}} 6. Invalid result of relate(Ls,MLs) for a collinear spike contained in one Ls of a MLs and touching the other one (blocking turn detected as exit). {{{ ""LINESTRING(1 1, 5 5, 4 4)"" ""MULTILINESTRING((2 5, 7 5, 8 3, 6 3, 4 0),(0 0,10 10))"" }}}" Bugs closed Boost 1.58.0 geometry Boost 1.57.0 Problem fixed relate, within, disjoint, overlaps, crosses