【发布时间】:2011-05-27 16:43:41
【问题描述】:
我有一个由gpxlogger(1) 制作的 GPS 轨迹(作为gpsd 的客户端提供)。 GPS 接收器每 1 秒更新一次坐标,gpxlogger 的逻辑非常简单,它会记下位置 (lat, lon, ele) 和一个时间戳 (time),每隔 n em> 秒(在我的例子中 n = 3)。
在写下几个小时的轨迹后,gpxlogger 保存了几兆字节长的 GPX 文件,其中包含数千个点。之后,我尝试在地图上绘制这条轨迹并将其与OpenLayers 一起使用。它有效,但数千个点使使用地图变得草率而缓慢。
我知道有几千个次优点。有无数的点可以删除而几乎不会丢失任何东西:当有几个点大致组成直线并且我们在它们之间以相同的恒定速度移动时,我们可以离开第一点和最后一点,其他的都扔掉。
我曾想过使用gpsbabel 进行此类轨道简化/优化工作,但是,唉,它的simplification filter 仅适用于路线,即仅分析路径的几何形状,没有时间戳(即不检查速度是否大致常数)。
是否有一些现成的实用程序/库/算法可用于优化曲目?或者我可能错过了 gpsbabel 的一些聪明选择?
【问题讨论】:
标签: optimization gps simplify gpx