如何简化样条曲线?

Ale*_*gur 1 algorithm interpolation geospatial smoothing spatial-interpolation

在我正在开发的项目中,我有一个有趣的算法挑战.我有一个排序的坐标点列表,指向街道两侧的建筑物,这些建筑物已经足够放大,如下所示:

在此输入图像描述

我想采取这种曲折并将其平滑以使基础街道线性化.

我可以想到几个解决方案:

  1. 使用六个左右的滚动平均值计算质心,并使用它们.
  2. 样条回归.

是否有更好或最好的方法来解决这个问题?(我使用的是Python 3.5)

Sal*_*ali 8

根据您的描述和评论,您正在寻找线简化算法.

在此输入图像描述

Ramer-Doublas算法(在评论中提出)很可能是这个家族中最着名的算法,但还有更多.

例如,Visvalingam的算法通过移除具有最小变化的点来工作,该变化由三角形的最小平方计算.这使得编码和直观易懂变得非常容易.如果很难阅读研究论文,你可以阅读这篇简单的文章.

该系列中的其他算法包括:

阅读他们,了解他们想要缩小什么,并选择最适合您.