我想使用最好的坐标.但有一件事令我困惑
在这里,我想检查一下,如果新的位置准确性更好,那么使用新位置,否则使用旧位置
if (newLocation.horizontalAccuracy>oldLocation.horizontalAccuracy)
{
self.bestEffortAtLocation=newLocation; // this mean new location is better accurate
}
else
{
self.bestEffortAtLocation=oldLocation; // this mean old location is better accurate
}
Run Code Online (Sandbox Code Playgroud)
我想知道上面的检查是否正确?
我知道这是一个愚蠢的问题.但现在在这个时候我处于表面水平.
请建议
这不是一个好主意.为了解原因,我们假设我们在时间t A(t)调用准确度,它将以米为单位给出.我们可以想象以下情况:
那是:
m米.t,您的准确度会更差n.m后的时间t.使用您的算法时,您可能会拒绝使用新的GPS位置,t因为n比较差m,即使用户不可能在旧位置附近.他们的速度超过了半径m.那显然不对.
相反,这是一个基本的算法来决定新位置是好还是坏?
t每个周期间隔为秒,存储(L, v, A)包含用户的位置L,速度v和精度A的3元组.
在某些时候,u您想知道对用户位置的最佳猜测是什么.
一次检查位置u - t.如果A old > A new(请记住,如果以米为单位测量的精度值越高,则使用新位置,因为它更准确).
如果一个旧的 <一个新的,事情有点不同.如果A/t超过2v,用户可能仍在精度圈内,所以使用旧的L.但如果没有,那么用户已超出精度圆的范围,所以使用新的L.
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |