谷歌地图离线发布系列之偏移处理(一)纠偏算法理论基础

本人整理了谷歌地图离线发布这个系列,很多内容来源于网络,参考了若干牛人的资料,膜拜下!!!

数学之美~Google中国地图经纬度偏移

以前一直以为Google手机地图是在客户端程序内置有矫偏算法的,看了dongmeng110的blog 才知道Google地图偏移其实是有接口可以取到的:

http://ditu.google.cn/maps/vp?spn=0.0,0.0&z=18&vp=39.111195,117.148067

给定经纬度坐标,返回地图tile的偏移像素值。没想到居然就是直接从服务器取,这样所有的偏移量其实都是公开的了。

接下来,我对偏移数据做了一些分析。纵坐标是18级地图的偏移量。

首先是较小尺度,在经纬度1度的范围内每0.01度取得一个偏移值。

图一:纬度不变,经度1度变化范围内,偏移量的变化(横坐标数字为经度0.01度)


图二,与图一相同的数据,可以看出偏移在平面上的变化


图三,经度不变,纬度1度变化范围内,偏移量的变化(横坐标数字为纬度0.01度)。可见偏移量变化不如经度变化时大。


图四,与图三相同的数据,可以看出偏移在平面上的变化


图五,经度纬度均1度范围内,偏移在平面上的变化。其实是图二与图四“相乘”的结果。


接下来从大尺度上看看。
图六,北纬40度的纬线上偏移值变化图,横坐标为经度。看得出以经度1度为周期呈现出一定的规律性,在y向偏移量上特别明显。


图七,东经116度的经线上偏移值变化图,横坐标为纬度。这个就没有奇怪的小波动了,而且x向偏移似乎可以非常理想的用二次曲线来拟合。


图八,刚才在图六中发现纬线上的偏移值呈现出规律性,这里放大来看看。很明显是一1度为周期的。


已经发现在纬线上的偏移值呈现出明显的规律性,这个规律不难拟合出来。利用拟合出来的函数将这个高频扰动抵消之后,得到了这样的曲线:


看起来相当完美。那在看看将它应用到大尺度上效果如何:


有微小的抖动,看来参数细节还需要微调一下,不过要求不高的话其实已经可以接受了。

接下来,在这张图上又发现了规律…… 嗯,我不能继续写下去了,嘿嘿。

其实对于离线应用,进一步的分析不做也没有关系了,并不需要将整个函数拟合出来,剩余的工作可以通过查表法来做,然后插值再加回高频扰动。因为知道了高频扰动的函数后,就能够用较低的采样频率来记录偏移量,即使将整个表放内存里,占用的空间大小也可以接受。
看了最后的曲线,熟悉高等数学的,应该可以用傅立叶变换做出这个函数。呵呵,理论上Fourier transform可以拟合出任何的曲线函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值