#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(int argc, char** argv) { typedef double coordinate_type; typedef boost::geometry::model::d2::point_xy point_xy_type; typedef boost::geometry::model::polygon polygon_type; boost::geometry::strategy::buffer::end_flat end_strategy; boost::geometry::strategy::buffer::point_square point_strategy; boost::geometry::strategy::buffer::side_straight side_strategy; vector polygon_geometries; polygon_geometries.push_back("POLYGON((897866.5 6272518.7,897882.5 6272519.2,897882.6 6272519,897883.3 6272508.7,897883.5 6272505.5,897855 6272503.5,897852.4 6272505.6,897850.1 6272517.6,897860.8 6272518.5,897866.5 6272518.7))"); polygon_geometries.push_back("POLYGON((898882.3 6271337.3,898895.7 6271339.9,898898 6271328.3,898881.6 6271325.1,898879.3 6271336.7,898882.3 6271337.3))"); polygon_geometries.push_back("POLYGON((897558.7 6272055,897552.5 6272054.2,897552.5 6272053.7,897546.1 6272052.7,897545.6 6272057.7,897560.7 6272059.6,897560.9 6272055.3,897558.7 6272055))"); polygon_geometries.push_back("POLYGON((898563.3 6272366.9,898554.7 6272379.2,898559.7 6272382.3,898561.6 6272379.4,898568.7 6272369.1,898563.8 6272366.2,898563.3 6272366.9))"); for(unsigned int i=0;i distance_strategy(offset_distance); boost::geometry::strategy::buffer::join_miter join_strategy(offset_distance); polygon_type input; boost::geometry::model::multi_polygon output; boost::geometry::read_wkt(polygon_geometries[i], input); // Just to give it a try, but does not change anything //boost::geometry::correct(input); /* for(unsigned int k=0;k