getLatitude()
我有一个使用和getLongitude()
从 Android API生成的纬度/经度数据库。它们以十进制度为单位,并具有不同的精度(有些是小数点后 7 位,有些是小数点后 11 位等)。
有没有一种简单的方法可以根据小数位数取消该位置的置信区间?或者在数据点已经被捕获的情况下,撤销准确性是不可行的?
getLatitude()
我有一个使用和getLongitude()
从 Android API生成的纬度/经度数据库。它们以十进制度为单位,并具有不同的精度(有些是小数点后 7 位,有些是小数点后 11 位等)。
有没有一种简单的方法可以根据小数位数取消该位置的置信区间?或者在数据点已经被捕获的情况下,撤销准确性是不可行的?
如果您所拥有的只是记录的经纬度,那么您就不走运了。无论如何,七位小数是相当高的精度(我想你会发现 1/10,000,000 度根本不是很远,亚厘米,并且已经比 GPS 接收器的精度更高)。
GPS 接收器最有可能输出 HDOP 和 VDOP 数据(精度的水平和垂直稀释),但无法从记录的纬度和经度 AFAIK 中推断出这些数据。
如果这些值带有时间戳并且对于移动的设备,那么这些数字很可能是嘈杂的,并且可以过滤它们。这将使数字变得平滑,然后您可以计算出原始数据与平均值的标准差。可以给出一个半有用的答案。
或者你可以做 SatNav 系统做的事情;如果您知道设备移动的方式(例如在汽车中?),那么可以合理地假设它位于交通工具上的某个地方(例如道路)。SatNavs 通过参考其内置的路线图获取 GPS 读数并进行更正。