algorithm - 如何简化样条曲线?

标签 algorithm interpolation geospatial smoothing spatial-interpolation

我在从事的项目中遇到了一个有趣的算法挑战。我有一个排序的坐标点列表,指向街道两侧的建筑物,充分放大后,看起来像这样:

enter image description here

我想将这条锯齿形曲线平滑化,以线性化底层街道。

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

  1. 使用大约六个点的滚动平均值计算质心,并使用它们。
  2. Spline regression .

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

最佳答案

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

enter image description here

Ramer-Doublas算法(在评论中建议)很可能是这个家族中最著名的算法,但还有更多。

例如Visvalingam’s algorithm通过删除具有最小变化的点来工作,该点由三角形的最小平方计算。这使得编码非常容易并且直观易懂。如果研究论文很难看,可以看this简单的文章。

这个家族中的其他算法是:

了解他们,了解他们试图缩小什么并选择最适合您的。

关于algorithm - 如何简化样条曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37513481/

相关文章:

algorithm - 打印(或输出到文件)欧几里得算法的步骤数表

matlab - 在 MATLAB 中插入/填充真值网格中缺失的单元格

c++ - 维基百科上的线性插值代码——我不明白

arrays - 在数组中的元素之间进行插值

路线匹配的数据库解决方案

r - 使用 ggplot 绘制 COVID 数据的气泡图

r - 在 stplanr 中向 SpatialLinesNetwork 添加新节点

algorithm - 计算不同增量的循环迭代次数

algorithm - 如何使用 3 轴加速度计和 3 轴陀螺仪和 gps 进行导航

algorithm - 以编程方式分解大量