2013-04-18 198 views
1

您好我正在开发小型android应用程序,我想用其计算用户使用设备加速度计覆盖的用户速度和距离。所以我做了什么,我在1分钟的时间范围内采集了加速度的样本。从加速度计我得到x y和z坐标。我采取了x坐标值并取其平均值。并从中我计算用户的速度。使用设备加速度计算用户速度和距离android

但它没有给予适当的价值。 有没有办法做到这一点?如何做到这一点,它会给我很好的价值? 我这样做的方式如下:

// sum of no samples of acceleration points 
sum_acc = sum_acc+event.values[0]; 
// avg of acc 
avg_acc = sum_acc/no_of_samples; 
// speed of user 
speed = avg_acc*time_frame; 
// distance 
distance = speed*time; 

我需要更好的和准确的结果。需要帮忙。谢谢。

+0

[Android加速计精度(惯性导航)](http://stackoverflow.com/questions/7829097/android-accelerometer-accuracy-inertial-navigation) – Ali 2013-04-18 07:39:54

回答

0

你说的速度和距离,

对于速度,而是采用了加速计,让一个给定的时间间隔内位置的请求,得到两个位置,在该时间间隔内,并将其转换为英里,然后按时间间隔划分位置。从那里,你有你的速度。 为了使定位请求,并得到更新,按照这个Link

对于距离,使用Geolocator API和一个给定的时间间隔后,使该设备的当前方位的要求,总结覆盖的距离,你会得到你的总距离。