【发布时间】:2013-06-05 14:11:12
【问题描述】:
很抱歉,如果这在其他地方有所涉及,但我无法具体找到这个问题。
我正在为某人开发一个赛车应用程序,它会根据预设的目标速度告诉您领先或落后多少秒。
为了测试它,我们使用车载计算机直接从汽车读取速度(无 GPS)。我的应用似乎与车载计算机有些匹配,直到汽车开始减速,然后我的应用变得不稳定。
这是一个视频,问题出现在大约 1:38 http://www.youtube.com/watch?v=GhVM1VCqiA8
该应用有时会出现的事实让我相信 GPS 覆盖范围和计算时间的公式都很好。
显然存在精度问题,尤其是在汽车减速时。
这是我的一些用于跟踪速度的代码。
LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
public class MyLocationListener implements LocationListener
{
@Override
public void onLocationChanged(Location loc)
{
actualSpeedMps = (double)loc.getSpeed();
}
////more
我认为 GPS 试图更新得太快,因此当汽车突然改变时给我不稳定的速度。
我的想法是将当前为 0 的 requestLocationUpdates 最小时间参数更改为 500 之类的值。
我从基础教程中学习了这门课程,所以也许有人可以向我推荐一个更准确的课程,可以让我更快地学习。
提前致谢
【问题讨论】:
-
这看起来不对。请描述视频中可见的单位。这是英里/小时吗?红色汽车显示的速度在哪里?顶部或底部红色显示?您的应用程序显示什么?在大多数情况下,您的应用会显示一半值。您还可以与有效的 Navi 或 GPS 应用程序进行比较。在苛刻的打破,当然 GPS 将关闭 1 秒。但是您还有其他问题,至少在视频中
-
我的应用会显示与您的目标速度相比领先或落后多少秒。该数字应与车载计算机的顶部数字匹配(右),在变得不准确之前它首先会匹配。
-
目标速度是多少? GPS 测量当前速度,这非常正确(0.1 公里/小时)。在您的问题中,您描述了当前速度,但现在您告诉目标速度。更详细、更准确地解释您想要测量的内容。目标速度如何定义,目标速度的单位是多少,目标速度从何而来?
-
关于减速。当你说“减速”时,汽车行驶多少米/秒或公里/小时?
-
这是一场“平均速度”比赛,目标是以精确的平均速度到达目的地吗?你也不需要计算距离吗?