2011-06-16 120 views
0

有时,当设备拉动GeoPositionAccuracy设置为High并且MovementThreshold设置为0的坐标时,捕捉的GeoCoordinate离其他坐标更远并且不与其他内嵌。我如何防止或从我的地理坐标系中移除GeoCoordinate?您会注意到,在第二个浅灰色“e”的右下方,在路线11符号的右侧,您会看到一点点慢跑。第一个小灰色'e'下面是同样的东西。错误的随机GeoCoordinate

enter image description here

回答

1

GPS根据以卫星为中心的交叉点容积计算位置。完美的准确性,他们会是球体,但有一个容错,所以它是相交的壳。它们在地平线上越接近,交叉点体积越大(长而薄)。 GPS硬件选择最好的三颗卫星。 “最佳”结合了水平角度分离和信号强度。

移动到建筑物的阴影中可能会导致一组卫星发生变化。精度稀释的实质性变化可能伴随着计算位置的突然大的变化。这个俚语名称是“GPS teleporting”,它在混凝土峡谷和在金属遮阳篷下停放的履带式车辆中很常见。更复杂的系统将使用加速度计来识别这种现象,因为一个突然大的位置变化会伴随着高加速度。在多个样本上,质心可以给出实际位置的合理指示。

+0

这是有道理的。但是,您是否有任何关于如何使用手机中的加速计来确定这些点不可行的例子? – 2011-06-17 05:24:26

+0

当位置突然改变时,您的位置,标题,时间和速度都适用于开始点和结束点。您可以计算距离,速度,达到所需最小速度所需的最小加速度以及达到最终矢量所需的最小加速度。您可以将预测的加速度与观察到的加速度进行比较,如果他们在幅度和方向上不一致,则您正在经历传送,最好的做法是平均坐标以最小化误差。 – 2011-07-14 22:57:54

0

当您设置移动阈值​​为零,你的GPS就变得非常敏感,因此噪声介绍(来自环境)。我猜测这可能是噪音造成了一定的抖动。从Best Practice guide

合理设置移动阈值​​

因为在移动设备 GPS硬件没有天线,传感器 通常被设计得非常 敏感。这种灵敏度可能会导致 中的少量噪声信号从表面反射和 其他环境影响中产生。 位置服务类 GeoCoordinateWatcher公开了MovementThreshold属性。此 属性指定在PositionChanged事件为 之前必须发生的必须发生位置的最小变化 。如果将 MovementThreshold属性设置为 较低值,则可以使您的 应用程序接收 信号中实际为 信号中的噪声结果的事件。为了平滑信号到 只代表 位置的重大变化,将MovementThreshold 属性设置为至少20米。这 也将导致您的应用程序消耗更低的功耗 。 将移动阈值设置为0, 米将导致事件 频繁地增加,如每 秒一次。此设置对于 导航应用程序可能会有用。

+0

我已经阅读过。不过,这是一款基于导航的应用程序。这不一定解决我的问题,因为不正确的电话。即使我把它设置为1米,我也不能保证它会解决我的问题。 – 2011-06-17 05:23:18