前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Web墨卡托公开的小秘密

Web墨卡托公开的小秘密

作者头像
用户9580384
发布于 2022-10-05 11:35:54
发布于 2022-10-05 11:35:54
2.8K00
代码可运行
举报
运行总次数:0
代码可运行

一.写在前面

什么是地图投影?

所谓地图投影,是利用一定数学法则把地球表面的经、纬线转换到平面上的理论和方法。由于地球是一个赤道略宽两极略扁的不规则的梨形球体,故其表面是一个不可展平的曲面,所以运用任何数学方法进行这种转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方法,eg:墨卡托投影,高斯克吕格投影, Lambert__投影,UTM__投影…

什么是墨卡托投影?

墨卡托投影是一种“正轴等角切圆柱投影”,由荷兰地图学家墨卡托(G.Mercator)于1569年创立:假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,然后把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。

墨卡托投影在今天对于地图展示仍起着极为重要的作用,目前世界各国绘制海洋地图时仍广泛使用墨卡托投影.我们平时看到的谷歌地图,百度地图,包括我们的高德地图,都是使用的墨卡托投影.

Google们为什么选择墨卡托投影呢?首先墨卡托投影的“等角”特性,保证了对象的形状的不变,以及方向和相互位置的正确,墨卡托投影的“圆柱”特性,也保证了纬线和经线平行相互垂直,而且经线间隔相同,但是纬线间隔从赤道向两级逐渐增大,“等角”不可避免的带来的面积的巨大变形,特别是两极地区,明显的如格陵兰岛比实际面积扩大了N倍.

什么是Web墨卡托?

Web墨卡托是Google Map在电子地图中所创造并使用的地图投影方法,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别在于把地球模拟为球体而非椭球体:

  • 整个世界范围赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。
  • 以米为单位,由于赤道半径为6378137米,则赤道周长为2*PI*r = 2*20037508.3427892,因此X轴的取值范围:[-20037508.3427892,20037508.3427892],由墨卡托投影方法可知,当纬度φ接近两极,y值趋向于无穷。于是“懒惰的工程师”就把Y轴的取值范围也限定在[-20037508.3427892,20037508.3427892]间.
  • 为了展示上的通俗易懂,电子地图通常以经纬度为单位展示地理坐标,而墨卡托投影坐标,经度范围:[-180,180], 纬度上面已知不可能到达90°,取值范围是[-85.05112877980659,85.05112877980659]。其余的地区怎么办?没事,企鹅们不在乎。

二.Web Mercator 公开的小秘密

我们知道,地理数据的坐标系一般有两大类,一是地理坐标系(GCS,=大地坐标系),是经纬度单位的椭球坐标系;二是投影坐标系(PCS),是平面直角坐标系。

投影坐标系(PCS)的定义一般会包含两方面的定义信息: (1)基准面/Datum — 与GCS相应 (2)投影方法/Projection Method

Web Mercator是一个投影坐标系统,基准面是WGS 1984

那么,第一个问题,WGS 1984 是什么?

“ 世界大地坐标系是美国国防部制图局(Defence Mapping Agency, DMA)为统一世界大地坐标系统,实现全球测量标准的一致性,定义用于制图、大地、导航的坐标基准。它包括标准地球坐标框架、用于处理原始观测数据的标准椭球参考面(即基准和参考椭球)和定义标准海平面的重力等势面(大地水准面)。……”(摘自《大地坐标系统及其应用》)

在上面一段中可以知道,定义一个坐标系绝对是一个复杂浩大的数学工程。我们经常听说的 WGS 1984 (或 WGS 84)就是其中一个世界大地坐标系统。我们经常使用的 GPS 的坐标参考系统也是它。

WGS 1984 的具体定义参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GCS_WGS_1984  WKID: 4326 Authority: EPSG
Angular Unit: Degree (0.0174532925199433)  Prime Meridian: Greenwich (0.0)  Datum: D_WGS_1984  Spheroid: WGS_1984  Semimajor Axis: 6378137.0  Semiminor Axis: 6356752.314245179  Inverse Flattening: 298.257223563

通过参数描述,我们知道 WGS 1984 是一个长半轴(a)为6378137,短半轴(b)为6356752.314245179 的椭球体,扁率(f)为298.257223563,f=(a-b)/a 。

伪墨卡托投影

Web Mercator 坐标系使用的投影方法不是严格意义的墨卡托投影,而是一个被 EPSG(European Petroleum Survey Group)称为伪墨卡托的投影方法,这个伪墨卡托投影方法的大名是 Popular Visualization Pseudo Mercator,PVPM。 看起来就觉得这个投影方法不是很严谨的样子,大众化的?受欢迎的?可视化伪墨卡托投影……

因为这个坐标系统是 Google Map 最先使用的,或者更确切地说,是Google 最先发明的。在投影过程中,将表示地球的参考椭球体近似的作为正球体处理(正球体半径 R = 椭球体半长轴 a)。这也是为什么在 ArcGIS 中我们经常看到这个坐标系叫 WGS 1984 Web Mercator (Auxiliary Sphere)。Auxiliary Sphere 就是在告知你,这个坐标在投影过程中,将椭球体近似为正球体做投影变换,虽然基准面是WGS 1984 椭球面。

后来,Web Mercator 在 Web 地图领域被广泛使用,这个坐标系就名声大噪。尽管这个坐标系由于精度问题一度不被GIS专业人士接受,但最终 EPSG 还是给了 WKID:3857。

下面放一张在 EPSG 官网上找到的3857坐标的具体参数介绍,供参考:

Web Mercator 的阴暗面

Web Mercator 无论是来自Google程序员的谬误,还是为了简化换算的有意为之,现在它都已经名正言顺的成为了 Web 底图的最受欢迎平面坐标系。

问题又来了,为什么这么受欢迎的坐标系还会受到GIS大咖的诟病

拒绝给这个坐标系分配 坐标系ID 的原话是这样的:

The projected coordinate reference system originally lacked an official spatial reference identifier (SRID), and the Geodesy subcommittee of the OGP’s Geomatics committee (also known as EPSG) refused to provide it with one, declaring “We have reviewed the coordinate reference system used by Microsoft, Google, etc. and believe that it is technically flawed. We will not devalue the EPSG dataset by including such inappropriate geodesy and cartography.

这不是EPSG 冷酷无情无理取闹,从技术角度看是有原因的。简而言之,主要原因在于基准面被篡改后,本来是等角投影的Mercator坐标变换算法,不再等角了,而是近似等角,也就是出现角度变形。这种变形势必影响了坐标的精度,如下是某位专家给出的概要说明(闪亮的最后一条):

不再混乱的ID

也是由于GIS专业人士的质疑,相比最为广泛使用的EPSG:4326(WGS84坐标系ID),这个坐标系的ID经历了曲折的过程,好多人都感到困惑。简单地顺一下:

  • OpenLayers:900913 由于得不到官方的认证ID,Google为Web Mercator 任性地制定了这个ID,自娱自乐,也祝大家玩的开心……。

i think 900913 is great. 9-g 0-o 0-o 9-g 1-l 3-e get it? 900913 is equal to google. THAT’S AMAZING ! =-)

  • EPSG:3785 这是 EPSG 在 2008 年给 Web Mercator 设立的WKID,但是这个坐标系的基准面是正圆球,不是WGS 1984。存在了一段时间后被弃用。
  • EPSG:3857 EPSG为 Web Wercator 最终设立的WKID,也就是现在我们常用的Web 地图的坐标系,并且给定官方命名 “WGS 84 / Pseudo-Mercator“。
  • ESRI:102113 Esri内部使用ID,与 EPSG:3785 相应。已被弃用。
  • ESRI:102100 Esri内部使用ID,与 EPSG:3857 相应。

因此,细心地话,会发现在 ArcGIS Server 的REST 服务页面中,Web Mercator 的空间参考会记做:102100(3857)

这些东西其实一直都是公开的,博主没有生产这些小秘密,只是小秘密的搬运工。

三.写在后面

推荐: Keyhole,Google Maps前传

原文地址: https://blog.csdn.net/kikitamoon/article/details/46124935

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 地球程序员的自我修养 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GIS世界里坐标系“黑话”
世界大地测量系统(World geodetic system,简称WGS)是指1960年以来, 由美国国防制图局(DMA)建立的四个世界大地测量系统(WGS60、WGS66、WGS72和WGS84)的统称
追风骚年
2021/11/19
2.3K0
GIS坐标系测绘原理:大地水准面/基准面/参考椭球体/EPSG/SRI/WKT
预热文章系列:《GIS历史概述与WebGis应用开发技术浅解》、《GIS坐标系:WGS84,GCJ02,BD09,火星坐标,大地坐标等解析说与转换》、《OGC标准WMTS服务概念与地图商的瓦片编号流派》、《GIS基础知识 - 坐标系、投影、EPSG:4326、EPSG:3857 》我们过一遍如下概念:
周陆军
2021/07/13
4.9K0
让GIS三维可视化变得简单-投影坐标系统
投影坐标系统 PCS(Projection Coordinate System),它也叫非地球投影坐标系统 (notearth),或者再简单点叫平面坐标系统,也就是使用基于 X,Y 值的坐标系统来描述地球上某个点所处的位置
isboyjc
2022/03/28
1.2K0
让GIS三维可视化变得简单-投影坐标系统
常用坐标系
    随着接触的地图种类越来越多,每种产品对地图服务的坐标系的要求不同,今天遇到了整理的好文,整理记录分享。
sunsky
2022/06/14
3.6K0
常用坐标系
明白了这些术语,才算懂个“球”
最近公司要开展国家2000坐标转换相关的工作,身边的测绘专业的同事给我科普了一下GIS基础知识,甩给我一堆缩写、概念和PPT:
申龙斌
2019/05/08
2K0
明白了这些术语,才算懂个“球”
大地测量学:EPSG:4326、EPSG:3857
最近接手一个GIS项目,需要用到 PostGIS,GeoServer,OpenLayers 等工具组件,遇到一堆地理信息相关的术语名词,在这里做一个总结。
Jean
2021/11/22
3.5K0
大地测量学:EPSG:4326、EPSG:3857
地图坐标
1、椭球面 地图坐标系由大地基准面和地图投影确定,大地基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的大地基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。我国参照前苏联从1953年起采用克拉索夫斯基(Krassovsky)椭球体建立了我国的北京54坐标系,1978年采用国际大地测量协会推荐的IAG 75地球椭球体建立了我国新的大地坐标系--西安80坐标系, 目前GPS定位所得出的结果都属于WGS84坐标系统,WGS84基准面采用WGS84
用户1075292
2018/01/23
2.2K0
让GIS三维可视化变得简单-地理坐标系统
地理位置也就是坐标说是 GIS 的灵魂不为过吧,像天气预报、火箭发射包括地震、火山等事故发生时,新闻媒体就会说东经 XX 度、北纬 YY 度发生了什么什么,还有高德百度的地图导航、定位等等都需要用到坐标系统,因为没有准确的位置信息就无法表达地物的位置关系,地图查询分析等等也就无从谈起了
isboyjc
2022/03/28
1.1K0
让GIS三维可视化变得简单-地理坐标系统
地图基础
一般有两种坐标系,地图坐标系(geographic coordinate system)和投影坐标系(projected coordinate system)
薛同学要做好汉
2022/07/23
1.3K0
地图基础
GIS数据漫谈(六)— 投影坐标系统
地球近似为一个“椭球体”,在不考虑高程的情况下其实经纬度坐标就是描述了某点在球面的位置。在没有电脑、没有数字化地图的时代最实用的是纸质地图,但纸质地图是平面的,要把地“球”展开到地图的“平面“上(把地球在一张纸上“画”出来)就需要投影(Projection)。
thingjs
2022/07/28
1.3K0
GIS数据漫谈(六)— 投影坐标系统
墨卡托坐标
什么是墨卡托投影? 墨卡托(Mercator)投影,又名“等角正轴圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被 围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假
苦咖啡
2018/05/08
1.2K0
大地经纬度坐标系与Web墨卡托坐标系的转换
我在《大地经纬度坐标与地心地固坐标的的转换》这篇文章中已经论述了大地坐标系/地理坐标系的概念,简单来说就是由经度、纬度以及高程(BLH)确定的坐标系,它是一种曲面坐标。
charlee44
2021/10/26
3.6K0
地图开发知识之-投影坐标
由于地球是一个赤道略宽两极略扁的不规则的梨形球体,表面是一个不可展平的曲面,而地图通常是二维平面,因此在地图制图时首先要考虑把曲面转化成平面。然而,从几何意义上来说,球面是不可展平的曲面。要把它展成平面,势必会产生破裂与褶皱。这种不连续的、破裂的平面是不适合制作地图的,所以必须采用特殊的方法来实现球面到平面的转化。
欧阳大哥2013
2018/08/22
1.9K0
地图开发知识之-投影坐标
(数据科学学习手札75)基于geopandas的空间数据分析——坐标参考系篇
  在上一篇文章中我们对geopandas中的数据结构展开了较为全面的学习,其中涉及到面积长度等计算的过程中提到了具体的计算结果与所选择的投影坐标系关系密切,投影坐标系选择的不恰当会带来计算结果的偏差,直接关乎整个分析过程的有效与否。
Feffery
2020/02/19
1.7K0
墨卡托投影坐标系(Mercator Projection)原理及实现C代码
  墨卡托投影是一种“等角正切圆柱投影”,荷兰地图学家墨卡托(Mercator)在1569年拟定:假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的“墨卡托投影”绘制出的世界地图。   墨卡托投影在今天对于航海事业起着极为重要的作用,目前世界各国绘制海洋地图时仍广泛使用墨卡托投影,国际水路局(IHB)规定:“除特殊情况外,各国都要用墨卡托投影绘制海图”。国际水路局发行的《大洋水深总图》是把全世界分
waylon
2018/03/08
4.4K0
墨卡托投影坐标系(Mercator Projection)原理及实现C代码
地图投影
我们的地球是圆的,而我们的纸张是平面。为了将地球绘制在平面纸张上,我们需要将地球表面投影到平面上。地图投影的实质是建立空间地理坐标和平面直角坐标关系的过程。
卡尔曼和玻尔兹曼谁曼
2019/01/22
1.4K0
地图投影
地理坐标系与投影坐标系的区别
1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为 地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate syst em是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作 呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求 我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短
用户1075292
2018/01/23
2.1K0
四大正切圆柱投影
大地测量学中,将球体投影到平面上有无数种算法,也可以分为无数类:https://map-projections.net/projections-list.php,但常用的有以下几种分类:
Jean
2021/12/28
9470
四大正切圆柱投影
基于 ArcGIS 的坐标系转换
地理坐标系就是把地球当成一个球体来看,以球心为参照点,通过经纬度来定位某个坐标点。
被水淹没
2023/02/25
2.7K0
基于 ArcGIS 的坐标系转换
什么是坐标系,不同坐标系之间有什么区别
本文作者为国外制图师希瑟·史密斯,由点点GIS翻译发布,如有错漏之处请后台留言指出
陈南GISer
2021/08/18
1.8K0
什么是坐标系,不同坐标系之间有什么区别
相关推荐
GIS世界里坐标系“黑话”
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文