#include <boost/geometry/core/closure.hpp>#include <boost/geometry/core/geometry_id.hpp>#include <boost/geometry/core/interior_rings.hpp>#include <boost/geometry/core/is_areal.hpp>#include <boost/geometry/core/point_order.hpp>#include <boost/geometry/core/point_type.hpp>#include <boost/geometry/core/ring_type.hpp>#include <boost/geometry/core/tags.hpp>#include <boost/geometry/core/topological_dimension.hpp>#include <boost/geometry/algorithms/append.hpp>#include <boost/geometry/algorithms/area.hpp>#include <boost/geometry/algorithms/centroid.hpp>#include <boost/geometry/algorithms/clear.hpp>#include <boost/geometry/algorithms/convert.hpp>#include <boost/geometry/algorithms/correct.hpp>#include <boost/geometry/algorithms/covered_by.hpp>#include <boost/geometry/algorithms/disjoint.hpp>#include <boost/geometry/algorithms/distance.hpp>#include <boost/geometry/algorithms/envelope.hpp>#include <boost/geometry/algorithms/equals.hpp>#include <boost/geometry/algorithms/for_each.hpp>#include <boost/geometry/algorithms/intersection.hpp>#include <boost/geometry/algorithms/length.hpp>#include <boost/geometry/algorithms/num_geometries.hpp>#include <boost/geometry/algorithms/num_interior_rings.hpp>#include <boost/geometry/algorithms/num_points.hpp>#include <boost/geometry/algorithms/perimeter.hpp>#include <boost/geometry/algorithms/remove_spikes.hpp>#include <boost/geometry/algorithms/reverse.hpp>#include <boost/geometry/algorithms/simplify.hpp>#include <boost/geometry/algorithms/transform.hpp>#include <boost/geometry/algorithms/unique.hpp>#include <boost/geometry/algorithms/within.hpp>#include <boost/geometry/algorithms/detail/point_on_border.hpp>#include <boost/geometry/algorithms/detail/for_each_range.hpp>#include <boost/geometry/algorithms/detail/multi_modify_with_predicate.hpp>#include <boost/geometry/algorithms/detail/multi_sum.hpp>#include <boost/geometry/algorithms/detail/sections/range_by_section.hpp>#include <boost/geometry/algorithms/detail/sections/sectionalize.hpp>#include <boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp>#include <boost/geometry/algorithms/detail/overlay/copy_segments.hpp>#include <boost/geometry/algorithms/detail/overlay/get_ring.hpp>#include <boost/geometry/algorithms/detail/overlay/get_turns.hpp>#include <boost/geometry/algorithms/detail/overlay/select_rings.hpp>#include <boost/geometry/algorithms/detail/overlay/self_turn_points.hpp>#include <boost/geometry/geometries/concepts/check.hpp>#include <boost/geometry/views/detail/range_type.hpp>#include <boost/geometry/strategies/cartesian/centroid_average.hpp>#include <boost/geometry/io/dsv/write.hpp>#include <boost/geometry/io/wkt/wkt.hpp>