id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9828,boost::geometry::union_(...) creates redundant closing point,Volker Schöch ,Barend Gehrels,"Polygons created by boost::geometry algorithms should conform to the same rules as the input. In the following example, boost::geometry::union_ takes two simple, non-empty rectangular polygons and creates a polygon with a redundant closing point. My polygon type is oriented '''counter-clockwise''' and '''not closed''', my point type is based on '''int'''. This is the data used as input to union: {{{ _TPolygon const polygon = _TPolygon(""MULTIPOLYGON(((3398 1759,3592 1759,3592 1893,3398 1893)))"") | _TPolygon( ""MULTIPOLYGON(((3592 1893,3592 1759,3910 1759,3910 1893)))"" ); }}} This is the resulting multi-polygon with the redundant closing point: {{{ MULTIPOLYGON(((3592 1893,3398 1893,3398 1759,3592 1759,3910 1759,3910 1893,3592 1893))) }}} This is my code that wraps boost::geometry to implement the operator used above: {{{ template template _TPolygon< T > _TPolygon< T >::operator|(Geometry const& geometry) const { _TPolygon< T > polygonOut; boost::geometry::union_(*this, geometry, polygonOut); // the following line fixes the problem but should not be necessary //boost::geometry::correct( polygonOut ); return polygonOut; } }}} ",Bugs,closed,Boost 1.56.0,geometry,Boost 1.55.0,Problem,fixed,"union, multi-polygon, polygon, correct",mkaravel