北京离杭州有多远?
北京到杭州,距离是1078.4公里。 这是百度地图测的距离,我是在百度地图里分别搜的“北京”和“杭州”得到的答案。 我感觉应该准。因为我现在就在北京,离杭州差不多就1100公里。 但是这个数据让我很疑惑。因为在地图上搜到的北京到杭州的距离应该是1200公里左右(如下图) 为什么百度地图和传统地图得出的答案是相差这么多的呢?! 这多出来的120百公里到底去哪里了呢?! 于是我用同样方法搜索了一下广州和杭州的距离,发现结果竟然也是多出了将近130公里。这更是诡异了。为什么同样是北京和南方的城市,搜出的数据却差别这么大。 接着我又换了一个地图,用腾讯地图搜索了下“北京”和“杭州”之间的距离。让所有人都大跌眼镜的是,腾讯地图显示的杭州到北京的距离竟然是1695.1公里。比百度地图足足多了600多公里,这简直离谱!! 这究竟是为什么呢?我查了一下原因,发现是因为这两家公司采取的测量方式不一样导致的。
百度地图和微信里的地理位置都是基于GPS实测得来的,所以数据的准确性很高;但是百度地图在绘制路线的时候,是将起点和终点之间的轨迹进行直线推算得到的,这样也就导致了起点和终点之间存在一定的偏移量。而腾讯地图在绘制路线的时候把起终点的每一米都进行了标注,所以看起来就比百度地图要更准确一些。 但问题是,无论哪种地图,所采用的导航技术都不会超过两种,一种是基准站(也就是自己本身的位置)与流动站(也就是车辆的位置)的实时的传输,将这条路上的所有车辆的位置传回到服务器中,再由服务器上进行计算,得出每一条道路的车流量和数据,进而判断出最顺畅的行车线路给终端设备展示出来,这就是常说的基于车流的数据进行分析。另一种就是传统的地图式的方法,通过在地图上标示每一个节点,构建起止点间的路径方案,从而得到最佳的行驶路线。
根据《中国交通地理信息系统》中介绍,目前应用最广的高速路网查询方法是倒排法,也就是第二种地图式的方法。因为这种方法不需要考虑其他车辆的位置信息,只涉及本车道的车流情况,所以比较适于高速公路或城市快速路这类封闭环境下的车速统计。 然而现实中情况会更复杂一些。因为这些软件其实都是在一定时间内对大量用户定位数据进行加总的平均值,并且这些数值都会经过一定的处理,否则会含有大量的噪声,数据也不大可能保持精确。另外不同手机厂商对自己的定位算法都有不同的理解,也会造成一定的误差。