大地主题解算方法综述
白塞尔大地主题算法
1.球面上大地主题正解方法
此时已知量:φ 1,α1及σ;要求量:φ 2,α2及λ. 首先按(i)式计算 ,继而用下式计算φ 2球面上坐标关系式
如图13—4所示,在椭球 面极三角形PP1P2中.用B. L.S及A分别表示大地线上某 点的大地坐标,大地线长及其 大地方位角。在球面极三角形 P'P1'P2'中,与之相应,用φ , λ,σ及α分别表示球面大圆弧 上相应点的坐标,弧长及方位 角。
M-子午圈曲率半径 N-卯酉圈曲率半径
M=N=1
为简化计算,白塞尔提出如下三个投影条件: 1 . 椭球面大地线投影到球面上为大圆弧; 2.大地线和大圆弧上相应点的方位角相等; 3.球面上任意一点的纬度等于椭球面上相应 点的归化纬度.
u-归化纬度,
r-平行圈半径,a-长半轴
(三)白塞尔微分方程的积分
(一)在球面上进行大地主题解算
如图13—3示,在球面上 有两点P1和P2,其中P1点的大 地纬度φ 1,大地经度λ1,P2点 大地纬度φ 2,大地经度λ2;P1 和P2点间的大圆弧长为σ, P1P2的方位角为α1,其反方位 角为α2,球面上大地主题正算 是已知φ 1,α1,σ,要求φ 2, α2及经差λ;反算问题是已知 φ 1,φ 2及经差λ,要求σ,α1及 α2。
(四)白塞尔法大地主题正算步骤
(五)白塞尔法大地主题反算步骤
白塞尔大地主题解算方法
白塞尔法解算大地主题的基本思想是将椭球面 上的大地元素按照白塞尔投影条件投影到辅助球 面上,继而在球面上进行大地主题解算,最后再 待球面上的计算结果换算到椭球面上。由此可见 ,这种方法的关键问题是找出椭球面上的大地元 素与球面上相应元素之间的关系式。同时也要解 决在球面上进行大地主题解算的方法。
白塞尔大地主题解算的基本思想
白塞尔大地主题解算的基本思想
首先,白塞尔大地主题解算的基本思想之一是建立地壳变形的力学模型。
地壳变形是地球表面的一项重要现象,是由于地质作用和地球内部力
学过程的结果。
地壳变形的力学模型是研究地壳变形的重要方法。
常见的
地壳变形的力学模型有弹性模型、弹塑性模型和拟弹性模型等。
这些模型
可以描述地壳的变形过程,通过对地壳的变形过程进行建模,可以更好地
理解地壳变形的机制和动力学过程。
其次,白塞尔大地主题解算的思想之一是研究现今地球表面的动力学
过程。
地球表面的动力学过程包括板块运动、地震活动、火山喷发等。
这
些过程在地球的长期演化中起着重要的作用。
通过对现今地球表面动力学
过程的研究,可以揭示地球内部的结构和动力学机制,进而更好地理解地
壳变形的成因和发展变化的规律。
第三,白塞尔大地主题解算的基本思想之一是研究地壳变形的成因。
地壳变形的成因是地壳运动的基本原因,也是地球科学研究的一个重要问题。
地壳变形的成因包括构造运动、地壳应力状态的改变、地震活动等。
通过研究地壳变形的成因,可以更好地了解地壳变形的机制和规律,进而
为地震预测和地壳运动的控制提供科学依据。
总之,白塞尔大地主题解算的基本思想是通过建立地壳变形的力学模型,研究现今地球表面的动力学过程,探究地壳变形的成因,揭示地壳变
形与地球动力学过程之间的相互关系,以推动地壳运动的理论和应用研究。
这一思想对于研究地壳运动的机制和规律,了解地壳变形的成因和动力学
过程,提高地震预测和地壳运动控制的水平具有重要意义。
大地主题解算方法综述
测绘科学 Sc ience o f Survey ing and M app ing
V o l132 N o14 Ju l1
大地主题解算方法综述
周振宇, 郭广礼, 贾新果
(中国矿业大学 环测学院, 江苏徐 州 221008)
【摘 要】大地主题解算是大地测量中的 重要问 题, 由于 椭球的 复杂性, 随 之产生 的解算 方法也 是多种 多样。本
和方位角差。
像这类方法 还有 很多, 就 不再一 一赘 述, 其 基本 原理
大致相同。
21 2 以白塞尔 大地投影为基础
可以近似认 为地球 椭球 的形状 与圆 球区 别不大。 在椭
球面上解算大地主 题问题 时可 借助于 球面 三角 学公式 简单
而严密的进 行。因此, 如 将椭 球面上 的大 地线长 度投 影到
在于: 解算精 度与距 离有 关, 距离 越长, 收敛 越慢, 因此
只适用于较短的距离。当公式 为四次项时 , 在中纬度 地区,
公式可用于 200km 以下的 大地主 题解算, 经纬 度计算 精度
可达 01 0001", 方位 角计 算精度 达 01001", 计算 边长 可精
确至厘 米。是 短 距离 解 算 的理 想 公式。 当距 离 小于 70km
椭球的过渡。
白塞尔 ( Besse l) 首先提出并解决了投影条件, 使这一解
法得以实现。
这类公式的特点是计算 公式展 开 e2 或 的幂级 数, 解算
精度与距离 长短无 关。因此 它既 适用于 短距 离解 算, 也适 用于长距离 解算 [ 5] 。其主 要缺 点在 于: 由 S 求 R、由 L 求 K, 或相反的运算, 需要进行迭代。同时还要预先 计算辅助
大地主题的数值解法
大地主题的数值解法范业明1,王解先1,2,刘慧芹1(1 同济大学测量与国土信息工程系,上海 200092;2 现代工程测量国家测绘局重点实验室,上海 200092)摘要:本文基于椭球面上大地线的微分方程,将法截弧方位角与大地线方位角之间的关系作为初始条件,通过用数值方法求解大地线的微分方程,进行大地主题的正反解。
并以实际数据验证了其正确性与可行性。
本法均采用封闭公式计算,精度高,公式简单,特别适用于计算机解算。
关键词:大地线;微分方程;数值解法中图分类号:P226+1文献标识码:BAbstract :Based on differential equation of geodesic on the surface of ellipsoid,the problem of direct and inverse solution of geodetic is solved through numerical method.The relationship of normal arc and geodesic is deduced and introduced as the initial condition for the differential equation.Numerical experiments are given,and the validity and feasibility of the method proposed in this paper have been proved.Besides,all the formulas are close,simple and easy to be realized by computer.Key words :geodesic;differential equation;numerical method 收稿日期:2006 02 15;修订日期:2006 05 10作者简介:范业明(1982-),男(汉族),辽宁沈阳人,硕士研究生.0 引言一直以来由于计算工具的限制,大地主题解算一般都采用级数展开形式,如短距离的高斯平均引数法,长距离的贝塞尔-赫尔默特方法等等。
白塞尔大地主题解算(正算和反算)
大地测量实验报告实验名称:白塞尔大地主题解算(正算和反算)实验目的: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为大地线终点纬度、经度及方位角。
椭球面上大地问题的解算概要
高斯平均引数公式
若取大地线中点展开,得:
2 2 3 3 dB S d B S d B S B2 BM 2 3 dS M 2 dS M 8 dS M 48
N
2 2 3 3 dB S d B S d B S B1 BM 2 3 dS M 2 dS M 8 dS M 48
2 dB cos A Vm cos Am 由大地线的微分公式: dS M Nm
由大地线的微分公式,得其一阶导数为:
dB cos A dS M dL sin A dS N cos B dA tan B sin A dS N
二阶和三阶导数采用复合函数求导法计算:
d 2 B dB dB dB dA 2 dS B dS dS A dS dS d 3 B d 2 B dB d 2 B dA 3 2 2 dS B dS dS A dS dS
同理可求出四阶以上的导数和L、A的高阶导 数,代入展开式即可。
三、 高斯平均引数正解公式
(一)基本思想
首先把勒让德级数在P1点展开改为在大地线 长度中点M展开,以使级数公式项数减少、收敛 快、精度高; 其次,考虑到求定中点M的复杂性,将M点用 大地线两端的平均纬度及平均方位角相对应的 m点来代替,并借助迭代计算,便可顺利的实现 大地问题的正解。
d2A S2 Am AM dS 2 8 M
1 Am A1 A2 2
1 Lm L1 L2 , 2
展开成级数,得: 2
dB dB dB dB Bm BM Am AM A dS m dS M dS m B dS m
大地测量学第四章-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
以大地线在大地坐标系中的微分方程为基础 主要特点:解算精度与距离有关,距离越长, 收敛越慢,因此只适用于较短的距离。 典型解法:高斯平均引数法
解算大地测量主题正算问题的两种数值方法
解算大地测量主题正算问题的两种数值方法
1、三角解析法:三角解析法是大地测量主题正算问题的一种数值方法,它的实现是由测量观测数据的精度所决定的。
通过测量得到的角度和距离,计算出两个观测点之间的差距。
此外,它也能计算出观测点到大地磁北极点的差距。
2、最小二乘法:最小二乘法是大地测量主题正算问题的另一种数值方法,它能够根据观测数据求出最优解。
它不仅可以计算出两个观测点之间的差距,而且还能够计算出观测点到大地磁北极点的差距。
白塞尔大地主题解算
白塞尔大地主题解算方向:学号:姓名:一.基本思路:基本思想:将椭球面上的大地元素按照白塞尔投影条件投影到辅助球面上,继而在球面上进行大地主题解算,最后在将球面上的计算结果换算到椭球面上。
其关键问题是找出椭球面上的大地元素与球面上相应元素之间的关系式,同时解决在球面上进行大地主题解算的方法。
正算流程:1.计算起点的归化纬度2.计算辅助函数值,解球面三角形3.按公式计算相关系数A,B,C 以及α,β4.计算球面长度5.计算纬度差改正数6.计算终点大地坐标及大地方位角011122S B C A{sin (cos )}σσσ=-+10101022222sin ()sin sin cos cos σσσσσσ+=+10101022222cos ()cos cos sin sin σσσσσσ+=-001101522B C A[cos ()]sin ()σσσσσσ=++++010122L A sin [(sin ()sin )]λδασβσσσ-==++-2111u u u A sin sin cos cos cos sin σσ=+2222222222222222222222111111111e u B u B W W u e B u u B B arctan e u e u sin sin cos cos tan tan sin sin tan cos -cos ⎧-==⎪⎪⎨⎪=-⎪⎩⎡⎤⎢⎥==--⎢⎥-⎣⎦1111A arctan u u A sin sin []cos cos sin sin cos σλσσ=-21L L λδ=+-112111u A A arctan u A u cos sin cos cos cos sin sin σσ⎡⎤=⎢⎥-⎣⎦反算流程:1.辅助计算2.用逐次趋近法同时计算起点大地方位角、球面长度及经差,第一次趋近时,取δ=0。
计算下式,重复上述计算过程2.3.计算大地线长度S4.计算反方位角二.已知数据序号B1(DD.MMSS)L1 (DD.MMSS)A12(DD.MMSS)S12(m)1 41.01356874 130.10122676 1.4943 8000L λδ=+211212u pA u u u u qsin cos tan cos sin sin cos cos λλ==-2121p p u q b b A arctanqsin cos cos λλ==-=11p A q A sin cos tan cos σσ+=11p A q A sin sin cos σ=+12a a cos cos σλ=+arctan sin cos σσσ⎛⎫=⎪⎝⎭011A u A sin cos sin =111u A tan tan sec σ=21+σσσ=02122L A sin [(sin sin )]λδασβσσ-==+-L λδ=+11222222S A B C B C sin (cos )sin (cos )σσσσσ=++-+1212u A b b cos sin arctan cos λλ⎡⎤=⎢⎥-⎣⎦三.源代码:#include <stdio.h>#include <math.h>#define e 0.081813334016931499 //克拉索夫斯基椭球体第一偏心率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;double a1,a2,b1,b2,p,q,x,y;doubleW1,W2,sinu1,sinu2,cosu1,cosu2,sinA0,cotsigma1,sin2sigma1,cos2sigma1,sigma0,sin2,cos2,sigm a,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,&A 11,&A12,&S);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)); //计算起点规划纬度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); //计算辅助函数值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);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);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);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);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)lamda=fabs(lamda);elselamda=pi-fabs(lamda);}else{if(tan(lamda)>0)lamda=fabs(lamda)-pi;elselamda=-1*fabs(lamda);}L2=L1+lamda-delta;A2=atan(cosu1*sin(A1)/(cosu1*cos(sigma)*cos(A1)-sinu1*sin(sigma)));if(sin(A1)>0){if(tan(A2)>0)A2=pi+fabs(A2);elseA2=2*pi-fabs(A2);}else{if(tan(A2)>0)A2=fabs(A2);elseA2=pi-fabs(A2);}B2=B2*180*3600/pi;L2=L2*180*3600/pi;A2=A2*180*3600/pi;B20=(int)B2/3600;B21=(int)B2/60-B20*60;B22=B2-B20*3600-B21*60;L20=(int)L2/3600;L21=(int)L2/60-L20*60;L22=L2-L20*3600-L21*60;A20=(int)A2/3600;A21=(int)A2/60-A20*60;A22=A2-A20*3600-A21*60;printf("正算得到的终点大地经度和大地纬度及A2:\n%d %d %lf\n%d %d %lf\n%d %d %lf\n",B20,B21,B22,L20,L21,L22,A20,A21,A22);}else{printf("请输入大地线起点和终点的坐标BL\n");scanf("%d%d%lf%d%d%lf%d%d%lf%d%d%lf",&B10,&B11,&B12,&L10,&L11,&L12,&B 20,&B21,&B22,&L20,&L21,&L22);B1=(B10+(double)B11/60+B12/3600)*pi/180;L1=(L10+(double)L11/60+L12/3600)*pi/180;B2=(B20+(double)B21/60+B22/3600)*pi/180;L2=(L20+(double)L21/60+L22/3600)*pi/180;W1=sqrt(1-e*e*sin(B1)*sin(B1));W2=sqrt(1-e*e*sin(B2)*sin(B2));sinu1=sin(B1)*sqrt(1-e*e)/W1;sinu2=sin(B2)*sqrt(1-e*e)/W2;cosu1=cos(B1)/W1;cosu2=cos(B2)/W2;L=L2-L1;a1=sinu1*sinu2;a2=cosu1*cosu2;b1=cosu1*sinu2;b2=sinu1*cosu2;delta0=0;lamda=L+delta0;p=cosu2*sin(lamda);q=b1-b2*cos(lamda);A1=atan(p/q);if(p>0){if(q>0)A1=fabs(A1);elseA1=pi-fabs(A1);}else{if(q>0)A1=2*pi-fabs(A1);elseA1=pi+fabs(A1);}sins=p*sin(A1)+q*cos(A1); //计算sigma的正弦值coss=a1+a2*cos(lamda); //计算sigma的余弦值sigma=atan(sins/coss);if(coss>0)sigma=fabs(sigma);elsesigma=pi-fabs(sigma);sinA0=cosu1*sin(A1);x=2*a1-(1-sinA0*sinA0)*cos(sigma);afa=(33523299-(28189-70*(1-sinA0*sinA0))*(1-sinA0*sinA0))*1.0e-10; beta=(28189-94*(1-sinA0*sinA0))*1.0e-10;delta=(afa*sigma-beta*x*sin(sigma))*sinA0;lamda=L+delta;while(fabs(delta-delta0)>4.8e-10){delta0=delta;p=cosu2*sin(lamda);q=b1-b2*cos(lamda);A1=atan(p/q);if(p>0){if(q>0)A1=fabs(A1);elseA1=pi-fabs(A1);}else{if(q>0)A1=2*pi-fabs(A1);elseA1=pi+fabs(A1);}sins=p*sin(A1)+q*cos(A1); //计算sigma的正弦值coss=a1+a2*cos(lamda); //计算sigma的余弦值sigma=atan(sins/coss);if(coss>0)sigma=fabs(sigma);elsesigma=pi-fabs(sigma);sinA0=cosu1*sin(A1);x=2*a1-(1-sinA0*sinA0)*cos(sigma);afa=(33523299-(28189-70*(1-sinA0*sinA0))*(1-sinA0*sinA0))*1.0e-10;beta=(28189-94*(1-sinA0*sinA0))*1.0e-10;delta=(afa*sigma-beta*x*sin(sigma))*sinA0;lamda=L+delta;}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)*cos(sigma);S=A*sigma+(B*x+C*y)*sin(sigma);A2=atan((cosu1*sin(lamda))/(b1*cos(lamda)-b2));if(sin(A1)>0){if(tan(A2)>0)A2=pi+fabs(A2);elseA2=2*pi-fabs(A2);}else{if(tan(A2)>0)A2=fabs(A2);elseA2=pi-fabs(A2);}A1=A1*3600*180/pi;A2=A2*3600*180/pi;A10=(int)A1/3600;A11=(int)A1/60-A10*60;A12=A1-A10*3600-A11*60;A20=(int)A2/3600;A21=(int)A2/60-A20*60;A22=A2-A20*3600-A21*60;printf("反算得到的方位角A1A2及大地线长S:\n%d %d %lf\n%d %d %lf\n%lf\n",A10,A11,A12,A20,A21,A22,S);}}四.程序执行结果:。
白赛尔大地主题解算
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
贝塞尔大地主题解算分析
3.计算分析
1.B=0,大地线长误差
3.计算分析
1.B=30,大地线长误差
3.计算分析
1.B=70,大地线长误差
3.计算分析
1.B=90,大地线长误差
3.计算分析
200km时大地方位角误差
3.计算分析
800km时大地方位角误差
3.计算分析
10000km时大地方位角误差
结论及问题
• ቤተ መጻሕፍቲ ባይዱ离精度优于2cm • 角度精度优于2ms • 距离精度有提高空间
也适用于长距离解算。可适应10000km或更长的距离,这对 于国际联测,精密导航,远程导弹发射等都具有重要意义。
2.问题分析
1.球面三角函数计算
球面大地主题解算不同球面角距计算误差 检验方法:先反算再正算
2.问题分析
1.球面三角函数计算
球面大地主题解算不同方位角计算误差
2.问题分析
q接近0赋值1d-20
目录
• 1.基本原理 • 2.问题分析 • 3.数值计算 • 4.结论及问题
1.基本原理
大地主题解算
• 主题解算分为: • 短距离(<400km) • 中距离(<1000km) • 长距离(1000km以上)
1.基本原理
1.白塞尔大地主题解算
•以白塞尔大地投影为基础: •1)按椭球面上的已知值计算球面相应值; •2)在球面上解算大地主题问题; •3)按球面上得到的数值计算椭球面上的相应数值。 • 特点:解算精度与距离长短无关,它既适用于短距离解算,
大地测量主题解算
一般情况下主项趋近3次,改正项趋近2次 就可满足要求。
四、高斯平均引数反算公式
高斯平均引数反算公式可以依正算公式导出:
S
sin
Am
L" "
Nm
cos Bm
S sin Am
24
N
2 m
[S 2tm2
sin 2
Am
S 2 cos2 Am (1 m2 9m2tm2 )]
t
2 m
2m2 )]}
5次
B2 B1 B, L2 L1 L, A21 A12 A 180
Am
1 2
( A12
A21 )
A12
1 2
A
Bm
1 2
(B2
B1)
B1
1 2
B
注意:
从公式可知,欲求ΔL,ΔB及ΔA,必先有Bm及 Am。但由于B2和A21未知,故精确值尚不知,为
2f
2
上一讲应掌握的内容
四、整周数N值解算的一般原理
有可变频率法和固定频率法两种
五、全站仪中测距新技术
• 使用高频测距技术
· 温控与动态频率校正技术
• 无棱镜测距技术
· 目标自动识别技术
六、测距的误差分析和精度表达式
D c0 C 4fn
mD2
( c0 )2 m2
4 fn 2
Nm Vm2
高斯平均引数反算公式(续)
S sin Am r01L" r21B"2L" r03L"3 S cos Am s10B" s12B"L"2 s30B"3
大地主题解算方法综述
大地主题解算方法综述
大地主题解算方法综述
大地主题解算是大地测量中的重要问题,由于椭球的复杂性,随之产生的解算方法也是多种多样.本文分析了大地主题解算的一般方法及其公式的适用范围,指出了它们的特点和不足,讨论了现今常用解算方法存在的问题和进一步的研究方向.
作者:周振宇郭广礼贾新果 ZHOU Zhen-yu GUO Guang-li JIA Xin-guo 作者单位:中国矿业大学,环测学院,江苏徐州,221008 刊名:测绘科学ISTIC PKU英文刊名:SCIENCE OF SURVEYING AND MAPPING 年,卷(期):2007 32(4) 分类号:P22 关键词:大地主题解算大地主题正算大地主题反算高斯平均引数法白塞尔公式。
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)
大地主题解算(深度干货-超精)
大地主题解算(正算)代码与白塞尔大地主题解算大地主题解算(正算)代码:根据经纬度和方向角以及距离计算另外一点坐标新建模块->拷贝下面的大地主题(正算)代码,调用方法示例:起点经度: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、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
是高斯平均 引数 公式 [2O4] 。高斯 ( G auss)提 出把 勒让德 级数 式改化成以 P1、P2 ( P1, P 2 为 大地椭 球面上 的两点 ) 两点 的平均纬度和平 均方 位角为 根据。这 样勒 让德 级数式 中所
第 4期
周振宇等 大地主题解算方法综述
dB cosA dS = M
dL dS
=
s inA N cosA
( 1)
dA dS
=
tanB sinB N
式 中: B) 大 地纬度; L) 大 地经度; A ) 大地 方位 角;
S) 大地线长度。
上述三个方 程通过 将大 地线长 度 S 作为独 立变 量, 将
四个变量 B、 L、 A 和 S 紧 紧 联 系在 一 起。沿 椭 球面 上 P 1
( O1 Schreibe r) 公式 [ 1] , 他以勒让德级数为基础, 利 用大地 线终点在起点子午 圈上的 垂足 点提出 了一 种第 一主题 的对
数解法。 1942年, 博尔茨 ( Bo ltz) 对级 数中各 项的系 数作了
改化, 以便计 算和编 程, 使之 成为 实用 公式。 之后, 赫里 斯托夫 ( H ristow )也对级 数各项的 系数进 行了 改化; 索 德包 尔 ( Schodlbauer)把史赖 伯的思 想应 用于 经过 博尔 茨改 化的 勒让德级数中, 从而得出第一主 题的非对数解法。
时, 公式还可以得到简化。 3) 用龙格 ) 库塔 ( R ungeOK utta) 法 [ 5] 解 大地 线微 分方
程。它的实质是 用若 干点的 函数 值的线 性组 合, 代替 泰勒
级数展开中 的导数 计算, 又 可保 持必要 的精 度。对于 短距
离大地主题 解算, 可 以只 取一 步; 如果距 离较 长, 可 以分
由 此可 见, 椭球 面 上 两控 制 点 的 大 地 坐 标、 大 地 线
长 度及 方位 角的 正算 和反 算 问 题 同平 面 直 角 坐标 系 中 两
控 制点 坐标 、距 离及 方位 角 的正 反 算 是 相 似 的, 只 不 过 大 地主 题解 算是 在椭 球 面 上进 行 的, 由 于 椭 球扁 率 的 影
dB dU
=
f1,
dL dK
=
f2,
dA dA
=
f3,
dS dH
=
f4
( 3)
上式积分后就可找到从椭 球面向球面过 渡的必要 公式。
则大地主题解算的步 骤为:
①按椭球面 上的已 知值 计算球 面相 应值, 即 实现 椭球
面向球面的 过渡; ② 在球面 上解 算大地 主题 问题; ③ 按球
面上得到的数值 计算 椭球面 上的 相应数 值, 即 实现圆 球向
响 , 椭 球面 上的 大地 问题 解 算 要 比平 面 上 的 相应 计 算 复 杂 得多 。
从解析意义 上讲, 大 地主 题的正 算和 反算, 就是 研究 大地极坐标和大 地坐 标间的 相互 转换问 题。根 据大地 线的
长度, 主题解算可分 为短 距离 ( 400km 以内 )、中 距离 ( 400 ~ 1000km ) 及长 距离 ( 1000km 以上 ) 三种。
量 m 和 M 。依据白塞尔的 这种解 法, 派生出 许许多 多的公
式, 有的是逐 渐趋近 的解 法, 有的 是直接 解法, 还有 的是
其简化 公 式。 例 如: 导 航 使 用 的 大 地 线 长 近 似 计 算 公 式 [ 10] ; 白 塞尔公式 的 直 接 解法 ) ) ) 陈 俊 勇 公 式 [ 11] ; 保 持 纬度不变的大地投影 ) ) ) 张志新 公式 [ 12] 。还 有白塞 尔微分
21 4 对大地线微 分方程进行数值积分的解法 这种解法既 不采 用勒让 德级 数, 也不 采用 辅助 面, 而
是直接对 ( 2) 式进行数值积分计算以解决大地主题的解算。 常用的 数值 积 分 算 法有 高 斯 法、龙 格O库 塔 法、牛 顿
法、嵌套系数法 以及 切贝 雪夫 法 [ 2, 15] 等。这 种解 法易 于编 写程序, 适 用任 意 长度 距离。 其缺 点 是随 着 距 离的 增 长, 计算工作量 大, 精度 降低; 而 且在 近极地 区, 这 种方 法无 能为力。 21 5 依据大地线 以外的其他线为基础
第 32卷第 4期 2007年 7月
测绘科学 Sc ience o f Survey ing and M app ing
V o l132 N o14 Ju l1
大地主题解算方法综述
周振宇, 郭广礼, 贾新果
(中国矿业大学 环测学院, 江苏徐 州 221008)
【摘 要】大地主题解算是大地测量中的 重要问 题, 由于 椭球的 复杂性, 随 之产生 的解算 方法也 是多种 多样。本
球面上为大圆弧, 大地线 上每 一点都 与大 圆弧 上的相 应点
一致, 也就是说实现了所谓的 大地投影 [ 7, 8] , 这 将给解算工
作带来方便。如 果已经 找到 了大 地线 上某 点的 数 值 B, L, A, S, 与球面上相 应点 的数 值 U, K, A, R 的 关系 式, 亦 即实现了下面的微分 方程 [ 3, 9] :
方程的其他 解法, 像 维罗 维茨 方法、安德 列也 夫方 法, 赫 尔默特法 [ 5] 等 等。此外, 还有白 塞尔 正、反算 无迭代 的精
密解法, 这些公式大都可适用 于 20000km 或更长的距离。
21 3 利用地图 投影理论解算大地问题
在地图投影 中, 采用 椭球面 对球 面的正 形投 影和 等距
作者简 介: 周 振 宇 ( 1982O), 男, 湖 北武穴人, 硕士 生, 主要研 究开采 沉 陷及变形监测。 EOm ai:l cug lz@ yahoo1 com1 cn
收稿日期: 2006O05O30
2 大地主题解算的一般方法及其特征
据不完全 统计, 大地 主 题 解算 的 方法 目 前已 有 70 多
求得, 必须进行趋近解算, 为此需要将上 述积分进行变换。
1) 常用的一种 方法是运用勒 让德级 数 ( L eg endre) 将他 们展开为大地线 长度 S 的升 幂级 数, 再逐 项计 算以达 到主 题解算的目 的。但是 这种 级数式 收敛 缓慢, 项 目繁 多, 计 算起来非常 复杂。后 来人们 对勒 让德级 数进 行改化 , 以不 同的改化方法得 出不 同的公 式, 其中 比较 著名 首推史 赖伯
种, 其中大部 分适用 于短 距离, 一 部分适 用于 中距 离, 只 有几种适用 于长距 离。这几 十种 方法虽 然形 形色色 , 各有 不同, 但 就 其推 导 的 理 论 基 础来 说, 大 致 可 归纳 为 以 下 五类。
21 1 以大地线在 大地坐标系中的微分方程为基础
这类方法 是利 用 大地 线在 大 地坐 标系 中 的 微分 方 程, 直接在地球椭球面上进 行积分运算。大地微分方程为:
1 引言
对天文大地 网的点 位, 除了 要用 某种正 形投 影的 平面 直角坐标来 表示 外, 还要 用经 纬度来 表示。为 此, 可 以从
大地原点出发, 利 用已知 的起 始边和 起始 方位 角以及 各推
算边长, 逐点推 算出 整个大 地网 各点的 经纬 度。在椭 球大
地测量中, 经常 会遇 到这样 两类 问题: 一 类是已 知大 地线
191
有的偶次幂 都消失 了, 可使 项数 减少, 从 而大大 加速 了级
数的收敛。其解算公 式结 构 比较 简单 , 精度 比 较高, 反算
无需迭代, 可 用于电 算。但是, 正算时 所用 到的 平均 引数
( Bm , Am ), 因 (B 2, A 2 ) 尚 属未知, 因而一时无 法求得, 必 须先取近似 值, 再用 逐次趋 近的 方法来 解算。其 主要 特点
在于: 解算精 度与距 离有 关, 距离 越长, 收敛 越慢, 因此
只适用于较短的距离。当公式 为四次项时 , 在中纬度 地区,
公式可用于 200km 以下的 大地主 题解算, 经纬 度计算 精度
可达 01 0001", 方位 角计 算精度 达 01001", 计算 边长 可精
确至厘 米。是 短 距离 解 算 的理 想 公式。 当距 离 小于 70km
文分析了大地主题解算的 一般方法及其公式的适用范围, 指出了它们的 特点和不 足, 讨论了现 今常用解算 方法存 在的问题和进一 步的研究方向。
【关键词】大地主题解算; 大地主题正算; 大地主题反算; 高斯平均引数法; 白塞尔公 式
【中图分类号】 P22
【文献标识码】 A
【文章编号】 1009O2307( 2007) 04O0190O03
连接椭球面 两点的 媒介 除大地 线之 外, 当然 还有 其他 一些有意义的 线, 比如弦 线, 法截 线 [ 16, 17] 等。 利用弦 线解 算大地主题的实 质是 三维大 地测 量问题, 通过 电磁波 测距 得到法截线 弧长。所 以对三 边测 量的大 地主 题而言 , 运用 法截弧进行解算有其优 点。
B2 ) ,
计算 P 1 至
P2 的大 地线长
S
及其正、 反方位 角
A
和
12
A 21, 这类问题叫 做大地主题 反算。大 地主题 的正反算 问题
统称为大地主题解算 。其中椭 球面上点的大地经度 L、大地
纬度 B、两点间的大 地线 长度 S 及其 正反 大地 方位 角 A 12、 A 21通称 为大地元素。
椭球的过渡。
白塞尔 ( Besse l) 首先提出并解决了投影条件, 使这一解
法得以实现。
这类公式的特点是计算 公式展 开 e2 或 的幂级 数, 解算
精度与距离 长短无 关。因此 它既 适用于 短距 离解 算, 也适 用于长距离 解算 [ 5] 。其主 要缺 点在 于: 由 S 求 R、由 L 求 K, 或相反的运算, 需要进行迭代。同时还要预先 计算辅助