何时使用这个
每当您的录音文件对于其工作而言太大时,请使用它。经典案例:将路线加载到具有点上限的旧 Garmin Edge 上,导入到超过数千个点的路线规划器中,在加载时间很重要的博客文章或共享页面上嵌入地图,通过电子邮件或聊天发送路线而不会达到附件限制,或者只是整理文件以进行存档。共同点是“我想要路线的形状,而不是每个 GPS 样本” - 简化保留第一个并减少第二个。
免费工具
将 10,000 点 GPX、FIT 或 TCX 减少为 500 点文件,用一小部分数据绘制相同的路线。 Douglas-Peucker 抽取、可调目标、并排预览、免费、浏览器内。非常适合具有点上限、路线规划器导入、嵌入式地图以及任何文件大小比每米保真度更重要的旧 Garmin 单位。
8,412 点变为500分
GPX、FIT或TCX有太多的轨迹点 - 我们都见过它们。
100 到 5,000 点。默认 500 对于大多数路由来说已经足够了。
相同的格式输入,相同的格式输出。地图上的轨道看起来是一样的。
每当您的录音文件对于其工作而言太大时,请使用它。经典案例:将路线加载到具有点上限的旧 Garmin Edge 上,导入到超过数千个点的路线规划器中,在加载时间很重要的博客文章或共享页面上嵌入地图,通过电子邮件或聊天发送路线而不会达到附件限制,或者只是整理文件以进行存档。共同点是“我想要路线的形状,而不是每个 GPS 样本” - 简化保留第一个并减少第二个。
道格拉斯-普克递归地工作。从轨道的第一个点和最后一个点以及连接它们的线开始。找到距该线最远的轨迹点。如果距离超过容差,则保留该点并在两个子段上递归。如果没有,则删除每个中间点。重复此操作,直到没有线段的中间点超过公差。我们的实现进行了反向扭转 - 我们没有设置距离容差,而是设置了目标点计数并对产生该计数的容差进行二分搜索。所以你说“给我 500 分”,算法就会找到正确的 epsilon。结果是保证点计数,保留形状并且算法可以管理。
最大的错误是过度简化和简化不足。过度简化意味着将目标设置得太低,以至于真正的路线要素(急转弯、发夹弯、环形交叉路口)会折叠成直线 - 这可能会破坏 Strava 线段匹配或在地图上看起来很奇怪。简化不足达不到目的 - 如果您从 10,000 点变为 8,000 点,文件对于您想要适应的平台来说仍然太大。最佳点是在预览中仍然可见所有转弯的最低点数。对于典型的 50-100 公里道路骑行,500-1000 个点覆盖它。对于方向不断变化的紧凑单轨,您需要接近 2000-3000。