移动:更好的 GPS 精度 - 传感器 VS。 Google 地图提供位置
Mobile: Better GPS accuracy - Sensor VS. Google Maps provided location
信息:移动设备上的 GPS 有局限性,大致上我们所说的精度可达 10-30 米。
解决方案:GIS 专业人员(例如 Google 地图)应用各种技术来克服这一挑战。例如:当传感器告诉您位于与建筑物相对应的位置时 - 这是不可能的(GPS 需要清晰的天空视野),因此它们会自动将您与最近的道路对齐。有许多这样众所周知的 GIS 技术。
问题:如果我需要最好的 GPS 精度 - 我的选择是什么?
- 原始传感器数据。
- 使用 Google 地图 API 并从中检索位置。这是否意味着我受益于上述 Google Maps GIS 智能处理?
- 实现我自己的 GIS 算法。
在此范围内,我很想知道其他经验丰富的移动开发人员应用哪些方法来获得 真实 准确的 GPS。
谢谢,
如果您不想从头开始开发所有内容,我建议您使用 Google 的融合位置 API。
Fused Location Provider 分析 GPS、蜂窝和 Wi-Fi 网络位置数据,以提供最准确的数据。此外,该提供商使用不同的设备传感器来定义用户是在步行、骑自行车、开车还是只是站着,以便调整位置更新的频率。
Fused location provider 可用于获取定期位置更新(Google 为我们提供了完美的 tutorial on this, so there is no need to reinvent the wheel). It can notify us when a user is entering/leaving some area (this feature is called geofencing. More information about implementation details can be found here)。更重要的是,使用地理围栏的应用程序最多可以跟踪 100 个目标。事实上,地理围栏使用蜂窝位置数据来避免跟踪遥远的目标(如果我们可以使用蜂窝位置,则使用昂贵的 GPS 跟踪 100 英里以外的目标的接近度是没有意义的,它提供 0.7-1.5 英里的精度)。
要获得最佳 GPS,只需确保未启用 WLAN 或基站定位模式。
这可以在 ios 和 android.
中设置
现代 GNSS 芯片评估美国 GPS 和俄罗斯 GLONASS 系统。
这将在启用 GPS 校正 (=SBAS) 的位置(美国的 WAAS,欧洲的 EGNOS)提供大约 2-3m 的位置精度。 (其他在印度和中国)
没有此类 SBAS 校正的国家/地区接收准确度较低。它下降到 6-10m。
在人口稠密的城市,30m左右的偏差还是有可能的,但这种情况并不经常发生。
如果您对室内位置不感兴趣并且启用了 GPS,则绝对不需要使用 Google 地图 Api。每个 GPS 位置都有一个附加的质量值(称为 horicontalAccuracy)。您可以使用它来过滤您的需求。
进一步的过滤总是依赖于应用程序,即使应用程序不同的过滤适用于不同的任务。
例如,距离计算将使用不同于地图显示的另一种过滤。
在地图上你希望位置立即知道你在哪里,即使位置有点扭曲。
对于距离计算,您可以使用另一种类型的过滤来避免异常值。
如果您必须向其他服务器/实例等提供位置,(几乎)未过滤的位置通常是最好的。 (接收者可以使用自己的过滤)
信息:移动设备上的 GPS 有局限性,大致上我们所说的精度可达 10-30 米。
解决方案:GIS 专业人员(例如 Google 地图)应用各种技术来克服这一挑战。例如:当传感器告诉您位于与建筑物相对应的位置时 - 这是不可能的(GPS 需要清晰的天空视野),因此它们会自动将您与最近的道路对齐。有许多这样众所周知的 GIS 技术。
问题:如果我需要最好的 GPS 精度 - 我的选择是什么?
- 原始传感器数据。
- 使用 Google 地图 API 并从中检索位置。这是否意味着我受益于上述 Google Maps GIS 智能处理?
- 实现我自己的 GIS 算法。
在此范围内,我很想知道其他经验丰富的移动开发人员应用哪些方法来获得 真实 准确的 GPS。
谢谢,
如果您不想从头开始开发所有内容,我建议您使用 Google 的融合位置 API。
Fused Location Provider 分析 GPS、蜂窝和 Wi-Fi 网络位置数据,以提供最准确的数据。此外,该提供商使用不同的设备传感器来定义用户是在步行、骑自行车、开车还是只是站着,以便调整位置更新的频率。
Fused location provider 可用于获取定期位置更新(Google 为我们提供了完美的 tutorial on this, so there is no need to reinvent the wheel). It can notify us when a user is entering/leaving some area (this feature is called geofencing. More information about implementation details can be found here)。更重要的是,使用地理围栏的应用程序最多可以跟踪 100 个目标。事实上,地理围栏使用蜂窝位置数据来避免跟踪遥远的目标(如果我们可以使用蜂窝位置,则使用昂贵的 GPS 跟踪 100 英里以外的目标的接近度是没有意义的,它提供 0.7-1.5 英里的精度)。
要获得最佳 GPS,只需确保未启用 WLAN 或基站定位模式。 这可以在 ios 和 android.
中设置现代 GNSS 芯片评估美国 GPS 和俄罗斯 GLONASS 系统。 这将在启用 GPS 校正 (=SBAS) 的位置(美国的 WAAS,欧洲的 EGNOS)提供大约 2-3m 的位置精度。 (其他在印度和中国)
没有此类 SBAS 校正的国家/地区接收准确度较低。它下降到 6-10m。
在人口稠密的城市,30m左右的偏差还是有可能的,但这种情况并不经常发生。
如果您对室内位置不感兴趣并且启用了 GPS,则绝对不需要使用 Google 地图 Api。每个 GPS 位置都有一个附加的质量值(称为 horicontalAccuracy)。您可以使用它来过滤您的需求。
进一步的过滤总是依赖于应用程序,即使应用程序不同的过滤适用于不同的任务。
例如,距离计算将使用不同于地图显示的另一种过滤。
在地图上你希望位置立即知道你在哪里,即使位置有点扭曲。
对于距离计算,您可以使用另一种类型的过滤来避免异常值。
如果您必须向其他服务器/实例等提供位置,(几乎)未过滤的位置通常是最好的。 (接收者可以使用自己的过滤)