坐标转换源代码.doc

坐标转换源代码.doc

ID:59216621

大小:25.00 KB

页数:5页

时间:2020-09-09

坐标转换源代码.doc_第1页
坐标转换源代码.doc_第2页
坐标转换源代码.doc_第3页
坐标转换源代码.doc_第4页
坐标转换源代码.doc_第5页
资源描述:

《坐标转换源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include"iostream.h"#include"math.h"#include"stdio.h"#definepi3.97932//圆周率voidxyz_xyz(doublexyz[],doublexyz1[],doublecanshu[]);voidgstyz(doubleblh[],doublexy[],doublepara2[]);voidblh_xyz(doubleblh[],doublexyz[],doublepara1[]);doubleziwuhu(doubleB,doublea,doublee2);doublex

2、yz_blh(doubleblh[],doublexyz[],doublepara2[]);doublehuahu(doubleb);main(){doubleblh[3],xyz[3],xyz1[3],xy[2],para1[2],para2[2],canshu[7];inti;cout<<"请输入大地坐标B,L,H,角度输入方式如下:"<>blh[0]>>blh[1]>>blh[2];cout<

3、式转化为弧度blh[0]=huahu(blh[0]);blh[1]=huahu(blh[1]);cout<<"请输入WGS84椭球的椭球参数,长半轴以及扁率的倒数:"<>para1[0]>>para1[1];cout<>para2[0]>>para2[1];cout<

4、"<>canshu[i];}cout<

5、间直角坐标系之间的转换xyz_xyz(xyz,xyz1,canshu);//调用函数,将大地坐标转换为直角坐标xyz_blh(blh,xyz,para2);//调用函数,计算对应的高斯投影面上的坐标gstyz(blh,xy,para2);//输出结果printf("对应的高斯投影坐标系中的坐标为:");printf("x=%10.6f,y=%10.6f",xy[0],xy[1]);}//大地坐标转换为直角坐标voidblh_xyz(doubleblh[],doublexyz[],doublepara1[]){doubleb,e2,N;

6、b=para1[0]*(1-1/para1[1]);e2=1-b*b/(para1[0]*para1[0]);N=para1[0]/sqrt(1-e2*sin(blh[0])*sin(blh[0]));xyz[0]=(N+blh[2])*cos(blh[0])*cos(blh[1]);xyz[1]=(N+blh[2])*cos(blh[0])*sin(blh[1]);xyz[2]=(N*(1-e2)+blh[2])*sin(blh[0]);}//计算子午弧长函数doubleziwuhu(doubleB,doublea,doublee2){

7、doubleX,m0,m2,m4,m6,m8,q0,q2,q4,q6,q8;m0=a*(1-e2);m2=3*e2*m0/2;m4=5*e2*m2/4;m6=7*e2*m4/6;m8=9*e2*m6/8;q0=m0+m2/2+3*m4/8+5*m6/16+35*m8/128;q2=m2/2+m4/2+15*m6/32+7*m8/16;q4=m4/8+3*m6/16+7*m8/32;q6=m6/32+m8/16;q8=m8/128;X=q0*B-q2*sin(2*B)/2+q4*sin(4*B)/4-q6*sin(6*B)/6+q8*sin

8、(8*B)/8;returnX;}//坐标转换的直接解法求解经纬度doublexyz_bl(doubleblh[],doublexyz[],doublepara2[]){doublea,b,e

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

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

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