Web墨卡托坐标与WGS84坐标互转.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?Web墨卡托坐标与WGS84坐标互转 在WebGIS的开发中经常用到的地图投影为Web墨卡托和WGS84,故歌地图,bingmaps,百度地图,mapabc,mapbar,以及ArcGIS online上的大部分地图为Web墨卡托地图,ArcGIS online上最开始发布的地图投影为WGS84。 在开发过程中很多时候会遇到不同坐标系之间互转的问题,特别是底图使用Web墨卡托,定位(GPS,wifi等)信号坐标为WGS84坐标的时候,那么通用解决方案就是写一个坐标参考系的转换库,类似于proj4,但一般情况下很少用到那么多的参考系之间的互转,并且在客户端实现或者调用proj4都是一件很困难或者麻烦的事情,大多数情况下我们实现Web墨卡托坐标与WGS84坐标互转就可以了。 下面是使用objective-c实现的Web墨卡托坐标与WGS84坐标互转程序,当然也可以使用其他语言来实现,使用起来比较简单和方便。 //经纬度转墨卡托 -(CGPoint )lonLat2Mercator:(CGPoint ) lonLat { ? ? CGPoint??mercator; ? ? double x = lonLat.x 34/180; ? ? double y = log(tan((90+lonLat.y)*M_PI/360))/(M_PI/180); ? ? y = y 34/180; ? ? mercator.x = x; ? ? mercator.y = y; ? ? return mercator ; } //墨卡托转经纬度 -(CGPoint )Mercator2lonLat:(CGPoint ) mercator { ? ? CGPoint lonLat; ? ? double x = mercator.x34*180; ? ? double y = mercator.y34*180; ? ? y= 180/M_PI*(2*atan(exp(y*M_PI/180))-M_PI/2); ? ? lonLat.x = x; ? ? lonLat.y = y; ? ? return lonLat; } 复制代码 Google Maps地图投影全解析 原文出处:/LionGG/archive/2009/04/20/1439905.html ? Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模拟为球体而非椭球体。建议先对地图投影知识做一个基本的了解,《地图投影为什么》。 ? 什么是墨卡托投影? 墨卡托(Mercator)投影,又名等角正轴圆柱投影,荷兰地图学家墨卡托(Mercator)在1569年拟定,假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后再假想地球中心有一盏灯,把球面上的图形投影到圆柱体上,再把圆柱体展开,这就是一幅标准纬线为零度(即赤道)的墨卡托投影绘制出的世界地图。从球到平面,肯定有个转换公式,这里就不再罗列。 ? Google们为什么选择墨卡托投影? 墨卡托投影的等角特性,保证了对象的形状的不变行,正方形的物体投影后不会变为长方形。等角也保证了方向和相互位置的正确性,因此在航海和航空中常常应用,而Google们在计算人们查询地物的方向时不会出错。 墨卡托投影的圆柱特性,保证了南北(纬线)和东西(经线)都是平行直线,并且相互垂直。而且经线间隔是相同的,纬线间隔从标准纬线(此处是赤道,也可能是其他纬线)向两级逐渐增大。 但是,等角不可避免的带来的面积的巨大变形,特别是两极地区,明显的如格陵兰岛比实际面积扩大了N倍。不过要是去两极地区探险或可靠的同志们,一般有更详细的资料,不会来查看网络地图的,这个不要紧。 ? 为什么是圆形球体,而非椭球体? 这说来简单,仅仅是由于实现的方便,和计算上的简单,精度理论上差别0.33%之内,特别是比例尺越大,地物更详细的时候,差别基本可以忽略。 ? Web墨卡托投影坐标系: 以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。 X轴:由于赤道半径为6378137米,则赤道周长为2*PI*r =3427892,因此X轴的取值范围:[34278923427892]。 Y轴:由墨卡托投影的公式可知,同时上图也有示意,当纬度φ90°时,y值趋向于无穷。这是那些懒惰的工程师就把Y轴的取值范围也限定在[34278923427

文档评论(0)

新起点 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档