大地测量学课程设计报告.doc

上传人:李司机 文档编号:1124070 上传时间:2022-06-28 格式:DOC 页数:21 大小:405.65KB
返回 下载 相关 举报
大地测量学课程设计报告.doc_第1页
第1页 / 共21页
大地测量学课程设计报告.doc_第2页
第2页 / 共21页
大地测量学课程设计报告.doc_第3页
第3页 / 共21页
大地测量学课程设计报告.doc_第4页
第4页 / 共21页
大地测量学课程设计报告.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《大地测量学课程设计报告.doc》由会员分享,可在线阅读,更多相关《大地测量学课程设计报告.doc(21页珍藏版)》请在三一办公上搜索。

1、-测量学课程设计设计题目:白塞尔主题解算目录1.根本原理及思想 12.白塞尔法主题正算步骤 23.白塞尔法主题反算步骤 44.同一平行圈弧长、子午线弧长与线比拟大小 65.程序代码 86.演算例如 137.参考文献168.心得体会 179.教师评语18. z.-白塞尔主题解算一:根本原理建立以椭球中心为中心,以任意长或单位长为半径的辅助球,按以下三个步骤计算。第一,按一定条件将椭球面元素投影到辅助球面上。第二,在球面上解算问题。第三,将求得的球面元素按投影关系换算到相应的椭球元素。关键:确定球面元素与椭球面元素的关系,即它们间的投影关系。二:白塞尔法解算主题的根本思想:以辅助球面为根底,将椭球

2、面三角形转换为辅助球面的相应三角形,由三角形对应元素关系,将椭球面上的元素按照白塞尔投影条件投影到辅助球面上,然后在球面上进展主题解算,最后再将球面上的计算结果换算到椭球面上。三:在球面上进展主题解算球面上的主题正算:球面上的主题反算:球面三角元素间的相互关系:四:正反算步骤1.白塞尔法主题正算步骤、()、S,计算、()。1将椭球面元素投影到球面上由求:计算辅助量和,计算球面长度,将S化为式中系数分别为:上式右端含有,因此需要迭代计算。第一次迭代取近似值,第二次计算取以后计算用代换代入上式迭代计算,直到所要求的精度为止。一般取。(2) 解算球面三角形计算计算或计算3将球面元素换算到椭球面上由求

3、或将球面经差化为椭球面经差l,求 l式中式中的最大值为,故在计算时通常可以略去不计。象限的判定符号+ +-符号 +-+-l符号-+符号+- +-其中、为锐角。2.白塞尔法主题反算步骤、,计算()、()、S。1将椭球面元素投影到球面上由B求u,l=,采用逐次趋近法,由l计算在反算中,椭球面上经差l,球面经差上的对应经差未知,为了由l求,由下式可知还需计算、,计算又还需量,故需要进展迭代计算。第一次趋近,取l;,或判断的象限p符号+ +-q符号 +-+-判断象限+-l+仿照上述计算步骤迭代计算,直到为止。(2) 将球面元素换算到椭球面上或象限的判断与前面一致五:同一平行圈弧长、子午线弧长与线比拟大

4、小子午线弧长计算公式:式中:平行圈弧长公式:不同纬度对应的一些弧长的数值B子午线弧长平行圈弧长11110110 576m1 842.94m30.716m111 321m1 855.36m30.923m15110 6561 844.2630.738107 5521 792.5429.87630110 8631 847.7130.79596 4881 608.1326.80245111 1431 852.3930.87378 8481 314.1421.90260111 4231 857.0430.95155 801930.0215.575111 6251 860.4231.00728 90248

5、1.718.02890111 6961 861.631.027000利用白塞尔主题反算求解线长S纬度为30,经差为1的平行圈弧长S=96 488m,两点间线长为96 487.595m经度为30,纬度差为1的子午线弧长X=110 863m,两点间线长为110 862.869m通过比拟可知,同一平行圈或同一子午线两点间线长度与对应的平行圈弧长或子午线弧长相等。六:程序代码#include#includedouble hudu(double,double,double); /*度分秒转换为弧度*/double du(double); /*弧度转换为度*/double fen(double); /*弧

6、度转换为分*/double miao(double); /*弧度转换为秒*/#define PI 3.1415926void main (void)int k;printf(请选择主题算法,假设执行正算,请输入1;假设执行反算,请输入2。n);scanf(%d,&k); /*主题正算*/if(k=1) double ax,ay,az,bx,by,bz,cx,cy,cz,S,dz,ez,fz,B1,B2,L1,L2,A1,A2;intdx,dy,ex,ey,fx,fy;double e2,W1,sinu1,cosu1,sinA0,coto1,sin2o1,cos2o1,sin2o,cos2o,A

7、,B,C,r,t,o0,o,g,sinu2,q;/*输入度分秒数据*/printf(请输入线起点纬度度分秒n);scanf(%lf%lf%lf,&ax,&ay,&az);printf(请输入线起点经度度分秒n);scanf(%lf%lf%lf,&bx,&by,&bz);printf(请输入方位角度分秒n);scanf(%lf%lf%lf,&cx,&cy,&cz);printf(请输入线长度n);scanf(%lf,&S);/*调用函数*/B1=hudu(ax,ay,az);L1=hudu(bx,by,bz);A1=hudu(cx,cy,cz);/*白塞尔主题解算*/e2=0.2966;W1=s

8、qrt(1-e2*sin(B1)*sin(B1);sinu1=sin(B1)*(sqrt(1-e2)/W1;cosu1=cos(B1)/W1;sinA0=cosu1*sin(A1);coto1=cosu1*cos(A1)/sinu1;sin2o1=2*coto1/(coto1*coto1+1);cos2o1=(coto1*coto1-1)/(coto1*coto1+1);A=6356863.020+(10718.949-13.474*(1-sinA0*sinA0)*(1-sinA0*sinA0); B=(5354.469-8.978*(1-sinA0*sinA0)*(1-sinA0*sinA0

9、);C=(2.238*(1-sinA0*sinA0)*(1-sinA0*sinA0)+0.006; r=691.46768-(0.58143-0.00144*(1-sinA0*sinA0)*(1-sinA0*sinA0);t=(0.2907-0.0010*(1-sinA0*sinA0)*(1-sinA0*sinA0); o0=(S-(B+C*cos2o1)*sin2o1)/A;sin2o=sin2o1*cos(2*o0)+cos2o1*sin(2*o0); cos2o=cos2o1*cos(2*o0)-sin2o1*sin(2*o0);o=o0+(B+5*C*cos2o)*sin2o/A;g=

10、(r*o+t*(sin2o-sin2o1)*sinA0;/*求B2*/sinu2=sinu1*cos(o)+cosu1*cos(A1)*sin(o);B2=atan(sinu2/(sqrt(1-e2)*sqrt(1-sinu2*sinu2); /*求L2*/q=atan(sin(A1)*sin(o)/(cosu1*cos(o)-sinu1*sin(o)*cos(A1);/*判断q*/if(sin(A1)0 & tan(q)0)q=fabs(q);else if(sin(A1)0 & tan(q)0)q=PI-fabs(q);else if(sin(A1)0 & tan(q)0)q=-fabs(

11、q);elseq=fabs(q)-PI;L2=L1+q-g/3600/180*PI; /*求A2*/A2=atan(cosu1*sin(A1)/(cosu1*cos(o)*cos(A1)-sinu1*sin(o);/*判断A2*/if(sin(A1)0)A2=fabs(A2);else if(sin(A1)0 & tan(A2)0 & tan(A2)0)A2=PI+fabs(A2);elseA2=2*PI-fabs(A2);/*调用函数*/dx=(int)(du(B2);dy=(int)(fen(B2);dz=miao(B2);ex=(int)(du(L2);ey=(int)(fen(L2);

12、ez=miao(L2);fx=(int)(du(A2);fy=(int)(fen(A2);fz=miao(A2);printf(线终点纬度度分秒分别为:n%dn%dn%lfn,dx,dy,dz);printf(线终点经度度分秒分别为:n%dn%dn%lfn,ex,ey,ez);printf(终点方位角度分秒分别为:n%dn%dn%lfn,fx,fy,fz);/*主题反算*/else if(k=2) double fx,fy,fz,gx,gy,gz,hx,hy,hz,ix,iy,iz,jz,kz,B1,B2,L1,L2,S,A1,A2;int jx,jy,kx,ky;double e2,W1,W

13、2,sinu1,sinu2,cosu1,cosu2,L,a1,a2,b1,b2,g,g2,g0=0.0,r,p,q,sino,coso,o,sinA0,x,t1,t2,A,B,C,y;/*输入度分秒数据*/printf(请输入线起点纬度度分秒n);scanf(%lf%lf%lf,&fx,&fy,&fz);printf(请输入线起点经度度分秒n);scanf(%lf%lf%lf,&gx,&gy,&gz);printf(请输入线终点纬度度分秒n);scanf(%lf%lf%lf,&hx,&hy,&hz);printf(请输入线终点经度度分秒n);scanf(%lf%lf%lf,&ix,&iy,&i

14、z); /*调用函数*/B1=hudu(fx,fy,fz);L1=hudu(gx,gy,gz);B2=hudu(hx,hy,hz);L2=hudu(ix,iy,iz);/*白塞尔主题解算*/ e2=0.2966;W1=sqrt(1-e2*sin(B1)*sin(B1);W2=sqrt(1-e2*sin(B2)*sin(B2);sinu1=sin(B1)*sqrt(1-e2)/W1;sinu2=sin(B2)*sqrt(1-e2)/W2;cosu1=cos(B1)/W1;cosu2=cos(B2)/W2;L=L2-L1;a1=sinu1*sinu2;a2=cosu1*cosu2;b1=cosu1

15、*sinu2;b2=sinu1*cosu2;/*逐次趋近法求解A1*/g=0;r=L;while(1) p=cosu2*sin(r);q=b1-b2*cos(r);A1=atan(p/q); /*判断A1*/if(p0 & q0) A1=fabs(A1);else if(p0 & q0)A1=PI-fabs(A1);else if(p0 & q0)o=fabs(o);elseo=PI-fabs(o); sinA0=cosu1*sin(A1);x=2*a1-(1-sinA0*sinA0)*coso; t1=(33523299-(28189-70*(1-sinA0*sinA0)*(1-sinA0*

16、sinA0)*1e-10;t2=(28189-94*(1-sinA0*sinA0)*1e-10;g2=(t1*o-t2*x*sino)*sinA0;if(fabs(g2-g0)=1e-100)break;elser=L+g2;g0=g2;/*求解S*/A=6356863.020+(10708.949-13.474*(1-sinA0*sinA0)*(1-sinA0*sinA0);B=10708.938-17.956*(1-sinA0*sinA0);C=4.487; y=(1-sinA0*sinA0)*(1-sinA0*sinA0)-2*x*x)*coso;S=A*o+(B*x+C*y)*sino

17、;/*求解A2*/A2=atan(cosu1*sin(r)/(b1*cos(r)-b2);/*判断A2*/if(p0 & q0) A2=fabs(A2);else if(p0) A2=PI-fabs(A2);else if(p0 & q0)A2=PI+fabs(A2);else A2=2*PI-fabs(A2);/*调用函数*/jx=(int)(du(A1);jy=(int)(fen(A1);jz=miao(A1);kx=(int)(du(A2);ky=(int)(fen(A2);kz=miao(A2);printf(起点方位角度分秒分别为:n%dn%dn%lfn,jx,jy,jz);prin

18、tf(终点方位角度分秒分别为:n%dn%dn%lfn,kx,ky,kz);printf(线长度为:%lfn,S);/*数据错误*/elseprintf(数据错误,请重新输入n);/*度分秒转换为弧度*/double hudu(double x,double y,double z) double A0; A0=(x+y/60+z/3600)*PI/180;return A0;/*弧度转换为度*/+double du(double B0)double x0;x0=(int)(B0*180/PI);return x0;/*弧度转换为分*/double fen(double C0)double _y,

19、y0; _y=(int)(C0*180/PI);y0=(fabs)(int)(C0*180/PI-_y)*60);return y0;/*弧度转换为秒*/double miao(double D0)double _z1,_z2,z0;_z1=(int)(D0*180/PI);_z2=(int)(D0*180/PI-_z1)*60);z0=(fabs)(double)(D0*180/PI-_z1)*60-_z2)*60);return z0;七:演算例如正算反算正算计算结果303000.00-0.505 246 7861142000.00-0.610 640 7702250000.00-0.70

20、7 105 781S10000000.00 0.356 537 8880.5308581490.003 350 562-0.6097894721.766 987 874E-060.7925632244.622 109 698E-10-0.692911606-1.103 777 2801.571 441 3545.270 424 445E-031.055 977 930-374344.13511.393 840 997511632.49761.572 478 988502122.4896-0.609 789 747反算计算结果0.530 858 149-0.656 869 486-0.309 1

21、51 2840.682 919 788-0.526 600 0700.400 921 954计算值趋近次数1234-1.100 563 429-1.103 768 055-1.103 777 253-1.103 777 280p-0.705 956 271-0.707 102 492-0.707 105 771-0.707 105 781q-0.708 255 369-0.707 109 082-0.707 105 789-0.707 105 7802245424.67372245959.03902245959.99732250000.00020.999 999 9960.999 998 59

22、40.999 998 5840.999 998 5842.755 182 939E-04-1.677 035 942E-04-1.682 644 780E-04-1.682 660 878E-041.570 520 8091.572 473 3641.572 478 9731.572 478 9890.608 797 6010.609 786 9050.609 789 7390.609 789 747-0.692 114 035-0.692 909 315-0.692 911 599-0.692 911 6063.350 558 481E-033.350 561 868E-033.350 56

23、1 878E-033.350 561 878E-031.770 381 674E-61.766 997 603E-61.766 987 901E-61.766 987 874E-64.639 919 221E-104.622 160 703E-104.622 109 841E-104.622 109 695E-10*5.263 861 5645.270 405 5945.270 424 3925.270 424 446-1.103 768 055-1.103 777 253-1.103 777 280-1.103 777 2801.571 441 354-0.6097897471.055 97

24、7 929-0.5052467861.393 840 996502122.4897Y-4.367 643 449E-10S10000000.003八:参考文献1史国友,周晓明,贾传荧. 贝塞尔主题正解的改良算法J. 海事大学学报,2008,01:15-19. 2郭际明,丁士俊,新洲,宗泉.测量学根底实践教程.:大学,20093裴连磊. 用C语言实现主题解算J. 价值工程,2013,20:235-236. 4周振宇,郭广礼,贾新果. 主题解算方法综述J. 测绘科学,2007,04:190-191+174+200. 5丁士俊,艳梅,史俊波,程新明. 主题解算几种不同算法在计算中应注意的问题J. 工

25、程学院学报(自然科学版),2013,03:1-5. 6王建强,胡明庆. 贝赛尔主题解算分析J. 测绘科学,2012,01:30-31. 7徐晓晗,云开,亚军. 主题解算实用算法J. 科学技术与工程,2012,09:2062-2068. 8许厚泽. 关于正反主题解算方法的综合研究J. 测量制图学报,1958,04:274-288. . 心得体会学习课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术开展的日新日异,测绘技术也不断开展,这次课程设计让我进一步了解和掌握线是椭球面上最短程曲线的特性以及主题解

26、算在测绘学科中的地位和在实际应用中的意义,同时,我也学会利用计算机解决问题的根本技能得到训练和提高,为我走向工作岗位打下一定实践根底。这次课程设计最难得地方就是程序设计,虽然之前学过C语言,但是只是懂得一些根底,而且之前学习了的c语言也忘记的差不多了,所以我又重新开场看书,复习了一下c语言才开场做课程设计在这次课程设计中,我发现教材上有一些印刷错误,虽然问题不大,但对于还不熟悉这门课的我们来说,在学习过程中难免会造成疑惑,多走弯路。此外,教材上的算法虽然简单易懂,但是它在计算系数时是用椭球参数直接代入后化简的公式,一个程序只能依据一个参考椭球,不够灵活。我在此根底上稍微做了修改,可以以不同参考

27、椭球为依据,使程序更具普遍性,让课程设计更完善。回想起起此次课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以稳固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正学以致用,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。虽然课程设计已经完毕了,但是在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。学会了合作,学会了运筹帷幄。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程千里之行始于足下,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进展课程设计,学会脚踏实地迈开这一步,就是为明天能稳健的在社会大潮中走的更远。我会继续努力专业知识,将自己所学学以致用。十:教师评语. z.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号