本帖最后由 mrz 于 2016-3-1 14:43 编辑
首先了解一个概念,所谓的“海岸线悖论”。假设用长度为100公里的“直”尺去丈量大不列颠的海岸线,得出结果大约为2800公里。用长度为50公里的直尺则会得到3400公里的结果。后者看似比前者准确,但当你拿长度为10公里或10米的直尺去量,结果还会更准确。到底要多准确才叫准确。
量平滑曲线,如果只取两头的数据点,取两者直线距离,结果较短。如果中间也有很多数据点,等于把曲线拉直了再量,结果较长,可以趋近曲线的真实长度。见下图: 咱们用GPS的数据点其实也类似,理论上,数据点越多的,好比量尺越短,量出的距离越接近实际走的距离。
GPS数据点一般有经度、纬度、高度(三维空间的位置),和时间、速度等信息。见下图(只含位置信息的例子)。
很多人问GPS软件算出的是水平距离或斜坡距离(即咱们实际步行距离)。首先我要说,咱们熟悉的路线一般坡度很小,斜坡距离比水平距离只多出一丁点儿,没必要计较。其次,即使对这问题好奇,你大概也可以假设GPS手持机和手机软件都会计算斜坡距离。不过各家有各家算法,即使或有笨蛋软件,你也很难知到,没法儿较真。 想了解为什么两个机子报不同的距离(不在一起走的),我觉得误差最可能来自数据点本身,毕竟两人走不可能走出一模一样的路径,另外,数据点数量不同和数据点漂移也是很可能的。
想解决这个问题,可以把轨迹放到GE上分析,看看是否有些数据点漂了,有的话,做些修正,GE会自动算出距离。
用底下两GE图解释吧。上图是鳌太的一个轨迹,我把黄色部分(第二天)的某个轨迹点故意往北漂了好远,变成下图。从两图下方的高程数据,可以看出变化很大。当天累计12公里处(大胖红色箭头处)本来在药王庙东边,现在被我漂到北边的沟里了。原来那一天走了16.1公里却成了 22.6公里。换言之,数据点漂移可以导致总里程的误差。
如果有心人把六只脚上的轨迹这么一整里,估计能得到较客观的距离(当然修正数据点本身也有很大成分的主观因素,只有熟悉路线及谷歌应用的人才能做好)。不过最起码有个好处,距离的算法是一致的----谷歌算法。GE分析做起来很容易,每一段轨迹都能放大看数据点。见下图:
咱们也可以参考先进的做法。美国户外爱好者组织的阿巴拉契山俱乐部( 阿巴拉契山步道AT ,正是老狐要走的) 19 世纪时就有人用测绘轮量出各段徒步路线距离(现在仍然有人当业余爱好在做),不过现在他们出版的徒步路线图是用带有特殊天线测绘级的GPS量的。有人想带个测绘轮走鳌太吗,或许可以找热心的猛哥报名。报名请吃烤羊。
|