《(VC -MFC)高斯平均引数大地主题正反算.docx》由会员分享,可在线阅读,更多相关《(VC -MFC)高斯平均引数大地主题正反算.docx(19页珍藏版)》请在第壹文秘上搜索。
1、SouthwestJiaotongUniversity地球科学S环境工程学浣试验报告书课程名:学号:姓名:指导老师:日期:目录一、目的与要求1二、试验内容1三、计算公式整理1四、程序代码4五、计算结果15六、试验体会16一、目的与要求参考椭球面是大地测量计算的基准面。大地坐标是椭球面上的基本坐标系,依据大地测量的观测成果(如距离与方向),从大地原点动身,逐点计算在椭球面上的大地坐标;或依据两点的大地坐标,计算它们之间的大地线长度和大地方位角,这类计算称为大地问题解算(或称为大地主题解算)。大地问题解算的用途是多方面的,随着现代空间技术和航空航天、航海等领域的发展,大地问题解算(尤其是大地反算)
2、有着更为重要的作用,因此须要娴熟驾驭其计算。二、试验内容在大地测量学基础教材中,介绍了高斯平均引数法与白塞尔方法的计算过程、步骤。鉴于此,须要娴熟驾驭高斯平均引数法与白塞尔方法解大地主题问题的基本方法与原理。采纳所熟识的计算机语言编程计算。计算时采纳克拉索夫椭球参数,至少完成其中一种方法正反算,依据数据序号选取不同的已知数据,在计算结果中注明所选取的数据序号,选取其它数据作为无效数据处理。三、计算公式整理3.1、高斯平均引数正算计算公式(S1-)Ad=(l-e2sin2)3ttgB=e2CQS2B(2)计算A5、zZ的初值Q=SCOSAM.PZ=SsmAiNlcosBllj4q三PSsin/t
3、2三qsmNl(3)计算取、1.n.AnBm=Bi+35o1.m=A44=4+4)(4)再次计算AB、ZZ郎ScosAtU+24V2E出4(2+3g+)3cos27%A1-彘-4*d)=N;OSBSsb4T+5:in24-cos?4(1+-9疝;)C2=ssin4mU+rcos24(2+7大9欣W+5力)-sin2n(2+2)(5)重复计算(3),直到计算满足的川-的居此180取+,4180取一,3.2、高斯平均引数正算计算公式(S1Z,r2152Z+3Z3V=Scos4=j105+s125Z2+j305fJ=r015+r2152I+r03Z?式中各系数)=NmcosBmr21=N瑞Q-戊-9
4、疝:+启)r03三cos35m24SOI=音512=cos2BnlQ+34+2*)名0=学:T沅)tOl=tmcos%三4cos5m(27戊+%沅)3=cos3BfttQQ+d+2优)24注:这里对教材公式中相应系数进行了修正与改进。,SsinAmU4=MCtg7广三arctgSeOS4V(4) T=oarct4711-TAnt=11j-T211-T11!2(5) S=SSin4=sin44=4一彳8SAncCOSHwMfI坪WlSsm4当50,ZO当B0当BO,Z0,ZO二或S-SCoS0sinJmcosJwcosAmSA,A2=Am+-Ar注至B四、程序代码4.1、 角度转换类的头文件:#
5、pragmaonceconstdoubleclassAngIeTrans(public:AngIeTrans(Void);-AngIeTrans(Void);doubleD,F,M,DFMzRadJen;doubletrans1(doubleDFM),度分秒形式的角度转换为弧度形式trans2(doubleRQd),弧度形式的角度转换为度分秒形式trans3(doubleD);十进制度转化为弧度);4.2、 角度转换类的源文件:#includeStdAfx.h#includeAngleTrans.h#includeAngIeTranszAngIeTrans(Void)()AngleTransA
6、ngleTrans(void)()度分秒转换为弧度doubleAngIeTranszitransl(doubleDFM)D=floor(DFM);F=floor(DFM-D)*l);M=(DFM-D-F1)*1OO;Te=D+F60+M3600;Rad=Ten/180*Pi;returnRad;/弧度转换为度分秒doubleAngleTrans:trans2(doubleRad)Ten=RadZPi*180;D=I100r(Ten);F=(Ten-D)*60;M=(F-floor(F)*60;F=floor(F);DFM=D+F100+M/10000;returnDFM;)十进制度转化为弧度d
7、oubleAngleTrans:trans3(doubleD)Rad=D/180*Pi;returnRad;)4.3、 正反算类的头文件:#pragmaonceclassZhengFanSuanpublic:ZhengFanSuan(Void);-ZhengFanSuan(void);doublezBbz1.l,zA12,zS,fB1J1.l,fB2J1.2;doubleZhengSuanB(doublezBl,doubleZ1.1.doubIezAIZdoubIezS),ZhengSuan1.(doublezBl,doublez1.l,doublezA12,doublezS),ZhengSu
8、anA(doblezBl,doublez1.l,doublezAl2,doublezS);doubleFanSuanAl2(doublefBl,doublef1.l,doublefB2,doublef1.2),FanSuanSfdoubIefBl,doublef1.l,doublefB2,doublef1.2),FanSuanA21(doublefB!,doublef1.l,doublefB2,doublef1.2););4.4、 正反算类的源文件:#includeStdAfx.h#includeZhengFanSuan.h#includeAngleTrans.h#includeZhengFa
9、nsuaniiZhengFanSuan(VOid)ZhengFnSunZhengFnSun(void)AngIeTrans.AngIeTrans;constdoubleel=0.0066934216622966,e2=0.006738525414683,a=6378245.00,b=6356863.01877,temp=pow(10.0,-10);精度要求doubleCalC-MfdoubIez)计算Mmdoublex=a*(l-pow(el,2)sqrt(pow(l-pow(el,2)*pow(sin(z),2),3);returnx;)doubleCalC-N(doublez)计算Nmdo
10、ublex=asqrt(1-pow(e1,2)*pow(sin(z),2):returnx;)doubleCalcJ(doblez)计算tmdoublex=tan(z);returnx;)doubleCalc_yita(doublez)计算yitomdoubleX=POW(e2,2)*pow(cos,2);returnx;)正算纬度doubleZhengFQnSUOn:ZhengSUonB(doublezBl,doublez1.l,doublezA12,doblezS)doubleMl0000,N100,t10000,B100,Bm100,1.l00,1.m10000,A100,Am100,y
11、ita10000;double_zBl=_AngleTrans.trans1(zBl),_z1.l=_AngleTrans.transl(z1.l),_zA12=_AngleTrans.transl(zA12),final;tl=tan(_zBl);yital=pow(e2,2)*pow(cosCzBl),2);Nl=asqrt(l-pow(el,2)*pow(sin(_zB1),2);Ml=a*(l-pow(el,2)/sqrt(pow(l-pow(el,2)*pow(sin(_zBl),2),3);B0=_AngleTrans.trans3(206265/Ml*zS*cos(_zA12)/
12、3600),1.0=_AngleTrans.trans3(206265*zS*sin(_zA12)/(Nl*cos(_zBl)/3600),AO=1.O*sin(.zBl);Bml=-ZB1+12*BO;1.ml=_z1.l+l/2*1.0;Aml=-ZA12+l2*A0;inti=1;Bl=-AngleTrans.trans3(206265Ml*zS*cos(Aml)*(l+pow(zS,2)(24*pow(Nl,2)*(pow(sin(Aml),2)(2+3*pow(tl,2)+2*pow(yital,2)+3*pow(cos(Aml),2)*pow(yital,2)*(pow(tl,2)
13、-l-pow(yital,2)-4*pow(yital,2)*pow(tl,2)3600);1.i=_AngleTrans.trans3(206265/(Nl*cos(Bml)*zS*sin(Ami)*(l+pow(zS,2)/(24*pow(Ni,2)*(pow(t,2)*pow(sin(Ami),2)-pow(cos(Ami),2)*(1+pow(yitai,2)-9*pow(yitai,2)*pow(ti.2)/3600);Ai=-AngleTrans.trans3(206265Ni*zS*sin(Ami)ti*(l+pow(zS,2)(24*pow(Ni,2)*(pow(cos(Ami)*(2+7*pow(yitai,2)+9*pow(yitai,2)*pow(ti,2)+5*pow(yitai,4)+pow(sin(Ami),2