[转载]WGS84坐标与Web墨卡托坐标互转

 1 //经纬度转Wev墨卡托
 2 dvec3 CMathEngine::lonLat2WebMercator(dvec3  lonLat)
 3 {
 4     dvec3  mercator;
 5     double x = lonLat.x *20037508.34/180;
 6     double y = log(tan((90+lonLat.y)*PI/360))/(PI/180);
 7     y = y *20037508.34/180;
 8     mercator.x = x;
 9     mercator.y = y;
10     return mercator ;
11 }
12 //Web墨卡托转经纬度
13 dvec3 CMathEngine::WebMercator2lonLat( dvec3   mercator )
14 {
15     dvec3 lonLat;
16     double x = mercator.x/20037508.34*180;
17     double y = mercator.y/20037508.34*180;
18     y= 180/PI*(2*atan(exp(y*PI/180))-PI/2);
19     lonLat.x = x;
20     lonLat.y = y;
21     return lonLat;
22 }

精度未知,肯定存在精度误差。

http://bbs.esrichina-bj.cn/ESRI/thread-78245-1-1.html

Web墨卡托投影坐标系http://hi.baidu.com/liongg/item/2840be728b738b10d0dcb39b

以整个世界范围,赤道作为标准纬线,本初子午线作为中央经线,两者交点为坐标原点,向东向北为正,向西向南为负。

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

[转载]WGS84坐标与Web墨卡托坐标互转

时间: 2024-10-25 17:18:39

[转载]WGS84坐标与Web墨卡托坐标互转的相关文章

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

原文地址:http://bbs.esrichina-bj.cn/ESRI/thread-78245-1-1.html 在WebGIS的开发中经常用到的地图投影为Web墨卡托和WGS84,故歌地图,bingmaps,百度地图,mapabc,mapbar,以及 ArcGIS online上的大部分地图为Web墨卡托地图,ArcGIS online上最开始发布的地图投影为WGS84.在开发过程中很多时候会遇到不同坐标系之间互转的问题,特别是底图使用Web墨卡托,定位(GPS,wifi等)信号坐标为WG

WGS84经纬度坐标与web墨卡托之间的转换

//经纬度转Web墨卡托 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; } //

WGS84、Web墨卡托、火星坐标、百度坐标互转

转自:1.http://blog.csdn.net/wildboy2001/article/details/12031351 2.http://kongxz.com/2013/10/wgs-cgj/ 3.http://www.oschina.net/code/snippet_260395_39205 GCJ-02坐标系统(火星坐标)简介:http://blog.csdn.net/giswens/article/details/8775121(存档:http://mapbd.com/cms/201

火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版

火星坐标 火星坐标是国家测绘局为了国家安全在原始坐标的基础上进行偏移得到的坐标,基本国内的电子地图.导航设备都是采用的这一坐标系或在这一坐标的基础上进行二次加密得到的.火星坐标的真实名称应该是GCJ-02坐标.最近在知乎上看到关于火星坐标的话题都是充满争议的(点我跳转到知乎),感兴趣的同学可以去详细了解一下. 基本上所有的国内的电子地图采用的都是火星坐标系甚至Google地图中国部分都特意为中国政府做了偏移.百度坐标 火星坐标是在国际标准坐标WGS-84上进行的一次加密,由于国内的电子地图都要至

百度地图墨卡托坐标转高德经纬度坐标(偏移小)

基本上是网上常见的方法进行坐标系的转换,但是误差很大.发现之所以误差大是在于百度的墨卡托坐标转百度的经纬度时误差太大,后面找到一个方法,误差较小,基本吻合. 参考:http://www.site-digger.com/tools/mct2latlng.html 这里的转换是直接调用百度地图SDK中的API,通过对其中JavaScript源代码的执行跟踪,提取出其中的墨卡托坐标转百度经纬度坐标的代码如下: Java版本: @Data public static class Point { priv

iOS-地理坐标转换,原生地图获取的原始坐标转换为地图真实坐标

GPS以及iOS系统定位获得的坐标是地理坐标系WGS1984,Web地图一般用的坐标细是投影坐标系WGS 1984 Web Mercator,国内出于相关法律法规要求,对国内所有GPS设备及地图数据都进行了加密偏移处理,代号GCJ-02,这样GPS定位获得的坐标与地图上的位置刚好对应上,特殊的是百度地图在这基础上又进行一次偏移,所以在处理系统定位坐标及相关地图SDK坐标时需要转换处理下,根据网络资源,目前有一些公开的转换算法. 系统定位坐标显示在原生地图.谷歌地图或高德地图–WGS1984转GC

OpenGL超级宝典总结(二)2D/3D笛卡尔坐标、坐标裁剪、纹理坐标、MVP转换等概念

如果你想把图形渲染在正确的位置上,那么坐标的设置就很重要了.在OpenGL中,与坐标相关的主要有笛卡尔坐标.坐标裁剪.纹理坐标.MVP(Model View Projection)转换. 1.笛卡尔坐标 在二维绘图中,笛卡尔坐标有一个X轴和一个Y轴组成,X轴为水平方向,Y轴为垂直方向,X和Y相互垂直.如图1.关于正负方向问题,默认如图1上标示,但是我们可以根据实际需求自己定义.(左下角为(0, 0)原点) 图1: 在三维绘图中,笛卡尔坐标多了一个Z轴,Z轴同时垂直于X和Y轴.Z轴的实际意义代表着

验证坐标在某片坐标区域内 php 代码

之前碰到的这样一个需求,要将公司的服务在地图中显示出来,并将用户每天的访问坐标进行统计看有多少用户是在所能达到的服务范围半径内. 以下是PHP代码的实现 (仅验证坐标在某片坐标区域内) <?php /** * 验证坐标点是否在某区域内 * @author xiaoliang <[email protected]> * Class validationMap */ class validationMap{ private static $coordArray; private static

[Ext JS 4] 实战之Chart 坐标控制(单坐标,双坐标)

前言 在Extjs 中, 单一的 Column Chart 的展示效果如上. 定义的步骤如下: 1.  创建一个 Ext.chart.Chart 2. 创建两个坐标轴, axes 一个 Category 类型的横坐标用来显示日期 一个Numeric 类型的纵坐标用来显示数据 3. 配置显示的图 series 配置 column 类型的柱状图. 具体代码如下: <!-- Author : oscar999 Date : ALL RIGHTS RESERVED --> <!DOCTYPE h