首页 > 编程知识 正文

墨卡托投影的意义,墨卡托投影的基本特性

时间:2023-05-04 10:37:54 阅读:222786 作者:1378

谷歌地图、微软地图、百度地图、腾讯地图、高德地图等网络地图所使用的投影都是网络墨卡托投影(Web Mercator),尽管我们喜欢把百度地图、高德地图称之为火星坐标系,不过它们还是没逃出网络墨卡托投影的手心。

网络墨卡托投影由墨卡托投影演变而来,墨卡托投影的创立可回溯到大航海时代。在那时候,哥伦布的地理大发现验证了地球是圆的这一学说,它给欧洲殖民者发动了通向全世界各个角落的引擎。不过在实际的海上航行过程中,却没有一张精确用于海上航行的海上平面地图。早期的航海家使用的海图大多使用的是天文学家dmdgb·托勒密依据地球的球形理论弄出来的地图,这类地图多半是模仿了地球球形的特征,航海家航行时用罗盘、六分仪确定的航向很难将他们的航线画在地图上,因为球形地图的方位角随着地理位置不断改变的。问题来了:怎样才能将球面上的一部分地物绘制在平面上,航海者可以在平面图上用直线来表示航线,准确地表示出方向角指示航向呢?

    杜伊斯堡市政厅前墨卡托塑像(一百个德国psdwt之一)

墨卡托投影成名

墨卡托很好地解决了这个问题。他把地球表面切成若干份,将每一份展铺在平面上,然后每一部分好像都有弹力一样,将它们向两头伸拉,直到它们的两端连在一块儿,这样做的结果,每一部分都变成了一个长方形,和其它部分拼台起来就形成一幅完整的世界地图,平行的纬线同平行的经线相互交错形成了经纬网。尽管在离南北两极最近的地方,墨卡托投影地图拉伸的幅度非常地大,而在南北回归线之间的部分,拉伸的幅度却很小,而绝大多数的航海活动南北回归线之间进行的,在航海者眼里这种缺点可以忽略。

这样一来,航海者就可以在平面上用直线在地图上画出他们的航线图来了,沿着墨卡托投影地图上两点间的直线航行,方向不变,可以一直到达目的地。墨卡托于1568年制成著名航海地图“世界平面图”,该图采用墨卡托设计的等角投影,被称为墨卡托投影,可使航海者用直线(即等角航线)导航,并且第一次将世界完整地表现在地图上,1630年以后墨卡托投影地图被普遍采用,对世界性航海、贸易、探险等有重要作用。

                                           

1568年墨卡托投影航海地图“世界平面图”

假设墨卡托投影的坐标系原点为(0,) ,表示X轴为赤道,Y轴则在经度为处垂直于赤道。 墨卡托投影公式即为:

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

墨卡托投影优点

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

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

在地图上保持方向和角度的正确是墨卡托投影的优点,如果循着墨卡托投影地图上两点间的直线航行,方向不变,可以一直到达目的地,因此它对船舰在航行中定位、确定航向都具有有利条件,给航海者带来很大方便。

这些优点也正是Google们选择墨卡托投影的原因之一(人们希望在网络地图上看到的地物与实际地物长得相似,导航方向不变)。


墨卡托思想是近代地图和GIS的基石,它结束了托勒密时代的传统观念。墨卡托是地图发展史上划时代人物,开辟了近代地图学发展的广阔道路。

墨卡托投影缺点:

墨卡托投影的地图最大的缺点就是在高纬度地区地物和现实差别太大,变形非常严重,不过这种变形是相似变形。

 

网络墨卡托投影再次成名

 1999年,SGI的zjdpj、清秀的手机使用Clipmapping技术对游戏中的大型地图进行渲染,使用户能够自如缩放不同比例尺的地图,这一技术让当时看过的人耳目一新,原来地图还可以做得这么炫!不过SGI公司依然对老本行爱不释手,将这一技术继续用在游戏上。跑偏的Jones找到了John Hanke,成立了Keyhole(美国锁眼),希望在地图上大干一番事业。而后,Keyhole被Google收购。有了雄厚的财力支持,John坚持不懈地研发网络地图,直到Google earth问世。Google earth的出现,直接带动了一场GIS和计算机结合的革命。Google 也是乘风好借力,发展势头越来越猛,直至成为现在的行业巨头。而那时候在Google中建立的 网络墨卡托投影也逐渐在各地图服务商中流行开来。

虽然墨卡托投影有高纬度图形被放大的缺点,单并不妨碍他的孩子---网络墨卡托投影成为各地图服务商最受欢迎的投影方式。这一切的一切竟源自于为用户负责的角度(跟现实地物形状差不多,方向不变,地图响应速度快,用户用起来方便)

首先:我们的屏幕是平面的,所以我们使用平面投影的方式看起来更舒服,网络墨卡托投影也是平面投影,而且椭球是wgs84的。美国GPS、俄罗斯 GLONASS、欧盟GALILEO,中国北斗都是有提供WGS 1984坐标系定位导航的。

其次:虽然地物在高纬度地区被放大了,但是它的形状和方向没有变,相对于同纬度的地物而言,大家都是同样倍数放大的,客户看不出来,而且高纬度地区人民比较少(南北极几乎没人),除非专业人员,是不会介意的。

使用国家天地图的球面墨卡托与经纬度直投对比一下:

 

这是国家天地图使用球面墨卡托和经纬度直投的哈尔滨地图效果,可以发现经纬度直投所有地物都变歪了,东西距离拉伸的比较多。经纬度直投的地图,越向高纬度靠近,水平距离拉伸越大,很小的纬圈都变得和赤道一样长。同时要素自身会变形,长方形会变成上宽下窄的倒梯形。对于用户而言:这地图明显跟自家房子不一样了啊,地图不好用啊,显然用户体验很不好。

(为什么不直接用墨卡托投影而用网络墨卡托投影呢?)

因为网络墨卡托投影比墨卡托投影切出来的瓦片少多了,瓦片少,传输的数据就少,传输速度快,响应快。(球面拓扑结构优于平面)

一般情况下,采用WGS 1984坐标系和512×512切图,在L13(第十四级)将产生1,237,819张图片,而在切图大小相同的WGS 1984 Web Mercator投影坐标系下,L13图片数量将减少一半,这么多小图片,数量少一半还是有诱惑力的吧,并且还可以通过其他方法来进一步进行优化。512×512的切图还是比较大的,基于Web的应用需要关注客户端的用户体验,图片切片大容易造成传输缓慢,大片面积的图片无法及时响应,因此可以通过减少图片切片的大小改善用户体验。既然使用eb Mercator投影坐标系,可以减少一半的图片,假如采用256×256切图呢,图片数量将增加4倍,综合第一点,图片数量整体增加2倍。在正轴等距离圆柱投影情况下,相比Web Mercator,使用256×256大小切片,将增加8倍的图片数量!明显Web Mercator划算多了。

当然,还有就是yydbygoogle地图最先用的Web Mercator,而且大家也都觉得好。另一个深层次的原因还是Web Mercator在投影过程中,将表示地球的参考椭球体近似的作为正球体处理(正球体半径 R = 椭球体半长轴 a)。这也是为什么在 ArcGIS 中我们经常看到这个坐标系叫 WGS 1984 Web Mercator (Auxiliary Sphere)。Auxiliary Sphere 就是在告知你,这个坐标在投影过程中,将椭球体近似为正球体做投影变换,虽然基准面是WGS 1984 椭球面。正球体的好处在于它比正宗的墨卡托投影面积还要小,理所当然在表示一个区域时,要的瓦片数量也更小。

网络墨卡托投影正名

尽管EPSG(欧洲石油调查小组:该组织负责维护并发布全球坐标参照系统的数据集参数,以及坐标转换描述)很不想承认这个Web Mercator ,因为它实在太不严谨了,但因为网络墨卡托投影又太流行了,几番拉扯之下,最后还是给它正名了:EPSG:4326(经纬度表示)、EPSG:3857(平面表示) 。

附件一:Web Mercator数学参数

名称:WGS 84 / Pseudo-Mercator 

代号:EPSG 4326(经纬度表示),EPSG:3857(平面表示) 

中心坐标 :0.00 -0.00 

平面范围:-20037508.3427892, -20037508.3427892,20037508.3427892 ,20037508.3427892

经纬度范围:-180.0 ,-85.06,180.0, 85.06

单位:米或弧度

大地测量CRS:(伪)WGS 84

基准:(伪)WGS 84

球体:(伪)WGS 84

本初子午线:格林威治

                              正球体,正方形平面

备注:使用椭球坐标的球面展开。相对于WGS 84 /世界墨卡托(CRS编码3395),可能会出现规模为0.7%的误差和地图上高达43km的北向差异(相当于地面21km)。

注:Bing地图、百度地图、天地图等在线地图服务均采用了Web墨卡托投影,ESRI的Online地图也有使用此地图投影。除了在切片时候减少图片数量以外,也为了方便大家,均采用了Web 墨卡托投影方式,但在地图显示上面为了大家易懂,还是转换成了经纬度的方式显示。

网络地图常用参数

一、取值范围

  地理经度的取值范围是[-180,180],纬度不可能到达90°,通过纬度取值范围为[20037508.3427892,20037508.3427892]反计算可得到纬度值为85.05112877980659。因此纬度取值范围是[-85.05112877980659,85.05112877980659]。因此,地理坐标系(经纬度)对应的范围是:最小地理坐标(-180,-85.05112877980659),最大地理坐标(180, 85.05112877980659)。

二、地面分辨率(Ground Resolution)   地面分辨率是以一个像素(pixel)代表的地面尺寸(米)。以微软Bing Maps为例,当Level为1时,图片大小为512*512(4个Tile),那么赤道空间分辨率为:赤道周长/512。其他纬度的空间分辨率则为 纬度圈长度/512,极端的北极则为0。Level为2时,赤道的空间分辨率为 赤道周长/1024,其他纬度为 纬度圈长度1024。很明显,Ground Resolution取决于两个参数,缩放级别Level和纬度latitude ,Level决定像素的多少,latitude决定地面距离的长短。

  地面分辨率的公式为,单位:米/像素:

  ground resolution = (cos(latitude * pi/180) * 2 * pi * 6378137 meters) / (256 * 2level pixels)  

  最低地图放大级别(1级),地图是512 x 512像素。每下一个放大级别,地图的高度和宽度分别乘于2:2级是1024 x 1024像素,3级是2048 x 2048像素,4级是4096 x 4096像素,等等。通常而言,地图的宽度和高度可以由以下式子计算得到:map width = map height = 256 * 2^level pixels

三、地图比例尺(Map Scale)

  地图比例尺是指测量相同目标时,地图上距离与实际距离的比例。通过地图分辨率在计算可知由Level可得到图片的像素大小,那么需要把其转换为以米为单位的距离,涉及到DPI(dot per inch),暂时可理解为类似的PPI(pixelper inch),即每英寸代表多少个像素。256 * 2level / DPI 即得到相应的英寸inch,再把英寸inch除以0.0254转换为米。实地距离仍旧是:cos(latitude * pi/180) * 2 * pi * 6378137 meters; 因此比例尺的公式为:

  map scale = 256 * 2level / screen dpi / 0.0254 / (cos(latitude * pi/180) * 2 * pi * 6378137)

  比例尺= 1 : (cos(latitude * pi/180) * 2 * pi * 6378137 * screen dpi) / (256 * 2level * 0.0254)

  地面分辨率和地图比例尺之间的关系:

  map scale = 1 : ground resolution * screen dpi / 0.0254 meters/inch

四:缩放级别

L1        1:295829355.45456564

L2        1:147914677.72728282

L3        1:73957338.863641411

L4        1:36978669.431820706

L5        1:18489334.715910353

L6        1:9244667.3579551764

L7        1:4622333.6789775882

L8        1:2311166.8394887941

L9        1:1155583.419744397

L10        1:577791.70987219852

L11        1:288895.85493609926

L12        1:144447.92746804963

L13        1:72223.963734024815

L14        1:36111.981867012408

L15        1:18055.990933506204

L16        1:9027.9954667531019

L17        1:4513.997733376551

L18        1:2256.9988666882755

L19        1:1128.4994333441377

L20        1:564.24971667206887
 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。