我使用Node.js和Concave hull算法来隔离英国邮政编码扇区。 这就是我现在得到的:
所以现在,我需要平滑边界看起来像这样:
有谁知道我应该使用哪种算法?
答案 0 :(得分:1)
似乎有很多方法可以做到这一点。我倾向于引用某种贝塞尔插值(http://www.antigrain.com/research/bezier_interpolation/)。
@amit给出了关于如何解决问题的另一个很好的线索,样条实际上对于平滑多边形非常有用。请参阅相关问题:https://gis.stackexchange.com/questions/24827/how-to-smooth-the-polygons-in-a-contour-map
希望它有所帮助!
答案 1 :(得分:1)
至少 2方法:
Rammer-Douglas-Peucker算法减少了多边形的节点数 - 这不会使它平滑,因为它会使它弯曲,它只会减少节点(粗糙度),同时努力保持多边形它是尽可能原始的形状
虽然你是什么,很可能,之后是通过一系列点的曲线拟合算法。
请参阅this answer我为此做出的解决方案(和上面的答案,更具描述性)。