我们先来了解一下Google Maps采用的地图投影
Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。为什么要投影,请参见LionGG的《地图投影为什么》
为什么是圆形球体,而非椭球体?
这说来简单,仅仅是由于实现的方便,和计算上的简单,精度理论上差别0.33%之内,特别是比例尺越大,地物更详细的时候,差别基本可以忽略。Google Maps使用的是WGS 84的参考球体。
Web墨卡托投影坐标系:
以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。
X轴:由于赤道半径为6378137米,则赤道周长为2*PI*r = 2*20037508.3427892,因此X轴的取值范围:
[-20037508.3427892,20037508.3427892]。
Y轴:由墨卡托投影的公式可知,同时上图也有示意,当纬度φ接近两极,即90°时,y值趋向于无穷。这是那些“懒惰的工程师”就把Y轴的取值范围也限定在
[-20037508.3427892,20037508.3427892]之间,搞个正方形。
懒人的好处,众所周知,事先切好静态图片,提高访问效率云云。俺只是告诉你为什么会是这样子。因此在投影坐标系(米)下的范围是:最小(-20037508.3427892, -20037508.3427892 )到最大 (20037508.3427892, 20037508.3427892)。
[注:上面这一段内容摘自LionGG的Google Maps地图投影全解析(1):Web墨卡托投影]
我觉得这一段已经写得很清楚了,所以转过来,其中我们需要重点知道的两点:Google Maps是使用的墨卡托投影,而地球模拟成球体而非椭球体。
上面两点一定要注意,也是我们的配置的重点:
首先我们将数据源设置球体,这里需要修改数据源的投影方式,配置如下:
在需要修改的数据源上,点击右键,选择“属性”,如下图:
这里我们使用的参考椭球体也是WGS_1984,但这里有一个“椭球扁率”为0.0033528107,而Google Maps是球体,所以这个“椭球扁率”我们需要设置为0,这样我们需要“重新设定投影”:
这里选择经纬坐标系统,只是在“地理坐标系”是选择“User Define”,然后下一步:
请参照上面的值进行设定,主要将“赤道半径”设置为:6378137,“扁率”设置为:0,完成后效果如下:
这样就可以了,到此我们的数据源投影设置完成,关闭这个窗口即可。
接下来我们需要设置地图的投影,在地图上点击右键,选择“属性”:
我们这里选择的投影方式为:Mercator,但这里也有一个“椭球扁率”,这个不是我们想要的,所以点击“设置”:
请参照上图进行设定,完成后“下一步”:
请参照上图进行设定,完成后“下一步”:
这里比例因子我们设置为:1,然后“下一步”:
这样我们就设置完成了,点击“应用”就OK啦!
经过上面的配置,我们就完成了在SuperMap Desktop中对Google Maps相同地图投影的设定,有朋友会问,这样设定后有什么用呢?
这就看每一个人的应用了,我这样来设置是为了能得到和Google Maps一样的投影和坐标,可以用来切图使用,将矢量图生成和Google Maps一样的图片数据。
切图的使用我会别开文章进行介绍,有兴趣的朋友可以关注一下。
由于水平有限,文中难免会有错误,希望朋友们进行指正。