• SuperMap Desktop中配置Google Maps地图投影


    我们先来了解一下Google Maps采用的地图投影

    Google MapsVirtual Earth等网络地理所使用的地图投影,常被称作Web MercatorSpherical 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一样的图片数据。

    切图的使用我会别开文章进行介绍,有兴趣的朋友可以关注一下。

    由于水平有限,文中难免会有错误,希望朋友们进行指正。

  • 相关阅读:
    回头再看libpcap
    lex error
    perl 的威力
    什么叫回流和重绘?
    HTTP协议与FTP协议的区别【转】
    Linux操作系统Redhat系列与Debian系列 【转】
    dock是什么? docker就是集装箱原理【转】
    光端机的作用【转】
    c++ -- call_once用法
    c++ -- thread详细解析
  • 原文地址:https://www.cnblogs.com/liongis/p/2088767.html
Copyright © 2020-2023  润新知