我正在跟踪骑手(自行车骑手)的位置并计算他每次骑行的总距离。我只使用了融合位置 api(没有 GPS)。有时我会在位置上跳跃,并且由于这些跳跃会增加额外的距离,因此导致整体距离错误。请帮助我找到这些错误的纬度和经度。是否有任何可以在 Android 中轻松实现的好过滤器或任何好的方法?
最佳答案
原始 GPS 数据的距离测量总是有噪音,因为基础数据通常不准确。这些跳跃是由于不准确的位置测量。要实现准确的距离测量,您可能需要过滤数据中的噪声。
您可以探索的一些有用的过滤技术是:
使用卡尔曼滤波器平滑位置数据 - 参见 tutorial
使用 Google map 捕捉道路 snap-to-roads API , 或 OSRM match service .
如果您正在寻找能够提供准确位置数据和距离测量值的端到端解决方案,您还可以尝试适用于 Android 或 iOS 的 HyperTrack SDK。您可以在 their blog 上阅读有关他们如何过滤位置以提高准确性的信息。 . (免责声明:我在 HyperTrack 工作。)
关于android - 使用融合位置 api 跳转到位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845600/