Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10957: Various bugs in relational operations (spatial predicates)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-23 16:09:42
#10957: Various bugs in relational operations (spatial predicates)
-------------------------+-------------------------------------------------
Reporter: awulkiew | Owner: awulkiew
Type: Bugs | Status: new
Milestone: Boost | Component: geometry
1.58.0 | Severity: Problem
Version: Boost | Keywords: relate, within, disjoint, overlaps,
1.57.0 | crosses
Resolution: |
-------------------------+-------------------------------------------------
Description changed by awulkiew:
Old description:
> 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))"
> }}}
New description:
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))"
}}}
-- -- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10957#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC