Boost C++ Libraries: Ticket #11984: union_() generates self-intersecting polygon https://svn.boost.org/trac10/ticket/11984 <p> I have a program which generates unions of a multipolygon and a ring. Sometimes, I have an identical point in the two shapes. The union_ result is a self-intersecting polygon. </p> <p> Demo source attached. Output with Boost 1.58 and 1.60: </p> <p> input multipolygon is valid input ring is valid result multipolygon is invalid: Geometry has invalid self-intersections. A self-intersection point was found at (-95, 60); method: t; operations: i/i; segment IDs {source, multi, ring, segment}: {0, 0, -1, 3}/{0, 0, -1, 6} </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11984 Trac 1.4.3 max@… Sun, 14 Feb 2016 19:53:44 GMT attachment set https://svn.boost.org/trac10/ticket/11984 https://svn.boost.org/trac10/ticket/11984 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">union_bug.cxx</span> </li> </ul> <p> Demo source for the union_ bug </p> Ticket anonymous Mon, 15 Feb 2016 13:47:02 GMT <link>https://svn.boost.org/trac10/ticket/11984#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11984#comment:1</guid> <description> <p> I think the problem is not union_() - the correct result is a polygon that "touches" itself (but does not actually intersect), and that's what union_() does. The problem may just be a false negative in is_valid(). </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Barend Gehrels</dc:creator> <pubDate>Wed, 23 Mar 2016 15:07:31 GMT</pubDate> <title>status, milestone changed; resolution set https://svn.boost.org/trac10/ticket/11984#comment:2 https://svn.boost.org/trac10/ticket/11984#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.61.0</span> </li> </ul> <p> Thanks for the report. It is fixed in the branch feature/cluster_touch </p> <ul><li>still hope to get it in 1.61 because it fixes more issues </li></ul> Ticket