精华内容
下载资源
问答
  • 墨卡托投影

    万次阅读 2019-06-22 15:02:16
    一、墨卡托投影 墨卡托投影,又称正轴等角圆柱投影,由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把...

    微信搜索:“二十同学” 公众号,欢迎关注一条不一样的成长之路

    一、墨卡托投影

            墨卡托投影,又称正轴等角圆柱投影,由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假设地球被套在一个圆柱中,赤道与圆柱相切,然后在地球中心放一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,就形成以一幅墨卡托投影的世界地图(如下图)。因其等角特性,广泛应用与航空、航海中。

    从上图中可以看出,X轴的刻度是等距的,Y轴方向越靠近两极变形越大。假设墨卡托投影的坐标系原点为(0,lambda_0),表示X轴为赤道,Y轴则在经度为处垂直于赤道。 墨卡托投影公式即为:

    其中, 为经度,  为纬度。左侧为正算,右侧为逆运算。

    即有经纬度( philambda)对应的墨卡托平面坐标即为(x*R,y*R)。很明显,y方向的距离只有在赤道附近才是接近实际距离的。

    二、Web墨卡托投影

    Web墨卡托投影坐标系,广泛应用与Google Map、Bing Map等地图投影中。它以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。

    X轴:赤道半径取值为6378137米,则赤道周长为2*PI*r ,以坐标原点为中心,东西南北各方向为其值一半,即 PI*r= 20037508.3427892,因此X轴的取值范围:[-20037508.3427892,20037508.3427892]。

    Y轴:由墨卡托投影的公式可知,当纬度φ接近两极,即90°时,y值趋向于无穷。为了使用方便,就把Y轴的取值范围也限定在[-20037508.3427892,20037508.3427892]之间,形成一个正方形。

    因此在投影坐标系(米)下的范围是:最小(-20037508.3427892, -20037508.3427892 )到最大 (20037508.3427892, 20037508.3427892)。经过反算,可得到纬度85.05112877980659。因此纬度取值范围是[-85.05112877980659,85.05112877980659]。

    三、网络地图投影参数

    Global Spherical Mercator —— Main parameters:

        Datum:                  WGS84
        Map projection:     Spherical Mercator
        Ellipsoid:               WGS84
        EPSG Code:         EPSG: 4326    (for coordinates in latitude/longitude)
        EPSG Code:         EPSG: 900913    (for coordinates in metres)

    正因为采用了相同的地图投影才使得不同地图服务商的瓦片地图能够很好的叠加,尽管切片规则和算法不尽相同,但最终拼接的结果始终是一致的。

    展开全文
  • 墨卡托及Web墨卡托投影

    千次阅读 2018-03-20 16:31:26
    Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。建议先对地图投影知识做一个基本的了解,《地图...

    Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。建议先对地图投影知识做一个基本的了解,《地图投影为什么》。

    什么是墨卡托投影?

    墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。从球到平面,有个转换公式,这里就不再罗列。

    Google们为什么选择墨卡托投影?

    墨卡托投影的“等角”特性,保证了对象的形状的不变行,正方形的物体投影后不会变为长方形。“等角”也保证了方向和相互位置的正确性,因此在航海和航空中常常应用,而Google们在计算人们查询地物的方向时不会出错。

    墨卡托投影的“圆柱”特性,保证了南北(纬线)和东西(经线)都是平行直线,并且相互垂直。而且经线间隔是相同的,纬线间隔从标准纬线(此处是赤道,也可能是其他纬线)向两级逐渐增大。

    但是,“等角”不可避免的带来的面积的巨大变形,特别是两极地区,明显的如格陵兰岛比实际面积扩大了N倍。不过要是去两极地区探险或科考的同志们,一般有更详细的资料,不会来查看网络地图的,这个不要紧。

     

    (图片来源,Nelson Jhon)

    为什么是圆形球体,而非椭球体?

    这说来简单,仅仅是由于实现的方便,和计算上的简单,精度理论上差别0.33%之内,特别是比例尺越大,地物更详细的时候,差别基本可以忽略。

    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)。

    对应的地理坐标系:

    按道理,先讲地理坐标系才是,比如球体还是椭球体是地理坐标系的事情,和墨卡托投影本关联不大。简单来说,投影坐标系(PROJCS)是平面坐标系,以米为单位;而地理坐标系(GEOGCS)是椭球面坐标系,以经纬度为单位。具体可参考《坐标系、坐标参照系、坐标变换、投影变换》。

    经度:这边没问题,可取全球范围:[-180,180]。

    纬度:上面已知,纬度不可能到达90°,懒人们为了正方形而取的-20037508.3427892,经过反计算,可得到纬度85.05112877980659。因此纬度取值范围是[-85.05112877980659,85.05112877980659]。其余的地区怎么办?没事,企鹅们不在乎。

    因此,地理坐标系(经纬度)对应的范围是:最小(-180,-85.05112877980659),最大(180, 85.05112877980659)。至于其中的Datum、坐标转换等就不再多言。

    如果想知道坐标怎么计算的,请看全解析第2季《相关坐标计算》;更深入的和GIS相关的第3季《WKT形式表示》。

     

    注:除了google地图,还有bing地图,mapABC地图在线地图服务均采用了web墨卡托投影,esri的onlilne地图也有使用此地图投影,除了在切片时候减少图片数量以外,还是大家为了marshup方便,均采用了web 墨卡托投影方式,但在地图显示上面为了大家易懂,还是转换成了经纬度的方式显示.

     转自 http://blog.csdn.net/liyan_gis/article/details/8021514

    展开全文
  • 墨卡托坐标

    2020-04-25 20:09:08
    什么是墨卡托坐标? 墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上...

    什么是墨卡托坐标?

    墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。从球到平面,有个转换公式,这里就不再罗列。

    具体的墨卡托坐标的解释,可以看这里:
    http://blog.csdn.net/mr_jianrong/article/details/72625811
    墨卡托坐标的解释和转化:
    https://www.cnblogs.com/charlesblc/p/8394688.html

    墨卡托坐标转经纬度
    //经纬度转墨卡托
            public Vector2D lonLat2Mercator(Vector2D lonLat)
            {
                Vector2D mercator = new Vector2D();
                double x = lonLat.X * 20037508.34 / 180;
                double y = Math.Log(Math.Tan((90 + lonLat.Y) * Math.PI / 360)) / (Math.PI / 180);
                y = y * 20037508.34 / 180;
                mercator.X = x;
                mercator.Y = y;
                return mercator;
            }
            //墨卡托转经纬度
            public Vector2D Mercator2lonLat(Vector2D mercator)
            {
                Vector2D lonLat = new Vector2D();
                double x = mercator.X / 20037508.34 * 180;
                double y = mercator.Y / 20037508.34 * 180;
                y = 180 / Math.PI * (2 * Math.Atan(Math.Exp(y * Math.PI / 180)) - Math.PI / 2);
                lonLat.X = x;
                lonLat.Y = y;
                return lonLat;
            }

    展开全文
  • 墨卡托猫 为Monad推导Monadic 用法 添加到您的build.sbt libraryDependencies + = " im.plmnt " %% " mercator-cats " % " 1.0.0 " 如果Type类存在Monad实例,则可以与木兰结合使用 import mercator . cats . _ ...
  • js 经纬度转墨卡托 墨卡托转经纬度

    万次阅读 2018-08-23 19:12:13
    //经纬度转墨卡托 function _getMercator(poi) {//[114.32894, 30.585748] var mercator = {}; var earthRad = 6378137.0; // console.log("mercator-poi",poi); mercator.x = poi.lng * Math.PI / 1....

    实例:

    //经纬度转墨卡托
    function _getMercator(poi) {//[114.32894, 30.585748]
        var mercator = {};
        var earthRad = 6378137.0;
        // console.log("mercator-poi",poi);
        mercator.x = poi.lng * Math.PI / 180 * earthRad;
        var a = poi.lat * Math.PI / 180;
        mercator.y = earthRad / 2 * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a)));
        // console.log("mercator",mercator);
        return mercator; //[12727039.383734727, 3579066.6894065146]
    }
    
    //墨卡托转经纬度
    function _getLngLat(poi){
        var lnglat = {};
        lnglat.lng = poi.x/20037508.34*180;
        var mmy = poi.y/20037508.34*180;
        lnglat.lat = 180/Math.PI*(2*Math.atan(Math.exp(mmy*Math.PI/180))-Math.PI/2);
        return lnglat;
    }

     

    展开全文
  • 说明横轴墨卡托投影也称为高斯-克吕格投影,与墨卡托投影类似,不同之处在于圆柱与沿子午线而非赤道的球体或椭圆体相接触。通过这种方法生成的等角投影不会保持真实的方向。中央经线位于感兴趣区域的中心。这种中心...
  • 墨卡托投影.rar

    2019-06-10 10:41:46
    利用MFC将一定范围内的经纬线网转化为墨卡托投影,并可视化,生成特殊点的坐标值以及变形率
  • Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。建议先对地图投影知识做一个基本的了解,《地图...
  • 墨卡托投影学习

    2020-08-25 06:25:43
    右下角,看上去数字很大,还有五位小数,的数字,这值就是墨卡托坐标的值; 看一下代码,看不出来是墨卡托坐标系; 被加载图层对应的地图服务的url是 url = host + "/iserver/services/map-china400/rest/maps/...
  • 许多 Web 制图站点都使用基于球体的墨卡托投影。球体半径等于 WGS 1984 长半轴的长度,即 6378137.0 米。有两种用于仿真 Web 服务所用墨卡托投影的方法。如果墨卡托实现支持椭球体(椭圆体),则投影坐标系必须以基于...
  • 墨卡托转换器

    2012-02-21 15:38:46
    墨卡托投影,是正轴等角圆柱投影。由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假想一个与地轴方向一致的圆柱切或割于地球,按等角条件,将经纬网投影到圆柱面上,将圆柱面展为平面后,即得本投影。墨卡托投影在...
  • WGS84转墨卡托坐标

    2017-03-10 21:21:51
    WGA84经纬度坐标系转换围墨卡托投影坐标代码
  • 网上对于墨卡托投影的解释比较多,但是我发现很多都是是漏洞百出,无脑抄。例如:X轴:由于赤道半径为6378137米,则赤道周长为2*PI*r = 20037508.3427892,因此X轴的取值范围:[-20037508.3427892,20037508.3427892]...
  • 墨卡托投影推导

    2020-04-15 11:16:03
    为啥一堆人都说墨卡托投影是从圆心向圆柱面发射线, 反正我觉得不是那样, 不然公式显然就不对了(也可能是我马虎), 后来去wiki查了一下, 找到了公式的推导. 公式 x=R(λ−λ0),y=Rln⁡[tan⁡(π4+φ2)]. {\...
  • 墨卡托坐标系

    2020-07-17 12:02:12
    由于赤道半径为6378137米,则赤道周长为2*PI*r = 20037508.3427892,因此X轴的取值范围:[-...因此在墨卡托投影坐标系(米)下的坐标范围是:最小为(-20037508.3427892, -20037508.3427892 )到最大 坐标为(20037508.34
  • 墨卡托投影简单介绍

    千次阅读 2019-01-28 21:35:00
    墨卡托投影简单介绍 非洲没有想象的那么小,欧亚大陆也没有看上去那么大,一切都依赖于墨卡托投影。今天就跟小编一起来了解一下墨卡托投影吧。 1 什么是墨卡托投影? 墨卡托(Mercator)投影,又名”等角正轴...
  • 许多 Web 制图站点都使用基于球体的墨卡托投影。球体半径等于 WGS 1984 长半轴的长度,即 6378137.0 米。有两种用于仿真 Web 服务所用墨卡托投影的方法。如果墨卡托实现支持椭球体(椭圆体),则投影坐标系必须以基于...
  • 横向墨卡托坐标系

    千次阅读 2019-06-02 16:23:08
    横向墨卡托投影由墨卡托投影改造而来。不论是横向投影还是墨卡托投影,都是圆柱变换,且是保角变换。然而,在横向墨卡托投影中,外切圆柱体相对于赤道转动了90度。所以,投影是以某条经线为中心,而不是以赤道为中心...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,096
精华内容 438
关键字:

墨卡托