原创论文,转载请标明出处,尊重劳动成果。
切割图片,自定义百度地图图层的算法。
1.墨卡托投影正解公式
算法的第一步是求出图片中心坐标点(经度,纬度)到地图坐标原点(0,0)的距离,在实践过程中,如果采用标准的球面距离计算公式,会产生误差,特别是纬度绝对值大的区域。这是因为大部分WEBGIS采用墨卡托投影,纬度绝对值越大的球面区域拉伸越长,所以需要采用墨卡托投影正解公式来计算距离,消除误差。
公式中a为椭球长半轴,b为椭球短半轴,例如百度地图采用WSG84椭球体参数,故a等于6378137米,b等于6356752.3142米。L0,B0为标准原点经纬度(0,0),L,B为带入计算的中心点经纬度,e为偏心率。
墨卡托投影正解公式(1)(2),可以求出基于墨卡托投影下某一经纬度点对应坐标原点(0,0)的X轴方向和Y轴方向距离(单位米)。
(1)
(2)
2. 地图分辨率
将雷达卫星图像叠加到某一缩放等级的地图上,就需要确定地图当前的分辨率,再将要叠加的图片缩放到对应的分辨率。
地图分辨率就是屏幕上一个像素对应的地面尺寸(米)。以百度地图为例,其地图分辨率公式在Java程序中表示为:Math.pow(2,18-zoom),其中zoom表示当前地图缩放等级,百度地图缩放等级的范围是1到18。
</