1

我有一台 Windows 8 平板电脑。我正在.NET 4.5 中开发 WPF 应用程序(即不是现代的 Windows Store 应用程序)。

平板电脑将安装在卡车上,我需要了解平板电脑的行驶速度。我目前正在使用 Windows 定位服务 (System.Device.Location),但API 不跟踪速度,只跟踪纬度/经度坐标。我无法从坐标随时间的变化中插入速度,因为设备没有发出足够的读数来进行准确的计算。

我知道如果我正在开发一个现代应用程序,我可以使用System.Device.Sensors 框架,但这似乎不适用于 WPF 应用程序。

有谁知道我如何在 WPF 应用程序中访问加速度计传感器?我更喜欢 .NET 解决方案,但如果必须,我会考虑使用本机解决方案。

4

1 回答 1

2

您不能使用加速度计读数来准确计算速度,因为如果您错过数值或获得错误读数或错过相等和相反的力,您可能会漂移。例如,用户不小心踢了平板电脑,因此您读取了一个巨大的加速峰值,但由于采样频率而错过了减速,所以现在您认为您正在高速公路上加速,即使您没有。基本上,您无法根据加速度计读数获得可靠的速度计算。

您应该继续使用 Windows 定位服务并进行采样。然后根据您所在位置的最后 (x) 个样本计算速度的移动平均值。如果您启用了 GPS,定位服务将使用 GPS,因此在几秒钟的时间段内,您可能能够计算出足够准确的速度。我不知道多少秒的采样会给你一个很好的速度计算平均值,但你可以尝试看看什么效果最好。

于 2013-07-23T19:21:28.573 回答