




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include stdio.h#include math.h#include stdlib.h#include iostream#define PI 3.1415926535897323double a,b,c,e2,ep2;int main()int m,n,t;double RAD(double d,double f,double m);void RBD(double hd);void BLH_XYZ();void XYZ_BLH();void B_ZS();void B_FS();void GUS_ZS();void GUS_FS();printf( 大地测量学 n); sp1:printf(请选择功能:n);printf(1.大地坐标系到大地空间直角坐标的转换n);printf(2.大地空间直角坐标到大地坐标系的转换n);printf(3.贝塞尔大地问题正算n);printf(4.贝塞尔大地问题反算n);printf(5.高斯投影正算n);printf(6.高斯投影反算n);printf(0.退出程序n);scanf(%d,&m);if(m=0)exit(0); sp2:printf(请选择椭球参数(输入椭球序号):n);printf(1.克拉索夫斯基椭球参数n);printf(2.IUGG_1975椭球参数n);printf(3.CGCS_2000椭球参数n);printf(0.其他椭球参数(自行输入)n);scanf(%d,&n);switch(n) case 1:a=6378245.0;b=6356863.0188;c=6399698.9018;e2=0.00669342162297;ep2=0.00673852541468;break;case 2:a=6378140.0;b=6356755.2882;c=6399596.6520;e2=0.00669438499959;ep2=0.00673950181947;break;case 3:a=6378137.0;b=6356752.3141;c=6399593.6259;e2=0.00669438002290;ep2=0.00673949677547;break;case 0: printf(请输入椭球参数:n); printf(长半径a=);scanf(%lf,&a); printf(短半径b=);scanf(%lf,&b); c=a*a/b; ep2=(a*a-b*b)/(b*b); e2=(a*a-b*b)/(a*a); break; default:printf(nn输入错误!n请重新输入!nn);goto sp2 ;while(1)switch(m) case 1:BLH_XYZ();break;case 2:XYZ_BLH();break;case 3:B_ZS();break;case 4:B_FS();break;case 5:GUS_ZS();break;case 6:GUS_FS();break;default:printf(nn输入错误!n请重新输入!nn);goto sp1 ;printf(是否继续进行此功能计算? nn);printf(( 若继续进行此功能计算,则输入1;n 若选择其他功能进行计算,则输入2;n 若退出, 则输入0. )n);scanf(%d,&t);switch(t) case 1:break;case 2:goto sp1;case 0:exit(0);double RAD(double d,double f,double m)double e;double sign=(d0.0)?-1.0:1.0;if(d=0)sign=(f0.0)?-1.0:1.0;if(f=0)sign=(m0.0)?-1.0:1.0;if(d0)d=d*(-1.0);if(f0)f=f*(-1.0);if(m0)m=m*(-1.0);e=sign*(d*3600+f*60+m)*PI/(3600*180);return e;void RBD(double hd)int t;int d,f;double m;double sign=(hd0.0)?-1.0:1.0;if(hd5*pow(10,-10)tgB0=tgB1;tgB1=(1/sqrt(X*X+Y*Y)*(Z+a*e2*tgB0/sqrt(1+tgB0*tgB0-e2*tgB0*tgB0);B=atan(tgB1);printf( 大地纬度为:B=); RBD(B); printf(n);W=sqrt(1-e2*sin(B)*sin(B);N=a/W;H=sqrt(X*X+Y*Y)/cos(B)-N;printf( 大地高为:H=%lfnn,H);void B_ZS()double L1,B1,A1,s,d,f,mi;double u1,u2,m,M,k2,alfa,bt,r,kp2,alfap,btp,rp;double sgm0,sgm1,lmd,lmd1,lmd2,A2,B2,l,L2;printf(请输入已知点的大地坐标(输入格式为角度(例如:304050),下同):nL1=);scanf(%lf%lf%lf,&d,&f,&mi);L1=RAD(d,f,mi);printf(nB1=);scanf(%lf%lf%lf,&d,&f,&mi);B1=RAD(d,f,mi);printf(请输入大地方位角:nA1=);scanf(%lf%lf%lf,&d,&f,&mi);A1=RAD(d,f,mi);printf(请输入该点至另一点的大地线长:ns=);scanf(%lf,&s);u1=atan(sqrt(1-e2)*tan(B1);m=asin(cos(u1)*sin(A1);M=atan(tan(u1)/cos(A1);m=(m0)?m:m+2*PI;M=(M0)?M:M+PI;k2=ep2*cos(m)*cos(m);alfa=(1-k2/4+7*k2*k2/64-15*k2*k2*k2/256)/b;bt=k2/4-k2*k2/8+37*k2*k2*k2/512;r=k2*k2/128-k2*k2*k2/128;sgm0=alfa*s;sgm1=alfa*s+bt*sin(sgm0)*cos(2*M+sgm0)+r*sin(2*sgm0)*cos(4*M+2*sgm0);while(fabs(sgm0-sgm1)2.8*PI/180*pow(10,-7)sgm0=sgm1;sgm1=alfa*s+bt*sin(sgm0)*cos(2*M+sgm0)+r*sin(2*sgm0)*cos(4*M+2*sgm0);sgm0=sgm1;A2=atan(tan(m)/cos(M+sgm0);A2=(A20)?A2:A2+PI;A2=(A1PI)?A2:A2+PI;u2=atan(-cos(A2)*tan(M+sgm0);lmd1=atan(sin(u1)*tan(A1);lmd1=(lmd10)?lmd1:lmd1+PI;lmd1=(m0)?lmd2:lmd2+PI;lmd2=(mPI)?(M+sgm0)PI)?lmd2:lmd2+PI);lmd=lmd2-lmd1;B2=atan(sqrt(1+ep2)*tan(u2);kp2=e2*cos(m)*cos(m);alfap=(e2/2+e2*e2/8+e2*e2*e2/16)-e2/16*(1+e2)*kp2+3*e2*kp2*kp2/128;btp=e2*(1+e2)*kp2/16-e2*kp2*kp2/32;rp=e2*kp2*kp2/256;l=lmd-sin(m)*(alfap*sgm0+btp*sin(sgm0)*cos(2*M+sgm0)+rp*sin(2*sgm0)*cos(4*M+2*sgm0);L2=L1+l;printf(nn得到另一点的大地坐标和大地线在该点的大地方位角为:nn);printf(L2=);RBD(L2);printf(n);printf(B2=);RBD(B2);printf(n);printf(A2=);RBD(A2);printf(n);void B_FS()double L1,B1,L2,B2,s,A1,A2,du,f,mi,m0,m,M;double l,u1,u2,alfa,bt,r,lmd0,dit_lmd,lmd,sgm,dit_sgm,sgm0,sgm1,alfap,btp,rp,k2,kp2;printf(请输入第一个点大地坐标(输入格式为角度(例如:304050),下同):n大地经度 L1=);scanf(%lf%lf%lf,&du,&f,&mi);L1=RAD(du,f,mi);printf(大地纬度 B1=);scanf(%lf%lf%lf,&du,&f,&mi);B1=RAD(du,f,mi);printf(n请输入第二个点大地坐标:n大地经度:L2=);scanf(%lf%lf%lf,&du,&f,&mi);L2=RAD(du,f,mi);printf(大地纬度:B2=);scanf(%lf%lf%lf,&du,&f,&mi);B2=RAD(du,f,mi);l=L2-L1;u1=atan(sqrt(1-e2)*tan(B1);u2=atan(sqrt(1-e2)*tan(B2);sgm0=acos(sin(u1)*sin(u2)+cos(u1)*cos(u2)*cos(l);m0=asin(cos(u1)*cos(u2)*sin(l)/sin(sgm0);dit_lmd=0.003351831*sgm0*sin(m0);lmd0=l+dit_lmd;dit_sgm=sin(m0)*dit_lmd;sgm1=sgm0+dit_sgm;m=asin(cos(u1)*cos(u2)*sin(lmd0)/sin(sgm1);A1=atan(sin(lmd0)/(cos(u1)*tan(u2)-sin(u1)*cos(lmd0);A1=(A10)?A1:A1+PI;A1=(m0)?A1:A1+PI;M=atan(sin(u1)*tan(A1)/sin(m);M=(M0)?M:M+PI;k2=ep2*cos(m)*cos(m);alfa=(1-k2/4+7*k2*k2/64-15*k2*k2*k2/256)/b;bt=k2/4-k2*k2/8+37*k2*k2*k2/512;r=k2*k2/128-k2*k2*k2/128;kp2=e2*cos(m)*cos(m);alfap=(e2/2+e2*e2/8+e2*e2*e2/16)-e2/16*(1+e2)*kp2+3*e2*kp2*kp2/128;btp=e2*(1+e2)*kp2/16-e2*kp2*kp2/32;rp=e2*kp2*kp2/256;sgm0=acos(sin(u1)*sin(u2)+cos(u1)*cos(u2)*cos(l);sgm1=acos(sin(u1)*sin(u2)+cos(u1)*cos(u2)*cos(l+sin(m)*(alfap*sgm0+btp*sin(sgm0)*cos(2*M+sgm0);while(fabs(sgm0-sgm1)1*PI/180*pow(10,-8)sgm0=sgm1;sgm1=acos(sin(u1)*sin(u2)+cos(u1)*cos(u2)*cos(l+sin(m)*(alfap*sgm0+btp*sin(sgm0)*cos(2*M+sgm0);sgm=sgm1;lmd=l+sin(m)*(alfap*sgm+btp*sin(sgm)*cos(2*M+sgm);s=(sgm-bt*sin(sgm)*cos(2*M+sgm)-r*sin(2*sgm)*cos(4*M+2*sgm)/alfa;A1=atan(sin(lmd)/(cos(u1)*tan(u2)-sin(u1)*cos(lmd);A1=(A10)?A1:A1+PI;A1=(m0)?A1:A1+PI;A2=atan(sin(lmd)/(sin(u2)*cos(lmd)-tan(u1)*cos(u2);A2=(A20)?A2:A2+PI;A2=(m1*pow(10,-8)B0=B1;B1=(x-a*(1-e2)*(-Bt*sin(2*B0)/2+Ct*sin(4*B0)/4-Dt*sin(6*B0)/6)/(a*(1-e2)*At);Bf=B1;nf=sqrt(ep2)*cos(Bf);tf=tan(Bf);Vf=sqrt(1+ep2*cos(Bf)*cos(Bf);Nf=c/Vf;B=Bf-Vf*Vf*tf/2*(y/Nf)*(y/Nf)-(5+3*tf*tf+nf*nf-9*nf*nf*tf*tf)*pow(y/Nf),4)/12+(61+90*tf*tf+45*tf*tf)*pow(y/Nf),6)/360);L=(y/Nf)-(1+2*tf*tf+nf*nf)*(y/Nf)*(y/Nf)*(y/Nf)/6+(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届黑龙江省集贤县化学九上期中调研试题含解析
- 2026届北京市师范大附属中学化学九年级第一学期期中质量跟踪监视模拟试题含解析
- 2025年物联网工程师职业技能鉴定试题及答案解析
- 2025年舞蹈编导专家教学水平测评试题及答案解析
- 招聘管理的考试题及答案
- 速卖统考试题及答案
- 立业理论考试题目及答案
- 2025年文物保护修复工程师技术考试试题及答案解析
- 肺病科出科考试题及答案
- 公司行政创收方案(3篇)
- 财务决策实训课件
- 现代信号处理课件
- 第三章平面机构的结构分析
- 狂犬病健康宣教课件
- 20道云南白药销售代表岗位常见面试问题含HR常问问题考察点及参考回答
- 一年级《道德与法治》教材分析
- 基于生态旅游的广西兴业鹿峰山景区旅游开发研究
- 公路隧道病害产生机理及防治对策
- TCSAE 273-2022 轮胎瞬态复合滑移特性通用试验方法
- 我的家乡石阡
- 全国安全生产月安全知识竞赛700题及答案
评论
0/150
提交评论