大地测量学课程设计(共27页).docx





《大地测量学课程设计(共27页).docx》由会员分享,可在线阅读,更多相关《大地测量学课程设计(共27页).docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上大地测量学课程设计设计题目:白塞尔大地主题解算 学 院: 矿业学院 专 业: 测绘工程 班 级: * 学 号: * 学生姓名: 武 * 指导教师: 张 * 2014年12月31日专心-专注-专业目录1.基本原理及思想 12.白塞尔法大地主题正算步骤 23.白塞尔法大地主题反算步骤 44.同一平行圈弧长、子午线弧长与大地线比较大小 65.程序代码 86.演算示例 137.参考文献 168.心得体会 179.教师评语 18白塞尔大地主题解算一:基本原理建立以椭球中心为中心,以任意长(或单位长)为半径的辅助球,按以下三个步骤计算。第一, 按一定条件将椭球面元素投影到辅助球面
2、上。第二, 在球面上解算大地问题。第三, 将求得的球面元素按投影关系换算到相应的椭球元素。 关键:确定球面元素与椭球面元素的关系,即它们间的投影关系。二:白塞尔法解算大地主题的基本思想:以辅助球面为基础,将椭球面三角形转换为辅助球面的相应三角形,由三角形对应元素关系,将椭球面上的大地元素按照白塞尔投影条件投影到辅助球面上,然后在球面上进行大地主题解算,最后再将球面上的计算结果换算到椭球面上。三:在球面上进行大地主题解算球面上的大地主题正算:球面上的大地主题反算: 球面三角元素间的相互关系:四:正反算步骤1.白塞尔法大地主题正算步骤已知 、()、S,计算、()。(1)将椭球面元素投影到球面上由求
3、:计算辅助量和 , 计算球面长度,将S化为 式中系数分别为: 上式右端含有,因此需要迭代计算。第一次迭代取近似值,第二次计算取 以后计算用代换代入上式迭代计算,直到所要求的精度为止。一般取。(2) 解算球面三角形 计算 计算 或 计算 (3)将球面元素换算到椭球面上 由求 或 将球面经差化为椭球面经差l,求 l式中 式中的最大值为,故在计算时通常可以略去不计。象限的判定符号+ +-符号 +-+- -l符号-+ 符号+- +- 其中、为锐角。2.白塞尔法大地主题反算步骤已知 、,计算()、()、S。 (1)将椭球面元素投影到球面上 由B求u ,l= , , 采用逐次趋近法,由l计算在反算中,已知
4、椭球面上经差l,球面经差上的对应经差未知,为了由l求,由下式可知还需计算、,计算又还需量,故需要进行迭代计算。第一次趋近,取l;,或判断的象限p符号+ +-q符号 +-+- 判断象限+- l+仿照上述计算步骤迭代计算,直到为止。(2) 将球面元素换算到椭球面上 或 象限的判断与前面一致五:同一平行圈弧长、子午线弧长与大地线比较大小子午线弧长计算公式:式中: 平行圈弧长公式:()不同纬度对应的一些弧长的数值B子午线弧长平行圈弧长11110110 576m1 842.94m30.716m111 321m1 855.36m30.923m15110 6561 844.2630.738107 5521
5、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 902481.718.02890111 6961 861.631.027000利用白塞尔大地主题反算求解大地线长S 纬度为30,经差为1的平行圈弧长S=96 488m,两点间大地线长为96 487.595m经度为30,纬度差为1的子午线弧长X=110 863m,两点间大地线
6、长为110 862.869m通过比较可知,同一平行圈或同一子午线两点间大地线长度与对应的平行圈弧长或子午线弧长相等。六:程序代码#include#includedouble hudu(double,double,double); /*度分秒转换为弧度*/double du(double); /*弧度转换为度*/double fen(double); /*弧度转换为分*/double miao(double); /*弧度转换为秒*/#define PI 3.void main (void)int k;printf(请选择大地主题算法,若执行正算,请输入1;若执行反算,请输入2。n);scanf(
7、%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,B,C,r,t,o0,o,g,sinu2,q;/*输入度分秒数据*/printf(请输入大地线起点纬度度分秒n);scanf(%lf%lf%lf,&ax,&ay,&az);printf(请输入大地线起点经度度分秒n);scanf(%lf%lf%lf,
8、&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=sqrt(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
9、;sin2o1=2*coto1/(coto1*coto1+1);cos2o1=(coto1*coto1-1)/(coto1*coto1+1);A=.020+(10718.949-13.474*(1-sinA0*sinA0)*(1-sinA0*sinA0); B=(5354.469-8.978*(1-sinA0*sinA0)*(1-sinA0*sinA0);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.
10、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=(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); /
11、*求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(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(A
12、1)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);ez=miao(L2);fx=(int)(du(A2);fy=(int)(fen(A2);fz=miao(A2);printf(大地线终点纬度度分秒分别为:n%dn%dn%lfn,dx,dy,dz);printf(大地线终点经度度分秒分别为:n%
13、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,W2,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(请输入大地
14、线起点纬度度分秒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,&iz); /*调用函数*/B1=hudu(fx,fy,fz);L1=hudu(gx,gy,gz);B2=hudu(hx,hy,hz);L2=hudu(ix,iy,iz);/*白塞尔大地主题解算*/ e2=0.2966
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大地 测量学 课程设计 27

限制150内