有什么方法可以使 CGAL 的折线简化适用于 inner/shared 边界?

Is there any way to get CGAL's polyline simplification to work for inner/shared boundaries?

我一直在尝试借助这个 CGAL guide 对属于地图的多边形进行线简化,例如韩国.

这是 screenshot of South Korea 使用 CGAL 简化行后的结果。

我通过将每个多边形添加到 CGAL::Constrained_triangulation_plus_2<CDT> ct 然后 运行 CGAL::Polyline_simplification_2::simplify(ct, Cost(), Stop(0.5));.

来进行线简化

外部边界将得到简化,但 inner/shared 边界(各省之间)不会。 有什么方法可以简化 inner/shared 边界吗?

我还尝试过 simplify 每个多边形分别然后将它们重新组合在一起形成整个国家。然而,问题在于每个多边形都会自行简化,因此如果 Polygon1 得到简化,则无法保证相邻 Polygon2 的共享顶点将重新定位到与 Polygon1的顶点,因此当您将它们放回一起时会出现交叉点,就像这张韩国地图一样。

谢谢。

当你写“共享边界”时,我猜它们在那里有两次,一次是从每个省看到的。您必须拆分三个省相遇的省多边形,并且 然后只取两个共享边界之一。