WGS84与WGS84 Web Mercator
1. WGS84与WGS84 Web Mercator
1.1 关于WGS1984投影坐标系
UTM是由美国制定,因此起始分带并不在本初子午线,而是在180度,因而所有美国本土都处于0-30带内。UTM投影采用6度分带,从东经180度(或西经180度)开始,自西向东算起,因此1带的中央经线为-177(-180
-(-6)),而0度经线为30带和31带的分界,这两带的分界分别是-3和3度。纬度采用8度分带,从80S到84N共20个纬度带(X带多4度),分别用C到X的字母来表示。为了避免和数字混淆,I和O没有采用。UTM的“false
easting”值为500km,而南半球UTM带的“false northing”为10000km
Mercator,是一种等角横轴割圆柱投影,圆柱割地球于南纬80度、北纬84度两条等高圈,被许多国家用作地形图的数学基础,如中国采用的高斯-克吕格投影就是UTM投影的一种变形,很多遥感数据,如Landsat和Aster数据都应用UTM投影发布的。
1.2 Web Mercator
EPSG,即 European Petroleum Standards Group 欧洲石油标准组织
在ArcGIS 10中Web Mercator有三种EPSG编号。他们分别是EPSG3857 、EPSG102100。
EPSG102113。其实三者表示同一个投影,而这个投影跟谷歌以及Open Street Map等使用的投影EPSG:900913是一致的,只是这个编号以前人们使用的时候并没有被EPSG组织采纳。
以下是这几个编号代表的投影在ArcGIS中的元数据信息:(其中EPSG3857 EPSG102100 完全相同,EPSG102113稍有差异)
EPSG3857 - WGS_1984_Web_Mercator_Auxiliary_Sphere
EPSG102100 - WGS_1984_Web_Mercator_Auxiliary_Sphere
PROJCS[
"WGS_1984_Web_Mercator_Auxiliary_Sphere",
GEOGCS[
"GCS_WGS_1984",
DATUM["D_WGS_1984", SPHEROID["WGS_1984", 6378137.0, 298.257223563]],
PRIMEM["Greenwich", 0.0],
UNIT["Degree", 0.0174532925199433]
], PROJECTION["Mercator_Auxiliary_Sphere"],
PARAMETER["False_Easting", 0.0],
PARAMETER["False_Northing", 0.0],
PARAMETER["Central_Meridian", 0.0],
PARAMETER["Standard_Parallel_1", 0.0],
PARAMETER["Auxiliary_Sphere_Type", 0.0],
UNIT["Meter", 1.0]
]
EPSG102113 WGS_1984_Web_Mercator
PROJCS[
"WGS_1984_Web_Mercator",
GEOGCS["GCS_WGS_1984_Major_Auxiliary_Sphere",
DATUM["D_WGS_1984_Major_Auxiliary_Sphere",SPHEROID["WGS_1984_Major_Auxiliary_Sphere",6378137.0,0.0]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]
], PROJECTION["Mercator"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",0.0],
PARAMETER["Standard_Parallel_1",0.0],
UNIT["Meter",1.0]
]
1.3 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 的具体定义参数:
GCS_WGS_1984
WKID: 4326 Authority: EPSGAngular 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。
1.4 两者的区别
WGS84坐标系
1、WGS84是地心坐标系,空间直角坐标系,原点与地球质心重合,为GPS采用的坐标系;
2、通过GPS可以直接获取WGS84下的坐标(B,L,H),B为纬度,L为经度,H为大地高即到WGS84椭 球面的高度;
3、我国地图采用的是北京1954或西安1980坐标系下的高斯投影坐标(x,y),也有采用北京1954或西安1980坐标系下的经纬度坐标(B,L),高程一般为海拔高度;
4、GPS的测量结果与北京54或西安80坐标相差几十米到一百多米,随区域各异;
WGS84 Web Mercator:
1、谷歌地图(WGS_1984_Pseudo_mercator)、Virtual Earth、Bing Maps、百度地图、Mapabc、ArcGIS Online等采用Web Mercator或Spherical Mercator坐标系,天地图采用CGCS2000国家大地坐标系;
2、Web Mercator与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体;
3、为什么选择墨卡托投影?等角正轴圆柱投影,等角保证了对象的形状不变形,也保证了方向和相互位置的正确性(在航海、航空中应用),等角的代价是面积的巨大变形,特别是两极地区;
4、WebGIS开发经常碰到坐标系互转,如底图使用Web
Mercator,定位(GPS,wifi等)信号坐标为WGS84坐标,代码实现如下:
//经纬度转Wev墨卡托
dvec3 CMathEngine::lonLat2WebMercator(dvec3 lonLat)
{
dvec3 mercator;
double x = lonLat.x *20037508.34/180;
double y = log(tan((90+lonLat.y)*PI/360))/(PI/180);
y = y *20037508.34/180;
mercator.x = x;
mercator.y = y;
return mercator ;
}
//Web墨卡托转经纬度
dvec3 CMathEngine::WebMercator2lonLat( dvec3 mercator )
{
dvec3 lonLat;
double x = mercator.x/20037508.34*180;
double y = mercator.y/20037508.34*180;
y= 180/PI*(2*atan(exp(y*PI/180))-PI/2);
lonLat.x = x;
lonLat.y = y;
return lonLat;
}
2. 从WGS84到WGS84 Web Mercator
对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而采用不同的数学模型对本不是椭球体的地球进行椭球体化。而投影坐标系,是对地理坐标系按照某种方式投影到平面上的,所以可以认为它是一个平面坐标系,单位自然是米或千米。
我们在做开发的时候,尤其是web地图开发,两种坐标系至关重要4326 GCS_WGS_1984 和
102100WGS_1984_web_mercator_auxiliary_sphere
。
1)、4326 GCS_WGS_1984 是WGS1984,属于地理坐标系,相信大家对它都有所耳闻,他就是大名鼎鼎的gps采用的坐标系,也就是通过gps拿到的坐标信息都是按这个坐标系给我们的经度和纬度。当然,如果你是做移动平台上的gps,获得的经纬度也是按这个坐标系。
2)、102100 WGS_1984_web_mercator_auxiliary_sphere则是目前在线地图采用的通用坐标系,属于投影坐标系。
如果我们采用googlemap做底图,然后想通过gps将位置在地图上显示,不经过任何转换直接在googlemap上显示是不行的,因为他们的坐标系不统一。所以在显示之前就必须将gps获取点进行坐标转换到WGS_1984_web_mercator,然后在googlemap上显示。
在我们的实际应用中,经常用到SpatialReference空间参考系,我们大都用的是WKID=4326的D_WGS_1984的地理坐标,而由于需要,向之前的一篇博文中介绍的,叠加Google
Map地图的话,就涉及到将我们现
有的地图从WKID=4326的地理坐标系转换成WKID=102100的投影坐标系,怎么转换?
ArcMap中的工具箱中有这样的工具,以下截图详细说明:
1、打开已有的地图,并打开工具箱
2、按照箭头指向,依次展开节点后,选择“Project”工具,如下:
3、在打开的Project窗口中,选择输出的空间坐标系统,然后,点击“Select”,如下图:
4、选择“Projected Coordinate System”,如下图:
5、选择“World”,点击“Add”,如下图:
6、找到WGS 1984 Web Mercator.prj,点击“Add”,如下图:
7、在下拉框中,选择仅有的一项,然后点击“OK”,至此已经完成(这里请注意:请记住Output Dataset or Feature
Class中的位置,那是转换后的输出shp位置)
8、关闭ArcMap,重新打开ArcMap,并Add
Data上一步中转换后的那个图层shp文件,此时的图层已经是墨卡托坐标系了。
参考文章
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)
Normal
0
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
WGS84与WGS84 Web Mercator的更多相关文章
- [转]地理投影,常用坐标系详解、WGS84、WGS84 Web墨卡托、WGS84 UTM、北京54坐标系、西安80坐标系、CGCS2000坐标系
转自:http://www.rivermap.cn/docs/show-1829.html 常用坐标系详解 (一)WGS84坐标系 WGS-84坐标系(World Geodetic System一19 ...
- Web Mercator 公开的小秘密
网上已经有好多作者都不吝笔墨,写了好多有关 Web Mercator这个坐标系的前世今生.多搜罗多摄入,我们会得到很多有用的信息.今天讨论到 3758,3857,102100,900913-- 这些I ...
- Web Mercator公开的小秘密
网上已经有好多作者都不吝笔墨,写了好多有关 Web Mercator这个坐标系的前世今生.多搜罗多摄入,我们会得到很多有用的信息.今天讨论到 3758,3857,102100,900913…… 这些I ...
- 在Oracle Spatial中增加Web Mercator投影坐标系
参考资料: 1. 最重要的参考文章,基本上就是按这个做的!!!:https://www.inf.unibz.it/dis/wiki/doku.php?id=students:minnerebner:o ...
- WGS-84 to Web mercator
function mercator_encrypt (wgsLat, wgsLon) { var x = wgsLon * 20037508.34 / 180.; var y = Math.l ...
- WGS84坐标与web墨卡托投影坐标转换
许久没有使用坐标转换,记忆有些模糊了,以后还是会用到,先将WGS84与web墨卡托转换复习一下: 1.84转web墨卡托 //核心公式 平面坐标x = 经度*20037508.34/108 平面坐标y ...
- [转载]WGS84坐标与Web墨卡托坐标互转
//经纬度转Wev墨卡托 dvec3 CMathEngine::lonLat2WebMercator(dvec3 lonLat) { dvec3 mercator; ; +lonLat.y)*PI/) ...
- Web Mercator Non-Conformal, Non-Mercator
public static void XYtoGL(Coordinate coordinate) { double R = 6378137; coordinate.x = coordinate.x / ...
- WGS84、Web墨卡托、火星坐标、百度坐标互转
转自:1.http://blog.csdn.net/wildboy2001/article/details/12031351 2.http://kongxz.com/2013/10/wgs-cgj/ ...
随机推荐
- TCP/IP协议族-----20、远程登录:TELNET与SSH
- leetCode 82.Remove Duplicates from Sorted List II (删除排序链表的反复II) 解题思路和方法
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- How to install Armbian on Orange Pi Plus 2e
bian on Orange Pi Plus 2e How to install Armbian on Orange Pi Plus 2e Armbian on the microSD You jus ...
- Vue给元素添加样式
Vue中使用样式 绑定css 数组 <style> .red{ color:red } .thin{ font-size:18px } </style> <h1 :cla ...
- Java生产者与消费者(上)
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 生产与消费者模式,是编程中最常用的模式之一,在多线程中应用比较明显.个人理解:在自助餐厅,厨师在不断 ...
- hive load文件第一个字段为NULL
在hive中,通常须要载入外部数据源.load文件时.第一个字段会出现NULL. 比如: 1.运行load语句: LOAD DATA LOCAL INPATH 'test.txt' OVERWRITE ...
- js16--自定义原型对象
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- sql查看依赖关系
select OBJECT_NAME(object_id) as name,object_NAME(referenced_major_id) as ref from sys.sql_dependenc ...
- Linux下基于LDAP统一用户认证的研究
Linux下基于LDAP统一用户认证的研究 本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- JavaScript的字符串、数组以及DOM操作总结
(一)JavaScript字符串操作 JavaScript的字符串就是用' '或" "括起来的字符表示,日常的学习中有时候需要对字符串进行相关的操作.例如要获取字符串某个指定位置的 ...