高斯平均引数大地主题正反算
高斯平均引数计算大地坐标主题反解的迭代算法

S
im
1) }
当两次迭代值之差小于给定值, 即
ui - ui- 1
v i - v i- 1
( 9)
停止迭代。
将 u, v 代入式( 5) 中的第 3 式, 则可算得 A , 于是可计算出
A 12=
Am-
1 2
A
A 21=
Am+
1 2
A
并由 u , v 可以反算出
( 10)
S = u2+ v 2
A m=
L 1= 35 49 36. 330 0 L 2= 36 14 45. 050 4 利用反算程序求得
S = 44 797. 282 7 m
A 12= 44 12 13. 664
A 21= 224 30 53. 550
四、结 论
高斯平均引数反算的迭代法计算, 一般只需要 迭代 2~ 3 次, 即能满足精 度要求。该 方法理论简 单, 编程容易, 便于掌握与应用。建议用迭代法取代 传统的高斯平均引数反算公式。
一、高斯平均引数的正解公式
高斯平均引数正解公式[ 1] 为
B
=
( B 2-
B 1)
=
V
2 m
Nm
S cos A m
{ 1+
2
S2 4N
2 m
[
sin2
A m ( 2+
3
t
2 m
+
2
2 m
)
+
3
2 m
cos2
A m(
-
1+
t
2 m
-
2 m
-
4
t
2 m
2 m
高斯投影正算与反算的理论方法与实

高斯投影正算与反算的理论方法与实现代码高斯投影是正形投影的一种,同一坐标系中的高斯投影换带计算公式是根据正形投影原理推导出的两个高斯坐标系间的显函数式。
在同一大地坐标系中(例如1954北京坐标系或1980西安坐标系),如果两个高斯坐标系只是主子午线的经度不同,那么显函数式前的系数可以根据坐标系使用的椭球元素和主子午线经度唯一确定。
但如果两个高斯坐标系除了主子午线的经度不同以外,还存在其他线性系,则将线性变换公式代入换带计算的显函数式中,仍然可以得到严密的坐标变换公式。
此时显函数式前的系数等价于使用两个坐标系主子午线的经度和线性变换参数联合求解得到的,可以唯一确定。
//6度带宽54北京坐标系//高斯投影由大地坐标(Unit:Metres)反算经纬度(Unit:DD)void GaussProjInvCal(double X, double Y, double *longitude, double *latitude){int ProjNo; int ZoneWide; ////带宽double longitude1,latitude1, longitude0,latitude0, X0,Y0, xval,yval;double e1,e2,f,a, ee, NN, T,C, M, D,R,u,fai, iPI;iPI = 0.0174532925199433; ////3.1415926535898/180.0;a = 6378245.0; f = 1.0/298.3; //54年北京坐标系参数////a=6378140.0; f=1/298.257; //80年西安坐标系参数ZoneWide = 6; ////6度带宽ProjNo = (int)(X/1000000L) ; //查找带号longitude0 = (ProjNo-1) * ZoneWide + ZoneWide / 2;longitude0 = longitude0 * iPI ; //中央经线X0 = ProjNo*1000000L+500000L;Y0 = 0;xval = X-X0; yval = Y-Y0; //带内大地坐标e2 = 2*f-f*f;e1 = (1.0-sqrt(1-e2))/(1.0+sqrt(1-e2));ee = e2/(1-e2);M = yval;u = M/(a*(1-e2/4-3*e2*e2/64-5*e2*e2*e2/256));fai = u+(3*e1/2-27*e1*e1*e1/32)*sin(2*u)+(21*e1*e1/16-55*e1*e1*e1*e1/32)*sin( 4*u)+(151*e1*e1*e1/96)*sin(6*u)+(1097*e1*e1*e1*e1/512)*sin(8*u);C = ee*cos(fai)*cos(fai);T = tan(fai)*tan(fai);NN = a/sqrt(1.0-e2*sin(fai)*sin(fai));R = a*(1-e2)/sqrt((1-e2*sin(fai)*sin(fai))*(1-e2*sin(fai)*sin(fai))*(1-e2*sin(fai)*sin(fai)));D = xval/NN;//计算经度(Longitude) 纬度(Latitude)longitude1 =longitude0+(D-(1+2*T+C)*D*D*D/6+(5-2*C+28*T-3*C*C+8*ee+24*T*T)*D*D*D*D*D/120)/cos(fai);latitude1 = fai -(NN*tan(fai)/R)*(D*D/2-(5+3*T+10*C-4*C*C-9*ee)*D*D*D*D/24+(61+90*T+298*C+45*T*T-256*ee-3*C*C)*D*D*D*D*D*D/720);//转换为度DD*longitude = longitude1 / iPI;*latitude = latitude1 / iPI;}//高斯投影由经纬度(Unit:DD)正算平面坐标(含带号,Unit:Metres)void GaussProjCal(double longitude, double latitude, double *X, double *Y) {int ProjNo=0; int ZoneWide; ////带宽double longitude1,latitude1, longitude0,latitude0, X0,Y0, xval,yval; double a,f, e2,ee, NN, T,C,A, M, iPI;iPI = 0.0174532925199433; ////3.1415926535898/180.0;ZoneWide = 6; ////6度带宽a=6378245.0; f=1.0/298.3; //54年北京坐标系参数////a=6378140.0; f=1/298.257; //80年西安坐标系参数ProjNo = (int)(longitude / ZoneWide) ;longitude0 = ProjNo * ZoneWide + ZoneWide / 2;longitude0 = longitude0 * iPI ;latitude0=0;longitude1 = longitude * iPI ; //经度转换为弧度latitude1 = latitude * iPI ; //纬度转换为弧度e2=2*f-f*f;ee=e2*(1.0-e2);NN=a/sqrt(1.0-e2*sin(latitude1)*sin(latitude1));T=tan(latitude1)*tan(latitude1);C=ee*cos(latitude1)*cos(latitude1);A=(longitude1-longitude0)*cos(latitude1);M=a*((1-e2/4-3*e2*e2/64-5*e2*e2*e2/256)*latitude1-(3*e2/8+3*e2*e2/32+45*e2 *e2*e2/1024)*sin(2*latitude1)+(15*e2*e2/256+45*e2*e2*e2/1024)*sin(4*latitude1)-(3 5*e2*e2*e2/3072)*sin(6*latitude1));xval = NN*(A+(1-T+C)*A*A*A/6+(5-18*T+T*T+72*C-58*ee)*A*A*A*A*A/120); yval = M+NN*tan(latitude1)*(A*A/2+(5-T+9*C+4*C*C)*A*A*A*A/24+(61-58*T+T*T+600*C-330*ee)*A*A*A*A*A*A/720);X0 = 1000000L*(ProjNo+1)+500000L;Y0 = 0;xval = xval+X0; yval = yval+Y0;*X = xval;*Y = yval;}NN卯酉圈曲率半径,测量学里面用N表示M为子午线弧长,测量学里用大X表示fai为底点纬度,由子午弧长反算公式得到,测量学里用Bf表示R为底点所对的曲率半径,测量学里用Nf表示。
高斯平面直角坐标与大地坐标的相互转换——高斯投影的正算与反算.

昆明冶金高等专科学校测绘学院 (4)计算公式
3 2 2 2 4 ( 5 3 t 9 t ) y f f f f 2M f N f 2 4M f N 3 f tf 2 4 6 (6 1 9 0t f 4 5t f ) y 7 2 0M f N 5 f 1 1 2 2 3 l y (1 2t f f ) y 3 N f co s B f 6 N f co s B f 1 2 5 (5 2 8t 2 t4 2 2 f 24 f 6 f 8 f t f )y 5 1 2 0N f co s B f B Bf tf y2 tf
式中:
2 e 2 cos2 B
t 2 tan2 B l (L L0) X为B对应子午线弧长 N为卯酉圈曲率半径 20626 5
昆明冶金高等专科学校测绘学院
2
高斯投影坐标反算公式
(1)高斯投影反算:
已知某点 x, y ,求该点 L, B ,即 x, y ( L, B) 的坐标变换。 (2)投影变换必须满足的条件
昆明冶金高等专科学校测绘学院
二、高斯投影坐标正反算得实用公式及算例
1 高斯投影坐标正算公式 (1)高斯投影正算: 已知某点的 L, B ,求该点的 x, y ,即 (2)投影变换必须满足的条件: 中央子午线投影后为直线; 中央子午线投影后长度不变; 投影具有正形性质,即正形投影条件。 (3)投影过程 在椭球面上有对称于中央子午线的两点 P1 和 P2 ,它们的大地坐标 分别为 ( L1 , B1 )或(l1 , B1)及 (L2 , B2)或(l2 , B2 ) 式中 l 为椭球面上点的经 度与中央子午线 ( L0 ) 的经度差:l L L0 ,点在中央子午线之东, l 为正,在西则为负,则投影后的平面坐标一定为P1 ( x1 , y1 ) 和 P2 ( x 2 , y 2 ) 。
大地正反算实验报告(3篇)

第1篇一、实验目的本次实验旨在通过大地正反算的方法,加深对大地测量学基本原理和方法的理解,掌握大地坐标转换和坐标平差的基本步骤,提高实际操作能力。
二、实验原理大地正反算是指在地心坐标系(或任意坐标系)中,根据已知的地面点大地坐标(经度、纬度、高程)计算该点在某一投影面上的坐标(如平面直角坐标),以及根据已知的地面点平面坐标计算该点的大地坐标。
实验中主要涉及以下基本原理:1. 地球椭球模型:实验采用克拉索夫椭球参数,该椭球能够较好地描述地球的形状和大小。
2. 大地坐标转换:将地面点的大地坐标转换为平面坐标,通常采用高斯投影方法。
3. 坐标平差:在计算过程中,由于各种误差的存在,需要对计算结果进行平差处理,以提高精度。
三、实验步骤1. 数据准备:选取一组地面点的大地坐标数据,包括经度、纬度和高程。
2. 正算过程:a. 根据选取的大地坐标数据,利用高斯平均引数公式计算地面点的大地经纬度。
b. 利用高斯投影公式,将大地经纬度转换为平面直角坐标。
c. 计算地面点的高斯平面坐标。
3. 反算过程:a. 根据地面点的高斯平面坐标,利用高斯投影公式反算出地面点的大地经纬度。
b. 利用大地坐标转换公式,将大地经纬度转换为大地坐标。
4. 坐标平差:对计算结果进行平差处理,以提高精度。
四、实验结果与分析1. 正算结果:a. 通过计算,得到了地面点的高斯平面坐标,包括x坐标和y坐标。
b. 计算过程中,注意选取不同的已知数据序号,以确保计算结果的准确性。
2. 反算结果:a. 通过反算,得到了地面点的大地经纬度,与原始数据进行了对比。
b. 计算过程中,注意选取不同的已知数据序号,以确保计算结果的准确性。
3. 坐标平差结果:a. 对计算结果进行了平差处理,以提高精度。
b. 平差后的坐标值与原始数据相比,精度得到了显著提高。
五、实验总结1. 通过本次实验,掌握了大地正反算的基本原理和方法,提高了实际操作能力。
2. 计算过程中,注意选取不同的已知数据序号,以确保计算结果的准确性。
高斯投影正反算原理

高斯投影正反算原理高斯投影是一种常用于地图制图的投影方式,也被广泛应用于其他领域的空间数据处理。
高斯投影正反算是对于已知的地球坐标系上的位置(经纬度),通过计算得到该点的平面坐标(东、北坐标),或者对于已知的平面坐标(东、北坐标),通过计算得到该点的地球坐标系上的位置(经纬度)的过程。
本文将详细介绍高斯投影正反算的原理。
一、高斯投影简介高斯投影是一种圆锥投影,其投影面在地球表面的某个经线上,也就是说,投影面是以该经线为轴的圆锥面。
经过对圆锥体的调整后,使其切于地球椭球面,在该经线上进行投影,同时保持沿该经线方向的比例尺一致,从而达到地图上各点在包括该经线的垂直面上映射的目的。
这种投影方式在某一特定区域内得到高精度的结果,因此广泛应用于地图制图。
二、高斯投影数学模型对于高斯投影正反算,需要先建立高斯投影坐标系与地球坐标系的转换模型。
1.高斯投影坐标系的建立高斯投影坐标系的建立需要确定圆锥面的基本参数,首先需要确定其所处的中央子午线,再确定该子午线上的经度为零点,并利用该经线上某一点的经度和该点的高度来确定该点所在的圆锥体。
圆锥体的底面包括所有与地球椭球面相切的圆面,通过对这些圆面进行调整,使得圆锥体转动后能够在中央子午线上进行投影。
在此基础上,可建立高斯投影坐标系,其中投影面为圆锥面,且中央子午线与投影面的交点称为该投影坐标系的中心,投影面的上端点和下端点分别对应正北方向和正南方向。
2.地球坐标系的建立地球坐标系是以地球椭球体为基础建立的,其坐标系原点确定为地球椭球体上的一个特定点。
在已知该点经纬度和高度的前提下,可确定以该点为中心的地球椭球体,并可根据它与地球坐标系之间的转换关系得到平面坐标系。
3.高斯投影坐标系与地球坐标系之间的转换关系由于高斯投影坐标系与地球坐标系存在不同的坐标体系和基准面,因此需要通过数学关系式来建立它们之间的转换关系。
(1)高斯投影坐标系转地球坐标系:已知高斯投影坐标系中任意一点的东北坐标(N,E),以及所属的中央子午线经度λ0、椭球参数a和e,则可通过以下公式求出该点的地球坐标系经纬度(φ,λ)和高度H:A0为以地球椭球体中心为原点,高斯投影坐标系中心投影坐标为(0,0)的点到椭球面的距离。
高斯投影坐标正反算公式

§8.3高斯投影坐标正反算公式任何一种投影①坐标对应关系是最主要的;②假设是正形投影,除了满足正形投影的条件外〔C-R 偏微分方程〕,还有它本身的特殊条件。
高斯投影坐标正算公式: B,l ⇒ x,y高斯投影必须满足以下三个条件:①中央子午线投影后为直线;②中央子午线投影后长度不变;③投影具有正形性质,即正形投影条件。
由第一条件知中央子午线东西两侧的投影必然对称于中央子午线,即(8-10)式中,x 为l 的偶函数,y 为l 的奇函数;0330'≤l ,即20/1/≈''''ρl ,如展开为l 的级数,收敛。
+++=++++=553316644220l m l m l m y l m l m l m m x 〔8-33〕式中 ,,10m m 是待定系数,它们都是纬度B 的函数。
由第三个条件知:qyl x l y q x ∂∂-=∂∂∂∂=∂∂, (8-33)式分别对l 和q 求偏导数并代入上式----=++++++=+++5533156342442204523164253l dqdm l dq dm l dq dm l m l m l m l dqdm l dq dm dq dm l m l m m (8-34) 上两式两边相等,其必要充分条件是同次幂l 前的系数应相等,即dq dm m dqdm m dqdm m 2312013121⋅=⋅-==(8-35)(8-35)是一种递推公式,只要确定了0m 就可依次确定其余各系数。
由第二条件知:位于中央子午线上的点,投影后的纵坐标x 应等于投影前从赤道量至该点的子午线弧长X ,即(8-33)式第一式中,当0=l时有:0m X x == (8-36) 顾及(对于中央子午线)B V Mr M B N dq dB M dBdXcos cos 2==== 得:B V cB N r dq dB dB dX dq dX dq dm m cos cos 01===⋅===(8-37,38)B B Ndq dB dB dm dq dm m cos sin 22121112=⋅-=⋅-= (8-39)依次求得6543,,,m m m m 并代入(8-33)式,得到高斯投影正算公式6425644223422)5861(cos sin 720)495(cos 24cos sin 2lt t B B N lt B simB N l B B N X x ''+-''+''++-''+''⋅''+=ρηηρρ5222425532233)5814185(cos 120)1(cos 6cos l t t t B N lt B N l B N y ''-++-''+''+-''+''⋅''=ηηρηρρ (8-42) 高斯投影坐标反算公式x,y ⇒B,l投影方程:),(),(21y x l y x B ϕϕ== (8-43)满足以下三个条件:①x 坐标轴投影后为中央子午线是投影的对称轴;② x 坐标轴投影后长度不变;③投影具有正形性质,即正形投影条件。
高斯UTM投影坐标正、反算

高斯UTM投影坐标正、反算测量每天不厌其烦的发招聘信息,图文教程给你一、高斯/UTM投影坐标正反算L、B——大地经、纬度坐标X、Y——高斯/UTM投影平面直角坐标高斯/UTM投影坐标正算:LB→XY高斯/UTM投影坐标反算:XY→LB序号点名大地坐标(度分秒)高斯平面直角坐标(m)L B X Y1 二塘大圆113 05 13.68466 22 38 49.52623 2507005.7794 714567.78812 渠黎医院113 04 55.00186 22 31 54.96727 2494239.9972 714212.25703 硝铵113 03 20.21577 22 38 39.70442 2506658.3680711330.6495厂4 扶绥中学113 02 42.90165 22 38 03.52353 2505530.1986 710280.04165 氮肥厂113 02 29.79765 22 36 54.35915 2503396.5128 709934.87696 渠黎中学113 04 02.83240 22 36 52.28043 2503369.2088 712593.96247 龙须塘113 03 43.97260 22 38 09.06116 2505724.6996 712022.36108 滑石公司113 05 42.00255 22 38 00.70728 2505514.7026 715397.8721 【思考和计算】工程中直角坐标和高程值通常取位到1mm或0.1mm,按照同样的精度要求,大地坐标经纬度应如何取位?取地球平均半径6371km,容易得出以下角度对应的弧长:1°→111.2km1′→1.85km0.01°→1.11km1″→31m0.00001°→1m0.1″→3m0.0000001°→1cm0.001″→3cm0.00000001°→1mm0.0001″→3mm0.000000001°→0.1mm0.00001″→0.3mm故:(1)以度分秒为单位,秒数值保留4~5位小数(2)以度为单位,度数值保留8~9位小数一、高斯投影坐标正反算程序高斯投影坐标正反算计算公式非常复杂,手工计算非常繁琐,一般使用程序来计算。
高斯平均引数计算大地坐标主题反解的迭代算法

高斯平均引数计算大地坐标主题反解的迭代算法近些年来,随着测量新技术的发展,对大地坐标系统的研究已经取得了很大的进步,改进了测量技术,提高了大地坐标系统的精度,但是,由于大地坐标系统是一种复杂的数学模型,大地坐标的反解受到各种因素的影响,这在一定程度上制约了大地坐标系统的发展。
考虑到这个问题,研究者提出运用高斯平均引数计算大地坐标的方法,以解决大地坐标系统反解的问题。
高斯平均引数计算大地坐标主题反解的迭代算法(MAIT)是利用最小二乘法进行拟合,进行大地坐标主题反解的有效算法。
MAIT算法通过利用多次参数迭代,改变拟合参数的统计均值,利用高斯平均引数,使得系统的反解更加准确,从而解决测量精度的问题。
MAIT算法的基础是利用大地坐标系统拟合方程,拟合关系是彩色拟合函数,该函数是由多个参数确定的,可以用于描述大地坐标系统中两点间的关系。
MAIT算法每次迭代时,通过利用大地坐标系统拟合时计算出的拟合参数均值,改变拟合参数统计均值,并利用高斯平均引数更新拟合参数,从而达到大地坐标主题反解的效果。
同时,MAIT算法还能够实现对数据的正则化处理,即利用一致性条件来校正和修正数据以适应拟合函数,进一步提高大地坐标系统的精度。
MAIT算法的主要优势在于,算法的处理过程非常简洁,可以显著缩短大地坐标主题反解的处理时间;另外,由于拟合参数比较稳定,MAIT算法可以降低大地坐标系统中反解失真的可能性。
总之,MAIT算法是一种有效的大地坐标主题反解方法,它利用高斯平均引数来解决拟合参数不稳定的问题,能够显著提高大地坐标系统的精度和处理效率。
因此,MAIT算法有着极大的发展前景,预期它会在大地坐标系统中得到更广泛的应用。
本文以《高斯平均引数计算大地坐标主题反解的迭代算法》为标题,介绍了MAIT算法,即高斯平均引数计算大地坐标主题反解的迭代算法,该算法通过多次迭代不断改变拟合参数的统计均值,利用高斯平均引数,提高了大地坐标系统的精度,这可以有效解决大地坐标系统的反解问题,有望在大地坐标系统中得到更广泛的应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
地球科学与环境工程学院实验报告书
课程名:
学号:
姓名:
指导老师:
日期:
目录
一、目的与要求 (1)
二、实验内容 (1)
三、计算公式整理 (1)
四、程序代码 (4)
五、计算结果 (15)
六、实验体会 (16)
一、目的与要求
参考椭球面是大地测量计算的基准面。
大地坐标是椭球面上的基本坐标系,根据大地测量的观测成果(如距离与方向),从大地原点出发,逐点计算在椭球面上的大地坐标;或根据两点的大地坐标,计算它们之间的大地线长度和大地方位角,这类计算称为大地问题解算(或称为大地主题解算)。
大地问题解算的用途是多方面的,随着现代空间技术和航空航天、航海等领域的发展,大地问题解算(尤其是大地反算)有着更为重要的作用,因此需要熟练掌握其计算。
二、实验内容
在《大地测量学基础》教材中,介绍了高斯平均引数法与白塞尔方法的计算过程、步骤。
鉴于此,需要熟练掌握高斯平均引数法与白塞尔方法解大地主题问题的基本方法与原理。
采用所熟悉的计算机语言编程计算。
计算时采用克拉索夫椭球参数,至少完成其中一种方法正反算,按照数据序号选取不同的已知数据,在计算结果中注明所选取的数据序号,选取其它数据作为无效数据处理。
三、计算公式整理
、高斯平均引数正算计算公式(S< 200 km)
、高斯平均引数正算计算公式(S< 200 km)
四、程序代码
、角度转换类的头文件:
#pragma once
const double Pi=;
class AngleTrans
{
public:
AngleTrans(void);
~AngleTrans(void);
double D,F,M,DFM,Rad,Ten;
double trans1(double DFM), f"),B2);
(_T("%.7f"),L2),
(_T("%.7f"),A21);
UpdateData(false);
}
、反算的计算按钮代码:
void C大地主题高斯引数正反算Dlg::OnBnClickedButton1() { UpdateData(true);
ZhengFanSuan _ZhengFanSuan;
double B1=_wtof(fB1),
L1=_wtof(fL1),
B2=_wtof(fB2),
L2=_wtof(fL2),
S=(B1,L1,B2,L2),
A12=(B1,L1,B2,L2),
A21=(B1,L1,B2,L2);
(_T("%.7f"),S);
(_T("%.7f"),A12);
(_T("%.7f"),A21);
UpdateData(false);
}
、清零按钮代码:
void C大地主题高斯引数正反算Dlg::OnBnClickedButton3() { UpdateData(true);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
UpdateData(false);
}
void C大地主题高斯引数正反算Dlg::OnBnClickedButton4()
{ UpdateData(true);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
(_T("%.0f"),0);
UpdateData(false);
}
五、计算结果
数据组号:18
六、实习体会
实验一开始本来考虑用控制台做,后来发现用控制台做出来可视化效果不好,而且程序中要用很多cin和cout,写代码十分麻烦,所以最后选择了用MFC做。
其实技术上的难题并不多,主要在于公式上面:大量的乘法、开方和乘方,一不小心就会出错,而且在检查的过程中也不容易发现;在显示计算结果时出现了几次奇奇怪怪的数据,后来在检查代码时发现是由于某些原因(没经历循环,而目标值必须从循环过程中获得、if判断时漏掉情况等)导致要显示的变量没有被赋值,才会无法显示出需要的结果;最初没有加上清零按钮,在调试的过程中发现经常改数值会使得输入数据很麻烦,于是最后加上了清零按钮,以便使用。
总的来讲在实验过程中没有遇到什么大的问题,小的问题却是接二连三地来,好在最后都能够一一解决,也知道了一些C++中的一些报错是什么原因引起的,感觉收获不小。