美文网首页
地图坐标系互相转换

地图坐标系互相转换

作者: ME88 | 来源:发表于2021-06-08 11:29 被阅读0次

WGS-84:GPS坐标系(谷歌使用,世界上的绝大多数国家在绘制地图时使用);美国建立的GSP原始坐标系;

GCJ-02:火星坐标系,高德,腾讯等使用。(国内常用);是我国测绘局发布制定的坐标系,由WGS-84坐标系加密而成,又叫火星坐标系;

BD-09:百度坐标系,百度自研,百度地图使用。

CGCS2000:中国国家大地坐标系,类似于WGS-84坐标系,是原始坐标系。

var x_PI = 3.14159265358979324 * 3000.0 / 180.0;

var PI = 3.1415926535897932384626;

var a = 6378245.0;

var ee = 0.00669342162296594323;

百度坐标系 (BD-09) 与 火星坐标系 (GCJ-02)的转换

function bd09togcj02(bd_lon, bd_lat) {

var x_pi = 3.14159265358979324 * 3000.0 / 180.0;

 var x = bd_lon - 0.0065; 

var y = bd_lat - 0.006;

 var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi); 

var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi); 

var gg_lng = z * Math.cos(theta); 

var gg_lat = z * Math.sin(theta);

 return [gg_lng, gg_lat]

}

火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换

function gcj02tobd09(lng, lat) { 

var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_PI);

var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_PI);

var bd_lng = z * Math.cos(theta) + 0.0065;

var bd_lat = z * Math.sin(theta) + 0.006;

return [bd_lng, bd_lat]

}

WGS-84转火星坐标系 (GCJ-02) 

function wgs84togcj02(lng, lat) {

if (out_of_china(lng, lat)) {

 return [lng, lat]

 }else{

var dlat = transformlat(lng - 105.0, lat - 35.0);

var dlng = transformlng(lng - 105.0, lat - 35.0);

var radlat = lat / 180.0 * PI;

var magic = Math.sin(radlat);

magic = 1 - ee * magic * magic;

var sqrtmagic = Math.sqrt(magic);

dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);

dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);

var mglat = lat + dlat;

var mglng = lng + dlng;

return [mglng, mglat]

}

}

火星坐标系 (GCJ-02)  转 WGS-84

function gcj02towgs84(lng, lat) {

if (out_of_china(lng, lat)) {

return [lng, lat]

} else {

var dlat = transformlat(lng - 105.0, lat - 35.0);

var dlng = transformlng(lng - 105.0, lat - 35.0);

var radlat = lat / 180.0 * PI;

var magic = Math.sin(radlat);

magic = 1 - ee * magic * magic;

var sqrtmagic = Math.sqrt(magic);

dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * PI);

dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * PI);

mglat = lat + dlat;

mglng = lng + dlng;

return [lng * 2 - mglng, lat * 2 - mglat]

}

}

偏移

function transformlat(lng, lat) { var ret = -100.0 + 2.0 * lng + 3.0 * lat + 0.2 * lat * lat + 0.1 * lng * lat + 0.2 * Math.sqrt(Math.abs(lng)); ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0; ret += (20.0 * Math.sin(lat * PI) + 40.0 * Math.sin(lat / 3.0 * PI)) * 2.0 / 3.0; ret += (160.0 * Math.sin(lat / 12.0 * PI) + 320 * Math.sin(lat * PI / 30.0)) * 2.0 / 3.0; return ret} 

//

function transformlng(lng, lat) { var ret = 300.0 + lng + 2.0 * lat + 0.1 * lng * lng + 0.1 * lng * lat + 0.1 * Math.sqrt(Math.abs(lng)); ret += (20.0 * Math.sin(6.0 * lng * PI) + 20.0 * Math.sin(2.0 * lng * PI)) * 2.0 / 3.0; ret += (20.0 * Math.sin(lng * PI) + 40.0 * Math.sin(lng / 3.0 * PI)) * 2.0 / 3.0; ret += (150.0 * Math.sin(lng / 12.0 * PI) + 300.0 * Math.sin(lng / 30.0 * PI)) * 2.0 / 3.0; return ret} 

判断是否在国内,不在国内则不做偏移

function out_of_china(lng, lat) { return (lng < 72.004 || lng > 137.8347) || ((lat < 0.8293 || lat > 55.8271) || false);}

相关文章

  • 地图坐标系互相转换

    WGS-84:GPS坐标系(谷歌使用,世界上的绝大多数国家在绘制地图时使用);美国建立的GSP原始坐标系; GCJ...

  • 地图坐标转换

    地图坐标转换 简介 各地图API坐标系统比较与转换; WGS84坐标系:即地球坐标系,国际上通用的坐标系。设备一般...

  • 高德地图坐标转百度地图坐标

    前端用了高德,后台用了百度,要转过之后才能传给后台,蛋疼 mark 百度地图和高德地图坐标系的互相转换 百度坐标(...

  • ios 地图坐标系转换

    ios 地图坐标系转换 https://segmentfault.com/a/1190000003023989 摘自网页

  • 超简单的canvas绘制地图

        本文使用geojson数据,通过缩放和平移把地图的地理坐标系转换canvas的屏幕坐标系,然后将转换后的数...

  • 不同地图的坐标系问题

    常见地图坐标系以及转换方法、转换工具:[https://blog.csdn.net/SitToSeeBloomFa...

  • bd09坐标转wgs84

    之前公司定位用的是百度定位,但是由于公司地图展示位天地图,由于偏移严重(毕竟坐标系不同)需要坐标系转换,之前看公司...

  • GIS坐标系的设置与转换 2017.6.30

    坐标系包括地理坐标系和投影坐标系 对于有地理坐标系的,只需直接转换为投影坐标系即可。中国地图的WGS1984似乎对...

  • 地图坐标系转换

    国际坐标:WGS84中国火星坐标:GCJ02百度坐标:BD09 各坐标转换对应规则如下: 问题:如果使用了不同的坐...

  • 地图坐标系转换

    地图经纬度各坐标系之间的转换 1.使用方式 新建mapconversion.js文件 内容如下: 2.页面引入该j...

网友评论

      本文标题:地图坐标系互相转换

      本文链接:https://www.haomeiwen.com/subject/wdpreltx.html