【问题标题】:Path Smoothing/Point reducing algorithm路径平滑/减点算法
【发布时间】:2013-03-05 05:44:49
【问题描述】:

我目前正在编写一个在地图上显示保存的 GPS 路径的应用程序。 (我正在为地图使用大地图)Link

我希望在路径上运行一些路径平滑和点减少算法,以在地图上生成更清晰的路径。我一直在研究 Ramer-Douglas-Peucker 算法,可能还有样条曲线。

谁能告诉我采取什么方法,在这个问题上的任何帮助都会很棒。

【问题讨论】:

  • 注意-我可能在以下问题中找到了一种方法:stackoverflow.com/questions/7980586/…
  • 我们在谈论多少分?我发现一个简单的移动平均计算可以快速完成并且不会把事情搞砸。阅读您引用的问题,这显然是最好的方法。
  • 点数可能因用户记录 GPS 位置的长度而异。

标签: c# map


【解决方案1】:

算法的关键部分是递归。 如果你能理解它是如何工作的,不管语言它是一样的。 所以,基本上我们只需要获取点并将它们发送到一个包含逻辑(也执行递归)部分的函数。

既然你现在已经实现了,从控件中获取点为this.MainMap.Position(玩控件了解一下),然后调用该实现的函数:)

This might give you a start

祝你好运!

【讨论】:

  • 我目前正在研究这个实现。我正在寻求关于这是否是一种合适的方法的建议。
  • 我猜你是在正确的道路上。你可以使用this.MainMap.Markers[0].Position 来获得积分,运行这个算法并更新它
  • 通过提供指向外部信息源的链接来回答问题时,请务必在答案中包含来自该源的信息的重要部分,因为链接可能会随着时间的推移而消失。
猜你喜欢
  • 1970-01-01
  • 2015-02-28
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 2012-10-10
  • 1970-01-01
相关资源
最近更新 更多