我跟踪骑手的位置(自行车骑手)并计算他每次走过的总距离。我只使用融合的位置api(没有GPS)。有些时候我在跳跃的位置,并由于这些跳跃额外的距离被添加,从而导致整体错误的距离。请帮助我找到这些错误的纬度和经度。有什么好的过滤器可以很容易地在Android中实现,或者有什么好的方法可以实现吗?在使用融合位置api的位置跳转
回答
位置不确切。即使使用GPS,它也不是。熔融的位置可能会偏离数百米。如果你每隔几分钟就会站立一次,你会得到一个真正关闭的阅读。有时我从厨房走到浴室,它认为我走了四分之一英里。如果你看看它返回的准确性,记住你在这个距离内有2/3的机会。在这个半径范围内你仍然有33%的可能性。
你将不得不接受不准确。有几个想法,你可以做,虽然
1)忽略所有更新,除非他们旅行至少一些最小距离。加入所有这些小数量会快速增加很多不准确性。 2)在接受新位置之前,需要在新位置附近至少进行2次更新。
但是,如果您使用网络位置进行短时移动,您将遇到困难时期。
我在每30秒后请求位置更新,并在总行程中得到大约1-1.5公里的误差。 –
我对此并不感到惊讶。 FusedProvider称之为“块精度”是有原因的 - 他们期望它能在大约一个城市街区范围内。另一方面,如果你站在一个地方,它会给你一堆或多或少的随机点。 –
阅读有关使用卡尔曼滤波器相同,但我不知道如何在我的Android代码中实现这一点。如果有人帮助我用当前的纬度,经度,精度,时间来实现卡尔曼滤波器,并且在locationChanged上改变纬度和经度,那将会很棒。 –
进入设置 - >位置 - >模式。 并确保模式仅设置为“设备”。 这将停止跳转
对原始GPS数据的距离测量始终是嘈杂的,因为底层数据通常不准确。这些跳跃是由于不准确的位置测量。要实现精确的距离测量,您可能需要过滤数据中的噪音。
,你可以探索一些有用的过滤技术主要有:
利用卡尔曼滤波器平滑位置数据 - 见tutorial
捕捉到的道路与谷歌地图snap-to-roads API,或OSRM match service。
如果您正在寻找能够提供准确位置数据和距离测量的端到端解决方案,您还可以尝试Android或iOS的HyperTrack SDK。您可以阅读他们如何过滤位置以提高their blog的准确性。 (声明:我工作在HyperTrack。)
- 1. 无法停止使用融合位置API的位置更新
- 2. 无法使用Google的融合位置API获取位置
- 3. 添加addGpsStatusListener的融合位置API
- 4. 融合的位置崩溃
- 5. 即使使用融合位置API关闭gps,如何获取位置更新?
- 6. Android - Xamarin - 融合位置
- 7. 使用位置管理器和融合位置提供程序Api获取位置有什么不同?
- 8. 融合位置API - 在后台平衡,但有时会获得GPS位置
- 9. 我想获得谷歌融合的位置API的准确位置?
- 10. 关于Android中的融合位置提供者获取位置
- 11. 融合的位置返回NULL
- 12. 使用adapterview跳转到位置
- 13. 当第一次请求位置时,Android融合位置API问题
- 14. 位置为null融合位置提供者android
- 15. 使用android融合位置api不会在MyLocation上显示蓝点使用
- 16. Phonegap地理位置跳转
- 17. webaudio,audiocontext跳转到位置
- 18. 位置传感器融合代码
- 19. 谷歌地图片段不移动到当前位置使用融合的位置api
- 20. CSS3跳位置
- 21. 获取当前位置0在棉花糖中低于23 API API给出精确的当前位置使用融合位置
- 22. 获取使用融合位置的卫星数量
- 23. 融合位置API运行时权限错误
- 24. 如何从融合位置api获取卫星数量?
- 25. 融合位置提供商和“Wi-Fi和移动网络位置”设置
- 26. 如何在onActivityResult中重新连接位置客户端(融合位置)
- 27. 融合位置API在关闭谷歌地图后给出高度不准确的位置
- 28. 的ImageView跳转到开始位置
- 29. 跳转到XSL中的内部位置
- 30. 使用位置API或电话API获取设备位置
你做了什么?请至少添加一段代码。 –