gps坐标转换成百度坐标及方法共享

gps坐标转换成百度坐标及方法共享

ID:25647367

大小:53.18 KB

页数:3页

时间:2018-11-21

gps坐标转换成百度坐标及方法共享_第1页
gps坐标转换成百度坐标及方法共享_第2页
gps坐标转换成百度坐标及方法共享_第3页
资源描述:

《gps坐标转换成百度坐标及方法共享》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、WGS坐标系是国际通用的一种地心坐标系,WGS本身也有多个版本(不赘述了),GCJ-02是国内官方采用的一种坐标系,国内许多坐标系也是基于GCJ-02变种而来的,比如百度坐标系BD-09。就这么简单介绍一下吧,坐标系本身的算法是比较复杂的,需要了解空间地理知识,百度文库里面也有一些坐标纠偏转换算法的相关论文,有兴趣的可以自己去研究。上代码:1.staticdoublepi=3.14159265358979324;2.staticdoublea=6378245.0;3.staticdoubleee=0.006693

2、42162296594323;4.publicfinalstaticdoublex_pi=3.14159265358979324*3000.0/180.0;5.6.publicstaticdouble[]wgs2bd(doublelat,doublelon){7.    double[]wgs2gcj=wgs2gcj(lat,lon);8.    double[]gcj2bd=gcj2bd(wgs2gcj[0],wgs2gcj[1]);9.    returngcj2bd;10.}11.12.publicstat

3、icdouble[]gcj2bd(doublelat,doublelon){13.    doublex=lon,y=lat;14.    doublez=Math.sqrt(x*x+y*y)+0.00002*Math.sin(y*x_pi);15.    doubletheta=Math.atan2(y,x)+0.000003*Math.cos(x*x_pi);16.    doublebd_lon=z*Math.cos(theta)+0.0065;17.    doublebd_lat=z*Math.sin(

4、theta)+0.006;18.    returnnewdouble[]{bd_lat,bd_lon};19.}20.21.publicstaticdouble[]bd2gcj(doublelat,doublelon){22.    doublex=lon-0.0065,y=lat-0.006;23.    doublez=Math.sqrt(x*x+y*y)-0.00002*Math.sin(y*x_pi);24.    doubletheta=Math.atan2(y,x)-0.000003*Math.co

5、s(x*x_pi);25.    doublegg_lon=z*Math.cos(theta);26.    doublegg_lat=z*Math.sin(theta);27.    returnnewdouble[]{gg_lat,gg_lon};28.}1.2.publicstaticdouble[]wgs2gcj(doublelat,doublelon){3.    doubledLat=transformLat(lon-105.0,lat-35.0);4.    doubledLon=transform

6、Lon(lon-105.0,lat-35.0);5.    doubleradLat=lat/180.0*pi;6.    doublemagic=Math.sin(radLat);7.    magic=1-ee*magic*magic;8.    doublesqrtMagic=Math.sqrt(magic);9.    dLat=(dLat*180.0)/((a*(1-ee))/(magic*sqrtMagic)*pi);10.    dLon=(dLon*180.0)/(a/sqrtMagic*Math

7、.cos(radLat)*pi);11.    doublemgLat=lat+dLat;12.    doublemgLon=lon+dLon;13.    double[]loc={mgLat,mgLon};14.    returnloc;15.}16.17.privatestaticdoubletransformLat(doublelat,doublelon){18.    doubleret=-100.0+2.0*lat+3.0*lon+0.2*lon*lon+0.1*lat*lon+0.2*Math.

8、sqrt(Math.abs(lat));19.    ret+=(20.0*Math.sin(6.0*lat*pi)+20.0*Math.sin(2.0*lat*pi))*2.0/3.0;20.    ret+=(20.0*Math.sin(lon*pi)+40.0*Math.sin(lon/3.0*pi))*2.0/3.0;21.    ret+=(160.0*Math

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。