有什么方法可以使 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
的顶点,因此当您将它们放回一起时会出现交叉点,就像这张韩国地图一样。
谢谢。
当你写“共享边界”时,我猜它们在那里有两次,一次是从每个省看到的。您必须拆分三个省相遇的省多边形,并且
然后只取两个共享边界之一。
我一直在尝试借助这个 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
的顶点,因此当您将它们放回一起时会出现交叉点,就像这张韩国地图一样。
谢谢。
当你写“共享边界”时,我猜它们在那里有两次,一次是从每个省看到的。您必须拆分三个省相遇的省多边形,并且 然后只取两个共享边界之一。