android - 如何从 Android 中的 GPS 获得最准确的速度

标签 android performance gps location

如何在 Android 中通过 GPS 获得准确的速度? 是的,我知道 Location 类中的 location.getSpeed() 方法。问题是,默认实现返回 0.0 作为速度:显然 that is the default behavior .

我目前正在做的,如下,考虑位置对象a和b,其中a先取,b后取:

a.distanceTo(b)/(b.getTime()-a.getTime());

(为了可读性而简化,原始代码处理历史ArrayList)

问题是这有点不准确:在正常情况下,数据点彼此如此接近,以至于 GPS 不准确确实成为一个问题。我需要降低更新频率或计算相对于更远点的速度。前者我不想做,因为我想获得尽可能高的频率,但也许我可以过滤这些点以根据它们彼此的距离来计算速度? 我假设 getSpeed() 方法会做的最佳解决方案是根据 GPS 卫星本身计算速度,从而获得更准确的结果。 我是否以某种方式使用了 getSpeed() 错误?

最佳答案

既然你保留历史为什么不...

获取当前位置和时间

找出当前和最后一个 ~10 之间的速度

取结果的平均值

关于android - 如何从 Android 中的 GPS 获得最准确的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9767151/

相关文章:

Android导航组件后退按钮不起作用

Java android跟踪安装应用程序的使用时间

python - 沿一维的 1D 数组和 3D 数组的高效乘积 - NumPy

javascript - 在避免重复的同时有效地在 postgres 中实现分页?

gps - 是否可以使用 gps 或加速度计确定车辆是否在斜坡或山上回滚?

javascript - 从数据库获取 GPS 纬度、经度值并在 map 上绘制标记?

java - 实现搜索栏并在空对象引用错误上获取 'java.lang.Object[] java.util.Collection.toArray()'

java - 如何在 java 代码中读取 View 的 android 默认属性

c++ - 传递 const 引用 : performance increase?

python - 如何在python中从gps历元获取当前日期的闰秒