白塞尔大地主题解算教学提纲

合集下载

用C语言实现大地主题解算

用C语言实现大地主题解算




( 争 寺+
‘ ) c o 5 4 A ’
裴连磊 P E I L i a n — l e i
( 新疆 地 矿 局 测 绘 大 队 , 乌鲁木齐 8 3 0 0 1 7 ) ( X i n j i a n g G e o l o g y a n d Mi n e r a l B u r e a u , S u r v e y i n g a n d Ma p p i n g B r i g a d e , U r u mq i 8 3 0 0 1 7 , C h i n a )
1 - 5计 算经 度 差 改 正 数
本 文的程序 实现 是采用 的 白塞 尔大地 主题 解 算的方 法, 根 据 白塞 尔大地主题解 算的 方法 , 分析得 出适 合计 算 机编程 的大地主题正反 算的具体 实现步骤。 1 白塞尔法大地主题正算思想 已知量 : 大 地线 起点 的纬 度 B , 经度 L , 大地 方位 角 A 1 及大地线长度 S 。 求解量 : 大地线终点 的纬度 B : , 经度 L 2
c 番 一 番 + . .
c _ b ( 薷 4 一 6 一)


c 0 s u 2 =
L a 1 = s i n u l s i n u 2 I a 2 _ c o s u l c 0 s u 2 b=
C O S Ul s i n u 2 , b 2 = s i n ul C O S U 2
之 值 。 即下 式 :
求解 量 : 大地 线长度 S及起、 终点 处的大地 方位角 A
及 A' 。
A : b ( 1 一 鲁十 击k 6 _ -
2 . 1辅 助计算 w :

大地主题解算

大地主题解算

"


S2 2 2 2 2 4 A" A21 A12 S sin Am t m 1 [ cos A ( 2 7 9 t 5 m m m m m) 2 Nm 24N m 2 2 sin 2 Am t m 2 t m 2 m ] 5次项
本节主要内容
• • • • • 大地测量主题解算的一般说明 勒让德级数 高斯平均引数正算公式 高斯平均引数反算公式 高斯平均引数正、反算公式的实现
4.7 大地测量主题解算概述
一、大地测量主题解算的一般说明 大地元素:椭球面上点的大地经度L,大地纬度B,两点间 的大地线长度S,及其正反大地方位角A12,A21。 大地主题解算:已知某些大地元素推求另一些大地元素叫做 大地主题解算;包括正解和反解。
大地线长度和正反方位 角.S sin Am,S cosAm 及A" 计算公式为:
计算出S sin Am,S cosAm及A"后,按下式计算大地线 长度 和正反方位角:
S sin Am t an Am S cos A m S S sin Am S cos Am sin Am cos Am 1 A12 Am A", 2 1 A21 Am A&2 2 3 m cos2 Am 1 t m m 4t m m ] 5次项


L" L2 L1
"
S2 2 2 S sec Bm sin Am 1 [ sin A t m m 2 Nm 24N m 2 2 2 cos2 Am 1 m 9t m m ] 5次项
Am是大地方位角,其值在 0-360之间,设b B2 B1 , l L2 L1 , b看成x, l看成y,平面方位角的象限判 别一样。

大地主题解算

大地主题解算

大地主题解算一、实验目的:1. 提高运用计算机语言编程开发的能力;2. 加深对大地主题解算计算公式及辅助参数的理解并掌握计算步骤;3. 通过编程语言实现大地主题解算。

二、工具:Windows XP Mode 环境下的Microsoft Visual C++ 6.0三、注意事项:1. 计算所需变量多,容易混淆;2. 正反算函数的编写;3. 函数调用;4. 弧度与角度之间的转化。

四、实验要求:1. 提交报告,实验总结,编写代码;2. 独立编程,调试运行;3. 上交成果:编写思想,编写过程,问题分析,源代码,计算结果;五、编程过程实现:1. 对白塞尔法大地主题解算有一定的了解,并参考教材P148-P150;2. 由于参数较多,而在C语言环境下很多符号无法定义,需要符合要求的定义符号替代书本上那些无法直接在C语言环境下定义的符号来达到实现实验的目的;3. 程序中采用弧度与度分秒之间转换的函数定义与调用,减轻一定的实验麻烦;4. 在C语言环境下,数学函数fabs代替abs起绝对值作用,atan代替arctan 起反函数作用;5. 程序中尤其注意弧度与角度之间转换,在C语言环境下电脑默认为弧度。

六、源程序代码:#include<stdio.h>#include<math.h>double hudu(double,double,double); /*度分秒转换为弧度*/double du(double); /*弧度转换为度*/double fen(double); /*弧度转换为分*/double miao(double); /*弧度转换为秒*/#define PI 3.1415926void main (void){int k;printf("请选择执行正算或者反算,若执行正算,请输入1;若执行反算,请输入2。

\n");scanf("%d",&k);/*正算*/if(k==1) { double bz,lz,az,S,bz2,lz2,az2,B1,L1,A1,B2,L2,A2,bx,by,lx,ly,ax,ay; int bx2,by2,lx2,ly2,ax2,ay2;doublee2,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",&bx,&by,&bz); printf("请输入大地线起点经度度分秒\n"); scanf("%lf%lf%lf",&lx,&ly,&lz); printf("请输入大地方位角度分秒\n"); scanf("%lf%lf%lf",&ax,&ay,&az); printf("请输入大地线长度\n"); scanf("%lf",&S); /*调用函数*/ B1=hudu(bx,by,bz); L1=hudu(lx,ly,lz); A1=hudu(ax,ay,az); /*白塞尔大地主题解算*/ e2=0.006693421622966; 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; 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);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=(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(q); else q=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 && tan(A2)>0) A2=fabs(A2); else if(sin(A1)<0&& tan(A2)<0) A2=PI-fabs(A2); else if(sin(A1)>0 && tan(A2)>0) A2=PI+fabs(A2); else A2=2*PI-fabs(A2); /*调用函数*/bx2=(int)(du(B2));by2=(int)(fen(B2)); bz2=miao(B2);lx2=(int)(du(L2));ly2=(int)(fen(L2)); lz2=miao(L2); ax2=(int)(du(A2)); ay2=(int)(fen(A2)); az2=miao(A2); printf("大地线终点纬度度分秒分别为:\n%d\n%d\n%lf\n",bx2,by2,bz2); printf("大地线终点经度度分秒分别为:\n%d\n%d\n%lf\n",lx2,ly2,lz2);} /*反算*/ else if(k==2) { printf("终点大地方位角度分秒分别为:\n%d\n%d\n%lf\n",ax2,ay2,az2);doublebz,lz,bz2,lz2,az,az2,B1,L1,B2,L2,S,A1,A2,bx,by,lx,ly,bx2,by2,lx2,ly2;int ax,ay,ax2,ay2; doublee2,W1,W2,sinu1,sinu2,cosu1,cosu2,L,a1,a2,b1,b2,g,g2,g0,r,p,q,sino,coso,o,sinA0,x, t1,t2,A,B,C,y;/*以度分秒顺序输入数据*/ printf("请输入大地线起点纬度度分秒\n"); scanf("%lf%lf%lf",&bx,&by,&bz);printf("请输入大地线起点经度度分秒\n"); scanf("%lf%lf%lf",&lx,&ly,&lz); printf("请输入大地线终点纬度度分秒\n"); scanf("%lf%lf%lf",&bx2,&by2,&bz2); printf("请输入大地线终点经度度分秒\n"); scanf("%lf%lf%lf",&lx2,&ly2,&lz2); /*调用函数*/B1=hudu(bx,by,bz); L1=hudu(lx,ly,lz); B2=hudu(bx2,by2,bz2); L2=hudu(lx2,ly2,lz2); /*白塞尔大地主题解算*/ e2=0.006693421622966; 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*sinu2; b2=sinu1*cosu2; /*逐次趋近法求解A1*/g0=-662.904266/3600*PI/180;g=0; r=L; while(1){p=cosu2*sin(r); q=b1-b2*cos(r); A1=atan(p/q);/*判断A1*/if(p>0 && q>0)A1=fabs(A1);else if(p>0 && q<0) A1=PI-fabs(A1); else if(p<0 && q<0) A1=PI+fabs(A1); elseA1=2*PI-fabs(A1);sino=p*sin(A1)+q*cos(A1); coso=a1+a2*cos(r);o=atan(sino/coso); /*判断o*/ if(coso>0) o=fabs(o); else o=PI-fabs(o);sinA0=cosu1*sin(A1);x=2*a1-(1-sinA0*sinA0)*coso;t1=(33523299-(28189-70*(1-sinA0*sinA0))*(1-sinA0*sinA0))*0.0000000001;t2=(28189-94*(1-sinA0*sinA0))*0.0000000001; g2=(t1*o-t2*x*sino)*sinA0; /*检验循环次数*/ printf("\ng2=%lf\ng0=%lf\n",g2,g0); if(g2<=g0) break; elser=L+g2;A=6356863.020+(10708.949-13.474*(1-sinA0*sinA0))*(1-sinA0*sinA0); } /*求解S*/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; /*求解A2*/ A2=atan(cosu1*sin(r)/(b1*cos(r)-b2)); /*判断A2*/ if(p<0 && q<0)A2=fabs(A2);else if(p<0 && q>0) A2=PI-fabs(A2); else if(p>0 && q>0) A2=PI+fabs(A2); elseA2=2*PI-fabs(A2);/*调用函数*/ax=(int)(du(A1));ay=(int)(fen(A1)); az=miao(A1); ax2=(int)(du(A2)); ay2=(int)(fen(A2)); az2=miao(A2);printf("起点大地方位角度分秒分别为:\n%d\n%d\n%lf\n",ax,ay,az);}/*度分秒转换为弧度*/double hudu(double a0,double b0,double c0){double A0; A0=(a0+b0/60+c0/3600)*PI/180; } /*数据错误*/ else printf("数据错误,请重新输入\n"); printf("终点大地方位角度分秒分别为:\n%d\n%d\n%lf\n",ax2,ay2,az2); printf("大地线长度为:%lf\n",S); return A0;}/*弧度转换为度*/double du(double B0){} double x0; x0=(int)(B0*180/PI); return x0;/*弧度转换为分*/double fen(double C0) {double _y,y0;_y=(int)(C0*180/PI);}/*弧度转换为秒*/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; y0=(fabs)((int)((C0*180/PI-_y)*60)); return y0;大地主题解算正算:大地主题解算反算:以上检验数据来自书本P151,P152。

白塞尔大地主题解算的基本思想

白塞尔大地主题解算的基本思想

白塞尔大地主题解算的基本思想
首先,白塞尔大地主题解算的基本思想之一是建立地壳变形的力学模型。

地壳变形是地球表面的一项重要现象,是由于地质作用和地球内部力
学过程的结果。

地壳变形的力学模型是研究地壳变形的重要方法。

常见的
地壳变形的力学模型有弹性模型、弹塑性模型和拟弹性模型等。

这些模型
可以描述地壳的变形过程,通过对地壳的变形过程进行建模,可以更好地
理解地壳变形的机制和动力学过程。

其次,白塞尔大地主题解算的思想之一是研究现今地球表面的动力学
过程。

地球表面的动力学过程包括板块运动、地震活动、火山喷发等。


些过程在地球的长期演化中起着重要的作用。

通过对现今地球表面动力学
过程的研究,可以揭示地球内部的结构和动力学机制,进而更好地理解地
壳变形的成因和发展变化的规律。

第三,白塞尔大地主题解算的基本思想之一是研究地壳变形的成因。

地壳变形的成因是地壳运动的基本原因,也是地球科学研究的一个重要问题。

地壳变形的成因包括构造运动、地壳应力状态的改变、地震活动等。

通过研究地壳变形的成因,可以更好地了解地壳变形的机制和规律,进而
为地震预测和地壳运动的控制提供科学依据。

总之,白塞尔大地主题解算的基本思想是通过建立地壳变形的力学模型,研究现今地球表面的动力学过程,探究地壳变形的成因,揭示地壳变
形与地球动力学过程之间的相互关系,以推动地壳运动的理论和应用研究。

这一思想对于研究地壳运动的机制和规律,了解地壳变形的成因和动力学
过程,提高地震预测和地壳运动控制的水平具有重要意义。

大地测量

大地测量

作业一:1、 请说明大地测量学与控制测量学的定义,阐述它们之间的关系。

答:大地测量学是在一定时间-空间参考系统中,测量和描绘地球及其他行星体的一门学科。

控制测量学是研究精确测定和描绘地面控制点空间位置及其变化的学科。

控制测量是在大地测量学基本理论基础上以工程建设测量为主要服务对象而发展和形成的。

可以说大地测量学是控制测量学的理论指导,控制测量是大地测量在工程实践中的具体应用。

2、 结合自己的感受,说明学习本课程的目的。

略3、 有两个已知点A 、B ,在A 上架全站仪观测P 点坐标,如图1。

两已知点坐标分别为: A :(100,200),B :(200,300)但在现场操作全站仪时,误将测站A 的坐标输为另一个控制点C 的坐标(200,250),用坐标定向时又误将控制点D 的坐标(200,400)当作B 点输入了仪器,此时测得P 点的 坐标为(300,300),试求P 点的真实坐标应该是多少?(提示:先建以A 为原点的辅助坐标系旋转,再平移)解:(以数学坐标系解,以便和教材公式对应,也可以测量坐标系解,见后图)一、以A 点为原点建立辅助坐标系: 1、 由于先误以C 、D 点数据观测的P 点坐标,设C (A )点为原点,因为αCD =90O ,故CD(AB)方向为90度方向即Y ’’轴,顺时针90度方向为X ’’轴。

P 点在此坐标系中坐标为[x ’’,y ’’]T =[100,50]T2、 实际上αAB =45O ,故以A 点为原点,以真实的方向建立坐标系:AB 逆时针45O 为Y ’轴,顺时针为45O X ’。

此坐标系可由X ’’CY ’’逆时针转θ=45O 得到。

故P 点在此坐标系中坐标为:⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡''''cos sin sin cos ''y x y x θθθθ二、坐标系平移:前述[x ’,y ’]T 为以A 点为原点建立的坐标系,实际情况为A 点坐标为(100,200),即将X ’AY ’平移Δx=100, Δy=200可得P 点在XOY 坐标系中实际坐标:⎥⎦⎤⎢⎣⎡∆∆+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡y x y x y x ''''cos sin sin cos θθθθ 三、代入数据⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡645.164066.2062001005010045cos 45sin 45sin 45cos O O O Oy x从测量坐标系中求解示意图,注意:测量坐标系的欧勒角正方向为顺时针。

《大地测量学基础》试题

《大地测量学基础》试题

一、解释下列术语(每个2分,共10分)大地水准面球面角超底点纬度高程异常水准标尺零点差二、填空(1-15小题每空1分;16题4分,共36分)1、在地球自转中,地轴方向相对于空间的变化有______和_____。

2、时间的度量单位有______和______两种形式。

3、重力位是______和_____之和,重力位的公式表达式为_______。

4、椭球的形状和大小一般用_______来表示。

5、在大地控制网优化设计中把_____、______和_____作为三个主要质量控制标准。

6、测距精度表达式中,的单位是______,表示的意义是_____;的单位是______,表示的意义是_____。

7、利用测段往返不符值计算的用来衡量水准测量外业观测的精度指标用_____来表示,其意义是______。

8、利用闭合环闭合差计算的用来衡量水准测量外业观测的精度指标用_____来表示,其意义是______。

9、某点在高斯投影3°带的坐标表示为XA=3347256m, YA=37476543m,则该点在6°带第19带的实际坐标为xA=___________________,yA=___________________。

10、精密水准测量中每个测段设置______个测站可消除水准标尺______零点差的影响。

11、点P从B=0°变化到B=90°时,其卯酉圈曲率半径从______变化到_____。

12、某点P的大地纬度B=30°,则该点法线与短轴的交点离开椭球中心的距离为_____。

13、高斯投影中,_____投影后长度不变,而投影后为直线的有_____,其它均为凹向_____的曲线。

14、大地线克莱劳方程决定了大地线在椭球面上的_______;在椭球面上某大地线所能达到的最大纬度为60°,则该大地线穿越赤道时的大地方位角表达式为_____(不用计算出数值)。

白塞尔大地主题正反算

白塞尔大地主题正反算

地球椭球 CGCS2000 6378137 6356752.314 6399593.626 1/298.257222101 0.00669438 0.006739497 第一偏心率e2= 第一偏心率e‘2= sinu1= cotσ1= A0= B= β= cos2(σ1+σ0)= sinu2= 大地方位角A21= 第一偏心率e2= u1= u2= cos(2σ‘1+Δσ‘)= ω2 = ω5 = s2= s5= 大地方位角A21= u1= u2= cos(2σ‘1+Δσ‘)= ω2 = ω5 = s2= s5=
2
克拉索夫斯基椭球 BJ54 6378245 6356863.019 6399698.902 1/298.3 0.006693422 0.006738525 BJ54 35°00′00.000000″ 35°00′00.000000″ 0.820055451 1.9591E-09 0.002206928 0.241484809 0.002515577 0.002514192 34°59′59.544529″ BJ54 35°00′00.000000″ 35°00′00.000000″ 0.002508527 4.64788E-09 -4.15588E-09 0.003065877 9.19076E-10 16000.00241 34°59′59.544529″ 35°10′30.957713″ 0.002508527 4.64788E-09 -4.15588E-09 0.003065877 9.19076E-10
IUGG--1979椭球 WGS84 6378137 6356752.314 6399593.626 1/298.257223563 0.00669438 0.006739497 6356863.019 89°59′59.999859″ 16000 0.820055451 -1 6360368.854 0.003351407 -0.005031132 6.90795E-06 35°10′30.957713″ 6378245 34°59′59.544529″ 35°10′30.957713″ 0.820055451 0.003358976 9.24261E-07 0.999451116 -0.000548959 90°00′00.000141″ 35°00′00.000000″ 35°00′00.000000″ 0.820055451 0.003358976 9.24261E-07 0.999451116 -0.000548959

大地主题解算方法综述

大地主题解算方法综述
2) 以勒让德级 数为基础的公式中, 最典型的代 表应该
是高斯平均 引数 公式 [2O4] 。高斯 ( G auss)提 出把 勒让德 级数 式改化成以 P1、P2 ( P1, P 2 为 大地椭 球面上 的两点 ) 两点 的平均纬度和平 均方 位角为 根据。这 样勒 让德 级数式 中所
第 4期
周振宇等 大地主题解算方法综述
时, 公式还可以得到简化。 3) 用龙格 ) 库塔 ( R ungeOK utta) 法 [ 5] 解 大地 线微 分方
程。它的实质是 用若 干点的 函数 值的线 性组 合, 代替 泰勒
级数展开中 的导数 计算, 又 可保 持必要 的精 度。对于 短距
离大地主题 解算, 可 以只 取一 步; 如果距 离较 长, 可 以分
( L1, B1 ) 和 P 2 ( L2, B2 ) 点间的大地线弧长 S 积分得:
Q B2 - B1 =
p2 cosAdS p1 M
Q L2 - L1 =
p2 p1
N
s inA cosB
dS
( 2)
Q A 2 - A 1 ? 180b=
p2 tanB sinA dS
p1
N
在初等函数 中这 些积分 不能 计算, 所 以其 精确值 不能
椭球的过渡。
白塞尔 ( Besse l) 首先提出并解决了投影条件, 使这一解
法得以实现。
这类公式的特点是计算 公式展 开 e2 或 的幂级 数, 解算
精度与距离 长短无 关。因此 它既 适用于 短距 离解 算, 也适 用于长距离 解算 [ 5] 。其主 要缺 点在 于: 由 S 求 R、由 L 求 K, 或相反的运算, 需要进行迭代。同时还要预先 计算辅助
种, 其中大部 分适用 于短 距离, 一 部分适 用于 中距 离, 只 有几种适用 于长距 离。这几 十种 方法虽 然形 形色色 , 各有 不同, 但 就 其推 导 的 理 论 基 础来 说, 大 致 可 归纳 为 以 下 五类。

白塞尔大地主题解算(正算和反算)

白塞尔大地主题解算(正算和反算)

大地测量实验报告实验名称:白塞尔大地主题解算(正算和反算)实验目的:1.通过编写白塞尔大地主题电算程序进一步掌握白塞尔法解算大地主题的基本思想。

2.熟练掌握将椭球面上的大地元素按照白塞尔投影条件投影到辅助球面上,继而在球面上进行大地主题解算,最后再将球面上的计算结果换算到椭球面上的基本方法和步骤。

3.学会掌握计算机编程的基本能力。

实验环境:Microsoft Visual C++注意事项:1.在编写程序的过程当中要注意代码的前后统一和重复。

2.注意数值类型的转换和度分秒的换算。

实验步骤:正算:1.计算起点的规划纬度2.计算辅助函数值3.计算系数A,B,C及d,e.4计算球面长度5.计算经度差改正数6.计算终点大地坐标及大地方位角。

反算:1.进行计算辅助函数值2.用逐次趋近法同时计算起点大地方位角、球面长度及经差。

3.计算系数A,B,C及大地线长度S.4.计算反方位角及确定符号。

程序源代码:正算:#include<stdio.h>#include<math.h>#define ee 0.006694384999588#define I 3.141592653double F(double,double,double);void main(void){double A1,B1,L1,S,A2,B2,L2; double x1,x2,x3,y1,y2,y3,z1,z2,z3; double W1,sinu1,sinu2,cosu1,sinA0;doublecota1,cos2a1,sin2a1,cosA0A0;double A,B,C,d,e,a0,a1,m;double n,a,Q,R;printf("请输入数据B1= "); scanf("%lf %lf %lf",&x1,&x2,&x3);B1=F(x1,x2,x3);printf("请输入数据L1= "); scanf("%lf %lf %lf",&y1,&y2,&y3);L1=F(y1,y2,y3);printf("请输入A1= ");scanf("%lf %lf %lf",&z1,&z2,&z3);A1=F(z1,z2,z3);printf("请输入S= ");scanf("%lf",&S);printf("B1=%f\n",B1);printf("L1=%f\n",L1);printf("A1=%f\n",A1);printf("S=%f\n",S);/*计算起点的规划纬度*/W1=sqrt(1-ee*sin(B1)*sin(B1));sinu1=sin(B1)*sqrt(1-ee)/W1;cosu1=cos(B1)/W1;printf("W1=%f\n",W1);printf("sinu1=%f\n",sinu1);printf("cosu1=%f\n",cosu1);/*计算辅助函数值*/sinA0=cosu1*sin(A1);cota1=cosu1*cos(A1)/sinu1;sin2a1=2*cota1/(cota1*cota1+1);cos2a1=(cota1*cota1-1)/(cota1*cota1+1);printf("sinA0=%f\n",sinA0);printf("cota1=%f\n",cota1);printf("sin2a1=%f\n",sin2a1);printf("cos2a1=%f\n",cos2a1);/*计算系数ABC及de*/cosA0A0=1-sinA0*sinA0;A=6356755.288+(10710.341-(13.534*cosA0A0))*cosA0A0;B=(5355.171-9.023*cosA0A0)*cosA0A0;C=(2.256*(cosA0A0))*cosA0A0+0.006;d=691.46768-(0.58143-0.00144*cosA0A0)*cosA0A0;e=(0.2907-cosA0A0*0.0010)*cosA0A0;printf("cosA0A0=%f\n",cosA0A0);printf("A=%f\n",A);printf("B=%f\n",B);printf("C=%f\n",C);printf("d=%f\n",d);printf("e=%f\n",e);/*计算球面长度*/a0=(S-(B+C*cos2a1)*sin2a1)/A;m=sin2a1*cos(2*a0)+cos2a1*sin(2*a0);n=(cos2a1)*(cos(2*a0))-(sin2a1)*(sin(2*a0));a=a0+((B+5*C*n))*m/A;printf("a0=%f\n",a0);printf("m=%f\n",m);printf("n=%f\n",n);printf("a=%f\n",a);/*计算经度差改正数*/Q=(d*a+(e*(m-sin2a1))/3600/180*I)*sinA0;printf("Q=%f\n",Q);/*计算终点大地坐标及大地方位角*/sinu2=sinu1*cos(a)+cosu1*cos(A1)*sin(a);B2=180*atan(sinu2/((sqrt(1-ee))*(sq rt(1-sinu2*sinu2))))/I;R=180*atan(sin(A1)*sin(a)/(cosu1*co s(a)-sinu1*sin(a)*cos(A1)))/I;printf("sinu2=%f\n",sinu2);printf("B2=%f\n",B2);printf("R=%f\n",R*180/I);/*确定R的值*/if(sin(A1)>0 && tan(R)>0)R=abs(R);else if(sin(A1)>0 && tan(R)<0)R=I-abs(R);else if(sin(A1)<0 && tan(R)<0)R=-abs(R);elseR=abs(R)-I;/*确定L2A2的值*/L2=(L1*180/I+R-(Q/206265*180/I));A2=atan(cosu1*sin(A1)/(cosu1*cos(a) *cos(A1)-sinu1*sin(a)));if(sin(A1)<0&&tan(A2)>0)A2=(fabs(A2))*180/I;else if(sin(A1)<0&&tan(A2)<0)A2=(I-fabs(A2))*180/I;else if(sin(A1)>0&&tan(A2)>0)A2=(I+fabs(A2))*180/I;elseA2=(2*I-fabs(A2))*180/I;printf("A2=%3f\n B2=%3f\nL2=%3f\n",A2,B2,L2);}double F(double a2,double b2,doublec2){double d2;d2=(double)(a2+1.0*b2/60+1.0*c2/3600);d2=(d2/180)*I;return (d2);}注:A1,B1,L1,S分别为大地线起点的大地方位角、纬度、经度、大地线长;B2,L2,A2为大地线终点纬度、经度及方位角。

2024年大地测量学基础(高起专)-地质大学考试题库及答案

2024年大地测量学基础(高起专)-地质大学考试题库及答案

下载温馨提示:该文档是学者精心编制而成,希望能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,我们为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!大地测量学基础(高起专)单选题1. _______要求在全球范围内椭球面与大地水准面有最佳的符合,同时要求椭球中心与地球质心一致或最为接近。

(A) 地心定位(B) 单点定位(C) 局部定位(D) 多点定位标准答案是::A2. _______用于研究天体和人造卫星的定位与运动。

(4分)(A) 参心坐标系(B) 空间直角坐标系C) 天球坐标系(D) 站心坐标系标准答案是::C3. 地球坐标系分为大地坐标系和_______两种形式。

(4分)(A) 天球坐标系(B) 空间直角坐标系(C) 地固坐标系(D) 站心坐标系标准答案是::B4. 地球绕地轴旋转在日、月等天体的影响下,类似于旋转陀螺在重力场中的进行,地球的旋转轴在空间围绕黄极发生缓慢旋转,形成一个倒圆锥体,旋转周期为26000年,这种运动成为_______。

(4分)(A) 极移(B) 章动(C) 岁差(D) 潮汐标准答案是::C5. 以春分点作为基本参考点,由春分点周日视运动确定的时间,称为_______。

(4分)(A) 恒星时(B) 世界时(C) 协调世界时(D) 历书时标准答案是::A多选题6. 下列属于参心坐标系的有:_______。

(4分)(A) 1954年北京坐标系(B) 1980年国家大地坐标系(C) WGS-84世界大地坐标系(D) 新1954年北京坐标系标准答案是::A,B,D7. 下列关于大地测量学的地位和作用叙述正确的有:_______。

(4分)(A) 大地测量学在国民经济各项建设和社会发展中发挥着基础先行性的重要保证作用。

白塞尔大地主题正解

白塞尔大地主题正解

o1 o2 − o3
据 sin A1 , tan A2 符号,给 A2 取值,化为度分秒,0.0001 秒 注: e 2 = 6.693 421623 ×10−3 ρ o = 57.295 779 513 082 32 ρ ′′ = 206 264.806 247 096
4
m
δ = m ⋅ sin A0
δ δ ′′
n1 n2 n3
δ ′′ = δ ⋅ ρ ′′
n1 = sin A1 ⋅ sin σ o n2 = cos µ1 ⋅ cos σ o n3 = sin µ1 ⋅ sin σ o ⋅ cos A1
λ = arctan
n1 n2 − n3
λ λ
据 sin A1 , tan λ 符号,给 λ 取值,并化为度分秒,0.0001 秒
4. 系数 α , β 计算
2 2 −10 α = 33 523 299 − (28 189 − 70 cos A0 ) cos A0 ×10
α
β = (14 094.3 − 46.8cos 2 A0 ) cos2 A0 × 10−10
5. 球面长度计算 g1 = C ⋅ cos 2σ 1 g 2 = ( B + g1 ) sin 2σ 1 g = S − g2
σ
σo
取小数点后 9 位
k
sin µ2 B2 B2 取有效数字 10 位 m1 m2
B2 = arctan
sin µ2 z ⋅ 1 − sin 2 µ2
将 B2 化为度分秒形式,取位至 0.0001 秒 7. 终点大地经度计算 m1 = β (h − sin 2σ 1 ) m2 = α ⋅ σ m = m1 + m2
44 797.282 6 m

4 地面观测值归算至椭球面

4 地面观测值归算至椭球面
47
5.依据大地线外的其他线为基础。 连接椭球面两点的媒介除大地线之外,当然
还有其他一些有意义的线,比如弦线、法截线 等。利用弦线解决大地主题实质是三绝大地切 量问题,由电磁波测距得到法截线弧长。所以 对三边测量的大地主题而言,运用法截弧进行 解法有其优点。当然,这些解算结果还应加上 归化至大地线的改正。
39
二、电磁波测距的归算
将上式按反正弦函数展开级数,舍去五次项,得
40
4.3 大地测量主题解算概述
4.3.1 大地主题解算的一般说明
大地元素:大地经度L、大地纬度B、两点间的大地 线长度S及其正反大地方位角A12、A21。
大地主题解算:如果知道某些大地元素推求另一些 大地元素,这样的计算问题就叫大地主题解算,大地主 题解算有正解和反解。
法截面和法截线:
过椭球面上任意一点可 作一条垂直于椭球面的法线, 包含这条法线的平面叫作法 截面;法截面与椭球面的交 线叫法截线。
3
4.1.1 椭球面上的几种法截线的曲率半径
一、子午圈曲率半径
子午椭圆的一部分上取一微 分弧长DK=dS,相应地有坐标 增量dx,点n是微分弧dS的曲率 中心,于是线段Dn及Kn便是子 午圈曲率半径M。
不在同一子午圈或同一
平行圈上的两点的正反法
裁线是不重合的,它们之
间的夹角△;大地线是两
点间惟一最短线,而且位
于相对法截线之间,并靠
近正法截线。
22
二、大地线的定义和性质
在一等三角测量中,
数值可达干分之一二秒,可 见在一等或相当于一等三角 测量精度的工程三角测量中 是不容忽略的。
大地线与法截线长度之差 只有百万分之一毫米,所以 在实际计算中,这种长度差 异总是可忽略不计的。

大地测量学第四章-5大地测量主题解算

大地测量学第四章-5大地测量主题解算


2R
2
ab sin C
A A0 , 3
B B0 , 3
bc sin A ac sin B ab sin C 2 2 2
C C0 3
化算平面角需要球面角超,而球面角超的计算又需要平面 角,因此直接用球面角计算球面角超就带有误差。 当边长不大于90km时,这种误差小于0.0005″,故可直接 用球面角代替平面角计算球面角超ε
dB d 3 B B2 B1 B ( ) M S ( 3 ) M S 3 5次项 dS 24 dS
三、高斯平均引数正算公式
(1)建立级数展开式: 同理可得:
dL d 3 L L2 L1 L ( ) M S ( 3 ) M S 3 5次项 dS 24 dS
Bm BM ,
Am AM
三、高斯平均引数正算公式
(3)求以Bm、Am为依据的导数: 经整理得:
2 Vm S2 2 2 B S cos Am {1 [sin 2 Am ( 2 3t m 2 m ) 2 Nm 24 N m 2 2 2 2 3 m cos 2 Am ( 1 m 9 m t m )]} 5次
第四章 Ⅴ大地测量主题解算
——大地主题解算思路 ——勒让德级数式 ——高斯平均引数正算公式 ——高斯平均引数反算公式
上一讲应掌握的内容 1、垂线偏差改正 垂线偏差对水平方向的影响 "u ( "sin A1 "cos A1) tan 1 2、标高差改正 e2 由照准点高度而引起的改正 "h H 2 cos2 B2 sin 2 A1
以大地线在大地坐标系中的微分方程为基础 主要特点:解算精度与距离有关,距离越长, 收敛越慢,因此只适用于较短的距离。 典型解法:高斯平均引数法

白赛尔大地主题解算

白赛尔大地主题解算

11
Fundation of Geodesy
(1)建立级数展开式:
S
S
MP2 2 , MP1 2
B2
BM
(
dB dS
)M
S 2
1 d2B 2 ( dS 2 )
S2 4
1 d3B 6 ( dS 3 )
S3 8
B1 BM
(
dB dS
)M
S 2
1 d2B 2 ( dS 2 )M
S2 4
1 6
(
B
(
dA dS
)
dB dS
A
(
dA dS
)
dA dS
V2 c2
sin
Acos
A(1
2t
2
2
)
(4 194)
▪ 三阶导数
d3B dS 3
V5 c3
cos
A[sin2
A(1
3t 2
2
9 2t 2 )
3 2
cos2
A(1
t2
2
5η2t 2 )]
d 3L 2V 2 dS3 c2 t sec B sin Acos A
计算范例
23
Fundation of Geodesy
24
Fundation of Geodesy
25
Fundation of Geodesy
四、白塞尔大地问题解算
德国天文学家、数学家Bessel (1784~1846)
26
Fundation of Geodesy
上节知识点回顾
2 4
1 3
2 4
A" t01 L" t21B"2 L" t03 L"3

vb白塞尔大地主题解算

vb白塞尔大地主题解算
仅体现计算过程,不包含定义、输入输出部分
正算:
eps = e2 / (1 - e2)
b = a / Sqr(1 + eps)
u1 = Atn(Sqr(1 - e2) * Tan(B1))
sinA0 = Cos(u1) * Sin(A1)
cosA0 = Sqr(1 - sinA0 * sinA0)
xk4 = xk2 * xk2
xk6 = xk4 * xk2
alpha = (1 - xk2 / 4 + 7 * xk4 / 64 - 15 * xk6 / 256) / b
beta = xk2 / 4 - xk4 / 8 + 37 * xk6 / 512
gamma = xk4 / 128 - xk6 / 128
cosA0 = Sqr(1 - sinA0 * sinA0)
e4 = e2 * e2
e6 = e4 * e2
xk2 = e2 * cosA0 * cosA0
xk4 = xk2 * xk2
xk6 = xk4 * xk2
alpha1 = (e2 / 2 + e4 / 8 + e6 / 16) - e2 * (1 + e2) * xk2 / 16 + 3 * xk4 * e2 / 128
beta = xk2 / 4 - xk4 / 8 + 37 * xk6 / 512
gamma = xk4 / 128 - xk6 / 128
sgm = alpha * S
Do
sgm0 = sgm
sgm = alpha * S + beta * Sin(sgm0) * Cos(2 * sgm1 + sgm0)

大地测量学基础习题

大地测量学基础习题

⼤地测量学基础习题《⼤地测量学基础》习题集1、现代⼤地测量学由哪三部分组成2、⼤地测量学的发展经历了哪⼏个阶段,各阶段有哪些主要贡献?3、⼏何⼤地测量学的基本任务是什么?4、物理⼤地测量学的基本任务是什么?7、离⼼⼒位函数可如何表⽰8、地球正常椭球可⽤哪⼏个基本参数确定?9、WGS-84地球椭球的有哪些⼤地基准常数?10、⾼出地⾯3 ⽶,正常重⼒值减少多少Gal?为什么?11、我国东部沿海海⽔⾯总趋势如何?13、⼀般地,椭球上⼀点的⼤地纬度B、球⼼纬度φ和归化纬度µ的⼤⼩关系如何?14、椭球长短轴a、b与第⼀偏⼼率e关系为:e=(a-b)/a,则椭球长短轴a、b与第⼆偏⼼率e’关系如何?15、椭球⾯上的⼀点的法线界于椭球⾯与短轴之间的长度,则长轴以上的长度等于多少,在长轴以下的长度等于多少?16、椭球⾯上的⼀点的卯⾣曲率半径等于界于椭球⾯与短轴之间的长度,为什么?17、垂线偏差µ在⼦午圈和卯⾣圈分量分别为ξ、η,在⼤地⽅位⾓为A的法截⾯的投影分量可如何表⽰?19、地⾯任点的正⾼含义如何?22、实际重⼒位与正常重⼒位之差如何?24、卯⾣圈曲率半径随纬度的增⼤如何?25、球⾯及椭球⾯上两点间的最短距离是两点间的直线吗?为什么?28、从解析意义来讲,⼤地测量主题解算含义如何?29、⼤地测量主题正算是指已知⼀点的⼤地坐标(L1,B1)和P1⾄P2点的⼤地线长S及⼤地⽅位⾓A12,推求P2点的⼤地坐标(L2,B2)和⼤地线在P2点的反⽅位⾓A2130、勒让德级数法⼤地测量主题解算的实质如何?31、⼤地测量学为了解决地⾯同椭球⾯的⽭盾及椭球⾯与平⾯的⽭盾,必须进⾏⼤地测量主题解算与平⾯投影计算,为什么?34、⾼斯投影含义如何?35、正形投影的两个基本要求如何?36、椭球⾯上⼤地线长度化S为⾼斯平⾯长度D近似公式如何?38、建⽴⼤地坐标系包括哪三个⽅⾯要求?39、⼤地坐标系统按椭球基准可分⼏种?40、⼤地坐标系统按坐标表⽰⽅式可分⼏种?41、坐标系统按与地球转动关系可分⼏种?42、参考椭球定位与定向的⽅法可分⼏种?44、国家⼀等三⾓锁为何⼀般布设为沿⽹状?47、J2仪器观测限差分⼏种?48、⼀测站4⽅向6测回的⽅向测回总数为多么?为何?50、传统平⾯⼤地控制⽹分为四个等级,测⾓中误差分别如何?51、国家平⾯控制⽹建⽴⽅法主要有⼏种?52、⽔准⽹的布设包括哪⼏部分?53、精度估算是指估算推算元素的精度?估算的基本公式如何?54、在三⾓测量概算中,计算近似边长的⽬的是为了计算归⼼改正,近似坐标、球⾯⾓超及三⾓⾼程?55、影响精密测距的主要因素哪三项?56、任何复杂的三⾓⽹都是由哪三种图形组成,如何?57、⾼斯投影不存在⾓度变形,但存在长度变形(除中央⼦午线外),且离中央⼦午线愈远变形,为什么?60、测⾓的主要误差来源包括哪些来源?61、将实地观测值化⾄⾼斯平⾯⽅向值需加⽅向改正,对三、四等三⾓测量可不加垂线偏差改正、截⾯差改正和标⾼正改正,为什么?62、⽤菲列罗公式计算中误差的数学表达式如何?63、三⾓点的点位设置主要包括⼏个步骤?64、我国计算⾼程的统⼀系统什么?65、三⾓⾼程属于系统吗?66、⾼斯坐标换带通常采⽤哪⼏种⽅式进⾏?67、电磁波测距以载波的⽅法不同分类如何?按测距的⽅法不同分类如何?68、电磁波测距分类有⼏种⽅法?69、精密⽔准测量与普通⽔准测量有何差别?69、我国经纬仪分为哪个系列?70、⽔准仪分有哪⼏系列?73、相位式测距仪主要有哪⼏种?74、S1⽔准仪进⾏⼆等⽔准测量时,其视线长度不得⼤于多少?75、30带范围内的最⼤长度变形相当于60带范围内的最⼤长度变形多少?为什么?76、三⾓⽹推算元素的精度与哪些因素有关?77、⼀测回中的重测⽅向数超过测站⽅向数时,应如何处理。

大地主题解算(深度干货-超精)

大地主题解算(深度干货-超精)

大地主题解算(正算)代码与白塞尔大地主题解算大地主题解算(正算)代码:根据经纬度和方向角以及距离计算另外一点坐标新建模块->拷贝下面的大地主题(正算)代码,调用方法示例:起点经度:116.235(度)终点纬度:37.435(度)方向角:50(度)长度:500(米)终点经纬度("经度,纬度")=Computation(37.435,116.235,50,500)Const Pi = 3.1415926535898Private a, b, c, alpha, e, e2, W, V As Double'a 长轴半径'b 短轴'c 极曲率半径'alpha 扁率'e 第一偏心率'e2 第二偏心率'W 第一基本纬度函数'V 第二基本纬度函数Private B1, L1, B2, L2 As Double'B1 点1的纬度'L1 点1的经度'B2 点1的纬度'L2 点2的经度Private S As Double '''''大地线长度Private A1, A2 As Double'A1 点1到点2的方位角'A2 点2到点1的方位角Function Computation(STARTLAT, STARTLONG, ANGLE1, DISTANCE As Double) As StringB1 = STARTLATL1 = STARTLONGA1 = ANGLE1S = DISTANCEa = 6378245b = 6356752.3142c = a ^ 2 / balpha = (a - b) / ae = Sqr(a ^ 2 - b ^ 2) / ae2 = Sqr(a ^ 2 - b ^ 2) / bB1 = rad(B1)L1 = rad(L1)A1 = rad(A1)W = Sqr(1 - e ^ 2 * (Sin(B1) ^ 2))V = W * (a / b)Dim W1 As DoubleE1 = e ''''第一偏心率'// 计算起点的归化纬度W1 = W ''Sqr(1 - e1 * e1 * Sin(B1 ) * Sin(B1 )) sinu1 = Sin(B1) * Sqr(1 - E1 * E1) / W1cosu1 = Cos(B1) / W1'// 计算辅助函数值sinA0 = cosu1 * Sin(A1)cotq1 = cosu1 * Cos(A1)sin2q1 = 2 * cotq1 / (cotq1 ^ 2 + 1)cos2q1 = (cotq1 ^ 2 - 1) / (cotq1 ^ 2 + 1)'// 计算系数AA,BB,CC及AAlpha, BBeta的值。

大地主题解算实习任务书

大地主题解算实习任务书

大地主题解算实习任务书1.目的参考椭球面是大地测量计算的基准面。

大地坐标是椭球面上的基本坐标系,根据大地测量的观测成果(如距离与方向),从大地原点出发,逐点计算在椭球面上的大地坐标;或根据两点的大地坐标,计算它们之间的大地线长度和大地方位角,这类计算称为大地问题解算(或称为大地主题解算)。

大地问题解算的用途是多方面的,随着现代空间技术和航空航天、航海等领域的发展,大地问题解算(尤其是大地反算)有着更为重要的作用。

因此要求学生熟练掌握其计算。

2. 要求与任务在《大地测量学基础》教材中,介绍了高斯平均引数法与白塞尔方法的计算过程、步骤。

鉴于此,要求学生熟练掌握高斯平均引数法与白塞尔方法解大地主题问题的基本方法与原理。

采用所熟悉的计算机语言编程计算。

计算时采用克拉索夫椭球参数,完成基于高斯平均引数法的大地主题正反算,学生按照数据序号选取不同的已知数据,在计算结果中注明所选取的数据序号,选取其它数据作为无效数据处理。

3.计算数学模型大地主题解算的数学模型请参照《大地测量学基础》教材,这里给出两种计算方法的计算公式,供大家编程参考。

如计算公式与课本冲突,以课本为准。

3.1高斯平均引数大地问题解算1)高斯平均引数正算计算公式(200<S km ) (1)计算辅助量公式⎪⎪⎪⎪⎪⎭⎪⎪⎪⎪⎪⎬⎫==--=-=-= cos tg )sin 1()1(sin 1 122'322222222'B e B t B e e a M B e aN ee e η (2) 计算''B ∆、''L ∆、''A ∆ 的初值⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫∆=⋅=∆⋅=∆⋅=∆1"0111""0111""011"''0sin tan sin sin cos cos B L B A S N A A S B N L A S M B ρρρ(3)计算m B 、m L 、m A⎪⎪⎪⎭⎪⎪⎪⎬⎫∆+=∆+=∆+=01"01"01212121A A A L L L B B B m m m(4)再次计算''B ∆、''L ∆、''A ∆}"2"2222222222cos {1[sin (232)3cos (14)]24m m m m m m m m m m m mS B S A A t A t t M N ρηηηη∆=⋅++++---⎭⎬⎫⎩⎨⎧-+-+=∆)]91(cos sin [241sin cos 22222222""m m m m m m m m m m t A A t N S A S B N L ηηρ "2"222242222sin {1[cos (2795)sin (22)]} 24m m m m m m m m m m m mS A S A t A t A t N N ρηηηη∆=+++++++(5)重复计算(3),直到计算满足⎪⎭⎪⎬⎫<∆-∆<∆-∆<∆-∆+++εεε""1""1""1i i i i i i A A L L B B如按弧度计算可取10101-⨯=ε,按角度计算可取"0001.0=ε。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正算流程:
1.计算起点的归化纬度
2.计算辅助函数值,解球面三角形
3.按公式计算相关系数A,B,C以及α,β
4.计算球面长度
5.计算纬度差改正数
6.计算终点大地坐标及大地方位角
反算流程:
1.辅助计算
2.用逐次趋近法同时计算起点大地方位角、球面长度及经差,第一次趋近时,取δ=0。
计算下式,重复上述计算过程2.
C=(2.238*(1-sinA0*sinA0))*(1-sinA0*sinA0)+0.006;
afa=691.46768-(0.58143-0.00144*(1-sinA0*sinA0))*(1-sinA0*sinA0);
beta=(0.2907-1.0E-3*(1-sinA0*sinA0))*(1-sinA0*sinA0);
sigma=sigma0+(B+5*C*cos2)*sin2/A;
delta=(afa*sigma+beta*(sin2-sin2sigma1))*sinA0; //计算经度差改正数
delta=delta/3600*pi/180;
sinu2=sinu1*cos(sigma)+cosu1*cos(A1)*sin(sigma);
B1=(B10+(float)B11/60+B12/3600)*pi/180;
L1=(L10+(float)L11/60+L12/3600)*pi/180;
A1=(A10+(float)A11/60+A12/3600)*pi/180;
W1=sqrt(1-e*e*sin(B1)*sin(B1)); //计算起点规划纬度
白塞尔大地主题解算
白塞尔大地主题解算
方向:
学号:
姓名:
一.基本思路:
基本思想:将椭球面上的大地元素按照白塞尔投影条件投影到辅助球面上,继而在球面上进行大地主题解算,最后在将球面上的计算结果换算到椭球面上。其关键问题是找出椭球面上的大地元素与球面上相应元素之间的关系式,同时解决在球面上进行大地主题解算的方法。
void main()
{
int k,B10,B11,L10,L11,A10,A11,B20,B21,L20,L21,A20,A21;
double B12,L12,A12,B22,L22,A22;
double B1,L1,A1,S,B2,L2,A2,L,pi;
double A,B,C,afa,beta;
B2=atan(sinu2/(sqrt(1-e*e)*sqrt(1-sinu2*sinu2)));
lamda=atan(sin(A1)*sin(sigma)/(cosu1*cos(sigma)-sinu1*sin(sigma)*cos(A1)));
if(sin(A1)>0)
{
if(tan(lamda)>0)
sinu1=sin(B1)*sqrt(1-e*e)/W1; //计算起点规划纬度
cosu1=cos(B1)/W1; //计算起点规划纬度
sinA0=cosu1*sin(A1); //计算辅助函数值
cotsigma1=cosu1*cos(A1)/sinu1; //计算辅助函数值
sin2sigma1=2*cotsigma1/(cotsigma1*cotsigma1+1); //计算辅助函数值
if(sin(A1)>0)
{
if(tan(A2)>0)
A2=pi+fabs(A2);
else
A2=2*pi-fabs(A2);
}
else
{
if(tan(A2)>0)
A2=fabs(A2);
else
A2=pi-fabs(A2);
}
B2=B2*180*3600/pi;
sigma0=(S-(B+C*cos2sigma1)*sin2sigma1)/A;
sin2=sin2sigma1*cos(2*sigma0)+cos2sigma1*sin(2*sigma0);
cos2=cos2sigma1*cos(2*sigma0)-sin2sigma1*sin(2*sigma0);
double a1,a2,b1,b2,p,q,x,y;
double W1,W2,sinu1,sinu2,cosu1,cosu2,sinA0,cotsigma1,sin2sigma1,cos2sigma1,sigma0,sin2,cos2,sigma,sins,coss,delta0,delta,lamda;
pi=4*atan(1);
printf("白塞尔大地主题正算请输入1\n白塞尔大地主题反算请输入2\n");
scanf("%d",&k);
if(k==1)
{
printf("请输入大地线起点纬度B经度L,大地方位角A及大地线长度S:\n");
scanf("%d%d%lf%d%d%lf%d%d%lf%lf",&B10,&B11,&B12,&L10,&L11,&L12,&A10,&A11,&A12,&S);
cos2sigma1=(cotsigma1*cotsigma1-1)/(cotsigma1*cotsigma1+1); //计算辅助函数值
A=6356863.020+(10708.949-13.474*(1-sinA0*sinA0))*(1-sinA0*sinA0);
B=(5354.469-8.798*(1-sinA0*sinA0))*(1-sinA0*sinA0);
lamda=fabs(lamda);
else
lamda=pi-fabs(lamda);
}
else
{
if(tan(lamda)>0)
lamda=fabs(lamda)-pi;
else
lamda=-1*fabs(lamda);
}
L2=L1+lamda-delta;
A2=atan(cosu1*sin(A1)/(cosu1*cos(sigma)*cos(A1)-sinu1*sin(sigma)));
3.计算大地线长度S
4.计算反方位角
二.已知数据
序号
B1(DD.MMSS)
L1 (DD.MMSS)
A12(DD.MMSS)
S12(m)
1
41.01356874
130.10122676
1.4943
8000
三.源代码:
#include <stdio.h>
#include <math.h>
#define e 0.081813334016931499 //克拉索夫斯基椭球体第一偏心率
相关文档
最新文档