经纬度与网络墨卡托(Web Mercator)投影坐标的转换
2017-02-07 13:00
525 查看
在GIS中,常会遇到不同投影坐标系之间的转换,下面以JavaScript对转换的方法进行实现:
一、 经纬度转网络墨卡托
方法一和方法二转换的结果有极小的差别,但都是正确的。
二、网络墨卡托转经纬度
以上转换方法的结果经实测都是正确的,只需根据需要用其他语言实现即可。
一、 经纬度转网络墨卡托
方法一和方法二转换的结果有极小的差别,但都是正确的。
//方法一 latLng2WebMercator: function(lng, lat) {//[114.32894, 30.585748] var earthRad = 6378137.0; var x = lng * Math.PI / 180 * earthRad; var a = lat * Math.PI / 180; var y = earthRad / 2 * Math.log((1.0 + Math.sin(a)) / (1.0 - Math.sin(a))); return [x, y]; //[12727039.383734727, 3579066.6894065146] }
//方法二 latLng2WebMercator2 : function(lng, lat) { var x = lng *20037508.34/180; var y = Math.log(Math.tan((90+lat)*Math.PI/360))/(Math.PI/180); y = y *20037508.34/180; return [x, y]; }
二、网络墨卡托转经纬度
webMercator2LngLat: function(x, y) {//[12727039.383734727, 3579066.6894065146] var lng = x / 20037508.34 * 180; var lat = y / 20037508.34 * 180; lat = 180 / Math.PI * (2 * Math.atan(Math.exp(lat * Math.PI / 180)) - Math.PI / 2); return [lng, lat]; //[114.32894001591471, 30.58574800385281] }
以上转换方法的结果经实测都是正确的,只需根据需要用其他语言实现即可。
相关文章推荐
- WGS84经纬度坐标与web墨卡托之间的转换【转】
- ArcGIS for Android 如何将经纬度坐标转换成投影坐标
- ArcEngine、C#中经纬度坐标、投影坐标之间的转换
- 墨卡托和经纬度坐标互相转换
- Web墨卡托坐标与WGS84经纬度互转 java代码
- ArcEngine下投影坐标和经纬度坐标的相互转换
- ArcEngine、C#中经纬度坐标、投影坐标之间的转换
- Flex中常用的经纬度坐标与墨卡托坐标转换代码
- ArcGIS Engine 下投影坐标和经纬度坐标的相互转换
- WGS84经纬度坐标与web墨卡托之间的转换
- 经纬度坐标和投影坐标的转换
- 基于Arcgis的投影坐标与经纬度坐标的相互转换代码
- 经纬度点与投影坐标系下坐标点的互相转换
- 经纬度点与投影坐标系下坐标点的互相转换
- 墨卡托坐标于百度经纬度坐标相互转换c#实现
- 火星坐标、百度坐标、WGS-84坐标相互转换及墨卡托投影坐标转经纬度JavaScript版 (网络搜集)
- WGS84经纬度坐标与web墨卡托之间的转换
- GCJ-02/BD-09/WGS-84/Web mercator 坐标转换
- ArcEngine下投影坐标和经纬度坐标的相互转换
- arcgis for android经纬度坐标转换成投影坐标