经纬度坐标与高斯坐标地转换代码

经纬度坐标与高斯坐标地转换代码

ID:47073242

大小:100.17 KB

页数:12页

时间:2019-07-16

经纬度坐标与高斯坐标地转换代码_第1页
经纬度坐标与高斯坐标地转换代码_第2页
经纬度坐标与高斯坐标地转换代码_第3页
经纬度坐标与高斯坐标地转换代码_第4页
经纬度坐标与高斯坐标地转换代码_第5页
资源描述:

《经纬度坐标与高斯坐标地转换代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档经纬度坐标与高斯坐标的转换代码/功能说明:将绝对高斯坐标(y,x)转换成绝对的地理坐标(wd,jd)。///doubley;输入参数:高斯坐标的横坐标,以米为单位//doublex;输入参数:高斯坐标的纵坐标,以米为单位//shortDH;输入参数:带号,表示上述高斯坐标是哪个带的//double*L;输出参数:指向经度坐标的指针,其中经度坐标以秒为单位//double*B;输出参数:指向纬度坐标的指针,其中纬度坐标以秒为单位voidGaussToGeo(doubley,doublex,shortDH,double*L,double*B,doubleL

2、P){doublel0;//经差doubletf;//tf=tg(Bf0),注意要将Bf转换成以弧度为单位doublenf;//n=y*sqrt(1+etf**2)/c,其中etf=e'**2*cos(Bf0)**2doublet_l0;//l0,经差,以度为单位doublet_B0;//B0,纬度,以度为单位文案大全实用文档doubleBf0;//Bf0doubleetf;//etf,其中etf=e'**2*cos(Bf0)**2doubleX_3;doublePI=3.14159265358979;doubleb_e2=0.0067385254147;do

3、ubleb_c=6399698.90178271;X_3=x/1000000.00-3;//以兆米(1000000)为单位//对于克拉索夫斯基椭球,计算Bf0Bf0=27.11115372595+9.02468257083*X_3-0.00579740442*pow(X_3,2)-0.00043532572*pow(X_3,3)+0.00004857285*pow(X_3,4)+0.00000215727*pow(X_3,5)-0.00000019399*pow(X_3,6);tf=tan(Bf0*PI/180);//tf=tg(Bf),注意这里将Bf转换成以

4、弧度为单位文案大全实用文档etf=b_e2*pow(cos(Bf0*PI/180),2);//etf=e'**2*cos(Bf)**2nf=y*sqrt(1+etf)/b_c;//n=y*sqrt(1+etf**2)/c//计算纬度,注意这里计算出来的结果是以度为单位的t_B0=Bf0-(1.0+etf)*tf/PI*(90.0*pow(nf,2)-7.5*(5.0+3*pow(tf,2)+etf-9*etf*pow(tf,2))*pow(nf,4)+0.25*(61+90*pow(tf,2)+45*pow(tf,4))*pow(nf,6));//计算经差,注

5、意这里计算出来的结果是以度为单位的t_l0=(180*nf-30*(1+2*pow(tf,2)+etf)*pow(nf,3)+1.5*(5+28*pow(tf,2)+24*pow(tf,4))*pow(nf,5))/(PI*cos(Bf0*PI/180));l0=(t_l0*3600.0);//将经差转成秒if(LP==-1000){文案大全实用文档*L=(double)((DH*6-3)*3600.0+l0);//根据带号计算出以秒为单位的绝对经度,返回指针}else{*L=LP*3600.0+l0;//根据带号计算出以秒为单位的绝对经度,返回指针}//--

6、--------------------------------*B=(double)(t_B0*3600.0);//将纬差转成秒,并返回指针}/功能说明:(1)将地理坐标(wd,jd)转换成绝对的高斯坐标(y,x)文案大全实用文档(2)本函数支持基于六度带(或三度带)、克拉索夫斯基椭球进行转换//适用范围:本函数适用于将地球东半球中北半球(即东经0度到东经180度,北纬0度至90度)范围内所有地理坐标到高斯坐标的转换//使用说明:调用本函数后返回的结果应在满足精度的条件下进行四舍五入///doublejd;输入参数:地理坐标的经度,以秒为单位//double

7、wd;输入参数:地理坐标的纬度,以秒为单位//shortDH;输入参数:三度带或六度带的带号/六度带(三度带)的带号是这样得到的:从东经0度到东经180度自西向东按每6度(3度)顺序编号(编号从1开始),这个顺序编号就称为六度带(三度带)的带号。因此,六度带的带号的范围是1-30,三度带的带号的范围是1-60。如果一个点在图号为TH的图幅中,那麽该点所处的六度带的带号就可以这样得到:将该图号的第3、4位组成的字符串先转换成数字,再减去30。例如某点在图幅06490701中,该点所在的带号就文案大全实用文档是49-30,即19。如果调用本函数去进行一般的从地理坐

8、标到基于六度带高斯坐标的变换(非邻带转

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

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

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