融合位置Api的准确度不佳

时间:2015-04-28 15:56:11

标签: android gps location maps android-fusedlocation

我试图做一个"跟踪" Android中的应用。我使用了Fused Location Api,就像许多不同的网站一样,我按照其准确度过滤了这些位置。

public void onLocationChanged(Location location) {
  if (location.getAccuracy() <= 10.0f && location.hasAccuracy() ) {
    //saveLocation(); or whatever
   }

代码更精细,只是为了反映这个想法。

应用程序在我走路的同时画一个Polyline,我每隔5秒就得到一个位置。如果未启用GPS,我会说用户启用它。

问题是(我不允许上传图片,所以我会描述它)我的路径/路线,线路,做奇怪的曲线,进入建筑物等等......我不知道#39;知道如何在街上保留这条线......

如果我改为&#34; old&#34; API,locationManager等,我会收到更好的位置?或者Fused Location还有另一种方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

GPS信号通常非常“嘈杂”。根据我的经验(主要是位置管理员),即使接收器静止,连续的gps测量也可以“跳跃”多达10米。使用折线连接原始数据点可能会显示出非常锯齿状的路径。

我的建议是更快速地采样并过滤数据。有很多方法可以过滤。例如,您可以简单地平均最近的N个纬度值(并对经度执行相同的操作) - “运行平均值”过滤器。更复杂的方法将使用关于可能的速度和方向变化的知识(例如,卡尔曼滤波)。