高斯投影正反算模型

合集下载

高斯投影坐标反算公式.ppt

高斯投影坐标反算公式.ppt

15
说明:⑴ 为 l 的奇函数,而且 l 越大, 越大;
⑵ 有正负,当描写点在中央子午线以东时, 为正, 以西时, 为负;
⑶ 当 l 不变时,则 随纬度增加而增大。
(2)由平面坐标 x,y 计算平面子午线收敛角
(x,y) (l,Bf )
Nf
y tan Bf [1
y2 3N f 3
(1
tan2 Bf
y3
1
120N
5 f
c os B f
5
28t
2 f
24t
4 f
y5
B Bf

tf
2M f N f
y2
t
3 f
24M
f
N
3 f
5
3t
2 f
2 f
9
2 f
t
2 f
y4
5、中央子午线收敛角和经度
Nf
y tan Bf [1
y2 3N f 3
(1
tan2
Bf
f 2)]
L L0 l
小结
②计算中央子午线经度
六度带 L0 6n 3 三度带 L0 3n
11 n 24 23 n 49
2、迭代法求取大地纬度 迭代开始时设 B1f X a0
以后每次迭代按下式计算
F
(
B
i f
)
a2 2
sin 2Bif
a4 4
sin 4Bif
a6 6
sin 6Bif
Bif1 (X F(Bif )) a0
计算子午线收敛角的意义: 1、用于大地方位角和高斯平面坐标方位角的转换; 2、高斯正反算检核坐标计算的正确性。。
大地方位角=坐标方位角-子午线收敛角+方向改化

高斯投影正反算

高斯投影正反算

高斯投影正反算学院:资源与环境工程工程学院专业:测绘工程 学号:X51414012:超一、高斯投影概述想象有一个椭圆柱面横套在地球椭球体外面,并与某一条子午线相切,椭圆柱的中心轴通过椭球体的中心,然后用一定投影方法,将中央子午线两侧各一定经差围的地区投影到椭圆柱面上,再将此柱面展开即成为投影面。

高斯投影由于是正形投影,故保证了投影的角度不变性,图形的相似性以及在某点各方向上长度比的同一性。

由于采用了同样法则的分带投影,这即限制了长度变形,又保证了在不同投影带中采用相同的简便公式和数表进行变形引起的各项改正的计算,并且带与带间的互相换算也能用相同的公式和方法进行。

高斯投影的这些优点必将使它得到广泛的推广和具有国际意义。

二、高斯投影坐标正算公式1.高斯投影必须满足以下三个条件 1)中央子午线投影后为直线 2)中央子午线投影后长度不变 3)投影具有正形性质,即正形投影条件2.高斯正算公式推导1)由第一个条件可知,由于地球椭球体是一个旋转椭球体,所以高斯投影必然有这样一个性质,即中央子午线东西两侧的投影必然对称于中央子午线。

2)由于高斯投影是换带投影,在每带经差l是不大的,lρ是一个微小量,所以可以将X=X (l,q ),Y=Y (l ,q )展开为经差为l 的幂级数,它可写成如下的形式X=m 0+m 2l 2+m 4l 4+…Y=m 1l+m 3l 2+m 5l 5+…式中m 0,m1,m2,…是待定系数,他们都是纬度B 的函数。

3)由第三个条件:∂y ∂l =∂x ∂q 和∂x ∂l =-∂y∂q ,将上式分别对l 和q 求偏导2340123423401234...........x m m l m l m l m l y n n l n l n l n l =+++++=+++++可得到下式0312123403121234111,,,, 234111,,,,234dm dm dm dm n n n n dq dq dq dq dn dn dn dn m m m m dq dq dq dq ⎧====⎪⎪⎨⎪=-=-=-=-⎪⎩经过计算可以得出232244524632235242225sin cos sin cos (594)224 sin cos (6158)720cos cos (1)6cos (5181458)120N N x X B B l B B t l NB B t t l Ny N B l B t l NB t t t l ηηηηη=+⋅+-+++-+=⋅+-++-++-三、高斯投影坐标反算公式推导1.思路:级数展开,应用高斯投影三个条件,待定系数法求解。

高斯投影正反算公式

高斯投影正反算公式

⾼斯投影正反算公式⾼斯投影坐标正反算⼀、基本思想:⾼斯投影正算公式就是由⼤地坐标(L ,B )求解⾼斯平⾯坐标(x ,y ),⽽⾼斯投影反算公式则是由⾼斯平⾯坐标(x ,y )求解⼤地坐标(L ,B )。

⼆、计算模型:基本椭球参数:椭球长半轴a椭球扁率f椭球短半轴:(1)b a f =-椭球第⼀偏⼼率:e a= 椭球第⼆偏⼼率:e b'=⾼斯投影正算公式:此公式换算的精度为0.001m6425644223422)5861(cos sin 720)495(cos 24cos sin 2l t t B B N l t B simB N l B B N X x ''+-''+''++-''+''?''+=ρηηρρ 5222425532233)5814185(cos 120)1(cos 6cos l t t t B N l t B N l B N y ''-++-''+''+-''+''?''=ηηρηρρ其中:⾓度都为弧度B 为点的纬度,0l L L ''=-,L 为点的经度,0L 为中央⼦午线经度; N 为⼦午圈曲率半径,1222(1sin )N a e B -=-;tan t B =; 222cos e B η'=1803600ρπ''=*其中X 为⼦午线弧长:2402464661616sin cos ()(2)sin sin 33X a B B B a a a a a B a B ??=--++-+02468,,,,a a a a a 为基本常量,按如下公式计算:200468242684468686883535281612815722321637816323216128m a m m m m m m a m m m a m m m m a m a ?=++++=+++=++=+ =??02468,,,,m m m m m 为基本常量,按如下公式计算:22222020426486379(1);;5;;268m a e m e m m e m m e m m e m =-====;⾼斯投影反算公式:此公式换算的精度为0.0001’’.()()()()2222243246532235242225053922461904572012cos 6cos 5282468120cos f f f f f f f f f f f f f f f f f f f f f ff f f f f f ft t B B y t t yM N M N t y t t yM N y y l t N B N B y t t t N B L l L ηηηηη=-+++--++=-+++++++=+其中: 0L 为中央⼦午线经度。

python高斯投影公式

python高斯投影公式

python高斯投影公式
高斯投影是一种将地球椭球面上的经纬度线投影到平面上的方法,常用于地图制作和地理信息系统等领域。

在Python中,可以使用以下公式进行高斯投影:
1. 投影正反解公式:
正解公式:X=F(L)= L (1+sin(L))
反解公式:L=F^{-1}(X)
其中,L为经度,X为投影坐标。

2. 投影变换公式:
纬度变换公式:B=B0-g(L)
经度变换公式:L=L0-e(X)
其中,B为投影坐标,B0为地球椭球面上的纬度,L为投影坐标对应的经度,L0为地球椭球面上的经度,g(L)和e(X)分别为纬度和经度的变换函数。

需要注意的是,高斯投影公式是一种近似解法,其精度受到地球椭球模型、投影范围和投影方式等因素的影响。

在实际应用中,需要根据具体情况选择合适的投影公式和参数。

高斯投影正算与反算的理论方法与实

高斯投影正算与反算的理论方法与实

高斯投影正算与反算的理论方法与实现代码高斯投影是正形投影的一种,同一坐标系中的高斯投影换带计算公式是根据正形投影原理推导出的两个高斯坐标系间的显函数式。

在同一大地坐标系中(例如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 ) 。

高斯投影正反算

高斯投影正反算

高斯投影正、反算及换带程序执行条件※数组投影选择T、换算点个数“Z=0 F≠0”、=0正算0、≠0反算※坐标系选择“54 ≠54”、=54换算为1954年北京坐标系输入54、≠54换算为1988年西安坐标系M、中央子午线经度(°′″)输入※大地坐标I、序列号B、L:大地纬度和经度(地理坐标)(°′″)※高斯平面坐标轴子午线I、序列号X、Y:高斯平面坐标(m) Z、轴子午线(°)输出※大地坐标子午收敛角N、序列号B、L:大地纬度和经度(地理坐标)(°′″) R、子午收敛角(°′″)※高斯平面坐标子午收敛角N、序列号X、Y:高斯平面坐标(m) R、子午收敛角(°′″)注:1、程序执行前必须进行数组定位。

如:Defm 10 T×2=5×2=102、Y坐标值要去掉带号及避免出现负值的500公里;4、本程序运算时,各已知数据、观测变量不会随之变化,可非常方便地进行各数据的核对;5、本程序在进行换带计算时采用的是间接换带计算法。

Prog GSXYDefm 10:TA“Z=0 F≠0”G“54 ≠54”Z:Fixm:I=0:「b」0:I=I+1◢J=2I-1:M=Z[J:L=Z[J+1:A=0=>Prog“3”:B=M:M=L+Z:Prog“3”:L=M:{BL}:M=B:Prog“2”: B=M:M=L:Prog“2”:L=M-Z:≠>X=M:Y=L:{XY}:B=X:L=Y⊿Z[J]=B:Z[J+1]=L:I<T=>Goto 0⊿G=54=>C=6399698.90178271:E=.006738525414684:≠>C=6399596.65198801:E=.006 739501819473⊿I=0:「b」0:I“N”=I+1◢J=2I-1:B=Z[J:L=Z[J+1:A≠0=>X=B:Y=L:Goto 2⊿S=sin B:G=54=>F=111134.8611B-(32 005.7799S+133.9238S∧3+.6973S∧5+.0039S∧7)cos B:≠>F=111133.0047B-(32009.857 S+133.9602S∧3+.6976S∧5+.0039S∧7)cos B⊿U=√Ecos B:V=√(1+U2:N=C÷V:W=tan B: M=cos B(Lπ÷180:X=F+NW(.5M2+1┛24(5-W2+9U2+4U∧4)M∧4+1┛720(61-58W2+W∧4)M∧6◢Y=N(M+1┛6(1-W 2+U 2)M ∧3+1┛120(5-18W 2+W ∧4+14U 2-58U 2W 2)M ∧5◢M=W ┛π(180M+60(1+3U 2+2U ∧4)M ∧3+12(2-W 2)M ∧5:Goto 3:「b 」2:W=E ﹣6X-3:G=54=>F=27.11115372595+9.024********W-.00579740442W 2-4.3532572E ﹣4W ∧3+4.857285E ﹣5W ∧4+2.15727E ﹣6W ∧5-1.9399E ﹣7W ∧6:≠>F=27.11162289465+9.024********W-.00579850656W2-4.3540029E ﹣4W ∧3+4.858357E ﹣5W ∧4+2.15769E ﹣6W ∧5-1.9404E ﹣7W ∧6⊿U=√Ecos F:V=√(1+U 2:Q=YV ÷C:W=tan F:M=F-(1+U 2)W ┛π(90Q 2-7.5(5+3W 2+U 2-9U 2W 2)Q ∧4+.25(61+90W 2+45W ∧4)Q ∧6:Prog “3”:B=M ◢M=Z+1┛(πcos F)(180Q-30(1+2W 2+U 2)Q ∧3+1.5(5+28W 2+24W ∧4)Q ∧5:Prog “3”:L=M ◢M=W ┛π(180Q-60(1+W 2-U 2)Q ∧3+12(2+5W 2+3W ∧4)Q ∧5:「b 」3:Prog “3”:R=M ◢ I<T=>Goto 1⊿“END ”概要说明:我国的经度范围西边自73°起,东边至135°,可分成6°带共11带或3°共22带。

高斯投影正反算原理

高斯投影正反算原理

高斯投影正反算原理高斯投影是一种常用于地图制图的投影方式,也被广泛应用于其他领域的空间数据处理。

高斯投影正反算是对于已知的地球坐标系上的位置(经纬度),通过计算得到该点的平面坐标(东、北坐标),或者对于已知的平面坐标(东、北坐标),通过计算得到该点的地球坐标系上的位置(经纬度)的过程。

本文将详细介绍高斯投影正反算的原理。

一、高斯投影简介高斯投影是一种圆锥投影,其投影面在地球表面的某个经线上,也就是说,投影面是以该经线为轴的圆锥面。

经过对圆锥体的调整后,使其切于地球椭球面,在该经线上进行投影,同时保持沿该经线方向的比例尺一致,从而达到地图上各点在包括该经线的垂直面上映射的目的。

这种投影方式在某一特定区域内得到高精度的结果,因此广泛应用于地图制图。

二、高斯投影数学模型对于高斯投影正反算,需要先建立高斯投影坐标系与地球坐标系的转换模型。

1.高斯投影坐标系的建立高斯投影坐标系的建立需要确定圆锥面的基本参数,首先需要确定其所处的中央子午线,再确定该子午线上的经度为零点,并利用该经线上某一点的经度和该点的高度来确定该点所在的圆锥体。

圆锥体的底面包括所有与地球椭球面相切的圆面,通过对这些圆面进行调整,使得圆锥体转动后能够在中央子午线上进行投影。

在此基础上,可建立高斯投影坐标系,其中投影面为圆锥面,且中央子午线与投影面的交点称为该投影坐标系的中心,投影面的上端点和下端点分别对应正北方向和正南方向。

2.地球坐标系的建立地球坐标系是以地球椭球体为基础建立的,其坐标系原点确定为地球椭球体上的一个特定点。

在已知该点经纬度和高度的前提下,可确定以该点为中心的地球椭球体,并可根据它与地球坐标系之间的转换关系得到平面坐标系。

3.高斯投影坐标系与地球坐标系之间的转换关系由于高斯投影坐标系与地球坐标系存在不同的坐标体系和基准面,因此需要通过数学关系式来建立它们之间的转换关系。

(1)高斯投影坐标系转地球坐标系:已知高斯投影坐标系中任意一点的东北坐标(N,E),以及所属的中央子午线经度λ0、椭球参数a和e,则可通过以下公式求出该点的地球坐标系经纬度(φ,λ)和高度H:A0为以地球椭球体中心为原点,高斯投影坐标系中心投影坐标为(0,0)的点到椭球面的距离。

高斯投影正反算

高斯投影正反算

高斯投影正反算LT2340123423401234...........q m m y m y m y m y l n n y n y n y n y '''''=+++++'''''=+++++3.引入高斯投影条件之一:正形条件4.由于可得到00n '=,带入上式可得到 2402435135...........q m m y m y l n y n y n y '''=+++'''=+++5.引入高斯投影条件之三:中央子午线投影后长度不变001122223322442255sec sec 122sec (12)6sec (56)24sec (5286)120f f f f f f f f f f f f f f f f f f f m q B dm n dx N t B dn m dx N B n t N t B m t N B n t N ηηη'=⎧⎪'⎪'==⎪⎪⎪''=-=-⎪⎪⎪⎨'=-++⎪⎪⎪'=++⎪⎪⎪⎪'=++⎪⎩四、高斯投影的特点1.当l 等于常数时,随着B 的增加x 的值增大,y 的值减小,无论B 值为正或为负,y 值不变。

这就是说,椭球面上除中央子午线外,其它子午线投影后,均向中央子午线弯曲,并向两极收敛,同时还对称于中央子午线和赤道。

2.当B 等于常数时,随着l 的增加,x 值和y 值都增大。

所以在椭球面上对称于赤道的纬圈,投影后仍成为对称的曲线,同时与子午线的投影曲线互相垂直凹向两极。

3.据中央子午线越远的子午线,投影后弯曲越厉害,长度变形越大。

五、MATLAB编程实现坐标正反算1.编写main函数function maindisp('欢迎使用高斯投影正反算及相邻带的坐标换算程序');disp('1:高斯正算 2:高斯反算 3:换带计算');K=0;while (K<1||K>3)K=input('请根据上列选择计算类型 K=');switch Kcase 1GSZS;case 2GSFS;case 3HDJS;otherwisedisp('K 值无效(1-3)');enddisp('程序作者:亚里士多墩');disp('指导老师:亚里士多德');end2.编写高斯正算GSZS函数function GSZS%GSZS 是将大地坐标换算为高斯坐标的子函数%此函数要调用 DHH 和 HHD 两个子函数%此函数包含子午线收敛角的计算disp('你选择的是高斯正算');B=input('输入大地坐标 B=');L=input('输入大地坐标 L=');L0=input('输入所用中央子午线 L0=');B=DHH(B);L=DHH(L);L0=DHH(L0);disp('1:克拉索夫斯基椭球 2:1975 年国际椭球 3:WGS-84 椭球');T=0;while (T<1||T>3)T=input('请根据上列选择椭球模型 T=');switch Tcase 1a=6378245.0000000000;b=6356863.0187730473;X=111134.861*(B*180/pi)-16036.480*sin(2*B)+16.828*sin(4*B)-0.022*sin (6*B);case 2a=6378140.0000000000;b=6356755.2881575287;X=111133.005*(B*180/pi)-16038.528*sin(2*B)+16.833*sin(4*B)-0.022*sin (6*B);case 3a=6378137.0000000000;f=1/298.257223563;b=a*(1-f);X=6367449.1458*B-32009.8185*cos(B)*sin(B)-133.9975*cos(B)*(sin(B))^3-0.6975*cos(B)*(sin(B))^5;otherwisedisp('T 值无效(1-3)');endende=(sqrt(a^2-b^2))/a;e1=(sqrt(a^2-b^2))/b;V=sqrt(1+(e1^2)*(cos(B))^2);c=(a^2)/b;M=c/(V^3);N=c/V;t=tan(B);n=sqrt((e1^2)*(cos(B))^2);l=L-L0;xp1=X;xp2=(N*sin(B)*cos(B)*l^2)/2;xp3=(N*sin(B)*((cos(B))^3)*(5-t^2+9*n^2+4*n^4)*l^4)/24; xp4=(N*sin(B)*((cos(B))^5)*(61-58*t^2+t^4)*l^6)/720;x=xp1+xp2+xp3+xp4;yp1=N*cos(B)*l;yp2=N*(cos(B))^3*(1-t^2+n^2)*l^3/6;yp3=N*(cos(B))^5*(5-18*t^2+t^4)*l^5/120;y=yp1+yp2+yp3;r1=l*sin(B);r2=(1/3)*sin(B)*(cos(B))^2*(l^3)*(1+3*n^2+2*n^4);r3=(1/15)*sin(B)*(cos(B))^2*(l^5)*(2-t^2);r=r1+r2+r3;format long gxyR=HHD(r)End3.编写高斯反算公式GSFS函数function GSZS%GSZS 是将大地坐标换算为高斯坐标的子函数%此函数要调用 DHH 和 HHD 两个子函数%此函数包含子午线收敛角的计算disp('你选择的是高斯正算');B=input('输入大地坐标 B=');L=input('输入大地坐标 L=');L0=input('输入所用中央子午线 L0=');B=DHH(B);L=DHH(L);L0=DHH(L0);disp('1:克拉索夫斯基椭球 2:1975 年国际椭球 3:WGS-84 椭球');T=0;while (T<1||T>3)T=input('请根据上列选择椭球模型 T=');switch Tcase 1a=6378245.0000000000;b=6356863.0187730473;X=111134.861*(B*180/pi)-16036.480*sin(2*B)+16.828*sin(4*B)-0.022*sin (6*B);case 2a=6378140.0000000000;b=6356755.2881575287;X=111133.005*(B*180/pi)-16038.528*sin(2*B)+16.833*sin(4*B)-0.022*sin (6*B);case 3a=6378137.0000000000;f=1/298.257223563;b=a*(1-f);X=6367449.1458*B-32009.8185*cos(B)*sin(B)-133.9975*cos(B)*(sin(B))^3 -0.6975*cos(B)*(sin(B))^5;otherwisedisp('T 值无效(1-3)');endende=(sqrt(a^2-b^2))/a;e1=(sqrt(a^2-b^2))/b;V=sqrt(1+(e1^2)*(cos(B))^2);c=(a^2)/b;M=c/(V^3);N=c/V;t=tan(B);n=sqrt((e1^2)*(cos(B))^2);l=L-L0;xp1=X;xp2=(N*sin(B)*cos(B)*l^2)/2;xp3=(N*sin(B)*((cos(B))^3)*(5-t^2+9*n^2+4*n^4)*l^4)/24;xp4=(N*sin(B)*((cos(B))^5)*(61-58*t^2+t^4)*l^6)/720;x=xp1+xp2+xp3+xp4;yp1=N*cos(B)*l;yp2=N*(cos(B))^3*(1-t^2+n^2)*l^3/6;yp3=N*(cos(B))^5*(5-18*t^2+t^4)*l^5/120;y=yp1+yp2+yp3;r1=l*sin(B);r2=(1/3)*sin(B)*(cos(B))^2*(l^3)*(1+3*n^2+2*n^4); r3=(1/15)*sin(B)*(cos(B))^2*(l^5)*(2-t^2);r=r1+r2+r3;format long gxyR=HHD(r)End六、代码测试1.L=111°47'24〞.8974,B=31°04'41〞.6832,L0=111°2.L=111.47532575,B=31.23484275,L0=1113.L=114.20,B=30.30,L0=1114.L=118.54152206,B=32.24576522,L0=117。

大地测量高斯投影正反算

大地测量高斯投影正反算

高斯投影正反算姓名:王义文班级:四班学号:2009301610135程序说明:本程序基于MFC基本对话框,由于MFC程序构建框架的代码冗长,打印出来恐怕影响阅读效率,所以下面的代码是经过剔除之后的一些核心代码,希望老师谅解!界面关联变量说明:纬度值的度、分、秒分别与B_DD,B_MM,B_SS相关联,缺省项自动设定为0。

经度值的度、分、秒分别与L_DD,L_MM,L_SS相关联,同上。

L0_DD则表示为L0的值,单位:度。

x,y分别与坐标值关联,且y为加500KM以后的值。

单位:米。

m_keshi=1是克氏椭球,=0为IAG椭球,且此处不能缺省。

m_zheng=1表示正算,=0为反算,且此处不能缺省。

核心代码说明:void C高斯投影正反算4Dlg::OnBnClickedRadio3() //此处为正算的设定,如果正算,设定输入焦{ 点在B_DD。

x,y为只读项。

m_zheng=1;((CEdit*)GetDlgItem(IDC_EDIT1))->SetFocus();((CEdit*)GetDlgItem(IDC_EDIT1))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT3))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT4))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT5))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT6))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT7))->SetReadOnly(FALSE);((CEdit*)GetDlgItem(IDC_EDIT8))->SetReadOnly();((CEdit*)GetDlgItem(IDC_EDIT9))->SetReadOnly();}void C高斯投影正反算4Dlg::OnBnClickedRadio4() //反算的设定:设置输入焦点在L0_DD,且B,{ L的角度值为只读。

一个老师给的高斯投影正、反算c++源码

一个老师给的高斯投影正、反算c++源码

一个老师给的高斯投影正、反算c++源码//高斯投影正、反算//////6度带宽 54年北京坐标系//高斯投影由经纬度(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)-(35*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;}//高斯投影由大地坐标(Unit:Metres)反算经纬度(Unit:DD)void GaussProjInvCal(double X, double Y, double *longitude, double *l atitude){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;}如果有需要程序的,可以直接跟我联系,呵呵附:高斯正反算参数pi=0.0174532925 ※※0.0174532925199433 //π长半轴a=6378245.0; 扁率f=1.0/298.3; //54年北京坐标系参数长半轴a=6378140.0; 扁率f=1/298.257; //80年西安坐标系参数长半轴a=6378137m;扁率f=1:298.257223563。

高斯投影坐标计算

高斯投影坐标计算
高斯投影坐标计算
本节要点提要
1、高斯投影坐标正算公式 2、高斯投影坐标反算公式 3、高斯投影坐标正算的数值公式 4、高斯投影坐标反算的迭代计算公式
地图投影的分类
• 按投影变形性质分类: 等角投影 等距投影 等积投影
a=b
• 按投影面分类 : 圆锥面 正轴投影 切投影
a=1 or b=1
圆柱(椭圆柱) 面 横轴投影 割投影
(1)中央子午线投影后为直线; (2)中央子午线投影后长度不变; (3)投影具有正形性质,即正形投影 条件。
高斯投影坐标正算
l =3/ρ=0.052
1) 由第一个条件(中央子午线投影后为直线) 可知,由于地球椭球体是一个旋转椭球体,即 中央子午线东西两侧的投影必然对称于中央子 午线。 x 为 l 的偶函数,而y 则为 l 的奇函数。
由恒等式两边对应系数相等,建立求解待定系数的递推公式
d m d m d m 1 1 0 1 m m m = 2 1 2 3 d q 2 d q 3 d q
m0=?
3) 由第二条件(中央子午线投影后长度不变)可 知,位于中央子午线上的点,投影后的纵坐标 x 应 该等于投影前从赤道量至该点的子午弧长。
Байду номын сангаас
a· b=1
平面投影 斜轴投影
• 按投影的中心轴线: • 按椭球面与投影面的切割情况分:
高斯投影特性(三个): – 中央子午线投影后为一直线,且长度不变; 其它经线为凹向中央子午线的曲线,且长 度改变。 – 投影后,赤道为一直线,但长度改变,其 它纬线呈凸向赤道的曲线。 – 投影后,中央子午线与赤道线正交,经线 与纬度也互相垂直,即高斯投影为等角投 影。
将各系数代入,略去高次项,得高斯投影 坐标正算公式精度为0.001m

第四章 7高斯投影坐标正反算

第四章 7高斯投影坐标正反算

2
x y , q l
x y l q
柯西-黎曼条件(公式)是
椭球面与平面之间的正形投影的一般条件
考虑到F=0,E=G,长度比公式简化为
x y q q E m2 2 = r r2
2
2 2
x y l l G m2 2 = r r2
x m0 m 2 l 2 m 4 l 4 y m1l m3 l 3 m5 l 5
分别对l 和q 求偏导数
2) 由第三个条件正形投影条件
y x x y 和 l q l q
dm0 dm2 2 dm4 4 2 4 m1 3m3 l 5m5 l dq dq l dq l 2m l 4m l 3 dm1 l dm3 l 3 dm5 l 5 2 4 dq dq dq
§4.9.2 正形投影的一般条件
一、长度比的通用公式推导
dS 2 ( MdB)2 ( N cos Bdl )2
M dB
ds 2 dx 2 dy 2
N cos B d l
长度比平方为:
dx 2 dy 2 ds 2 m 2 2 dS ( MdB) ( N cos Bdl )

上式为与方向有关的长度比的通用公式。 上式在什么条件下与方向无关?
F 0
E G
柯西.黎曼条件(续)
正形条件:m与A无关,即满足: F 0
E G
2 2 2
x x y y 0 q l q l
y y x q l x l q
x y x y q q l l

高斯投影正反算公式83

高斯投影正反算公式83

§8.3高斯投影坐标正反算公式任何一种投影①坐标对应关系是最主要的;②如果是正形投影,除了满足正形投影的条件外(C-R 偏微分方程),还有它本身的特殊条件。

8.3.1高斯投影坐标正算公式: B, x,yl ⇒高斯投影必须满足以下三个条件:①中央子午线投影后为直线;②中央子午线投影后长度不变;③投影具有正形性质,即正形投影条件。

由第一条件知中央子午线东西两侧的投影必然对称于中央子午线,即(8-10)式中,x 为的偶函数,y 为的奇函数;,即,l l 0330'≤l 20/1/≈''''ρl 如展开为的级数,收敛。

l (8-33)+++=++++=553316644220l m l m l m y l m l m l m m x 式中是待定系数,它们都是纬度B 的函数。

,,10m m 由第三个条件知:qyl x l y q x ∂∂-=∂∂∂∂=∂∂,(8-33)式分别对和q 求偏导数并代入上式l (8-34)----=++++++=+++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 上两式两边相等,其必要充分条件是同次幂前的系数应相等,即l(8-35)dq dm m dqdm m dqdm m 2312013121⋅=⋅-==(8-35)是一种递推公式,只要确定了就可依次确定其余各系数。

0m 由第二条件知:位于中央子午线上的点,投影后的纵坐标x 应等于投影前从赤道量至该点的子午线弧长X ,即(8-33)式第一式中,当时有:0=l(8-36)0m X x==顾及(对于中央子午线)B V Mr M B N dq dB M dBdXcos cos 2====得:(8-37,38) B Vc B N r dq dB dB dX dq dX dq dm m cos cos 01===⋅===(8-39)B B Ndq dB dB dm dq dm m cos sin 22121112=⋅-=⋅-=依次求得并代入(8-33)式,得到高斯投影正算公式6543,,,m m m m6425644223422)5861(cos sin 720)495(cos 24cos sin 2lt t B B N lt B simB N l B B N X x ''+-''+''++-''+''⋅''+=ρηηρρ (8-42)5222425532233)5814185(cos 120)1(cos 6cos l t t t B N lt B N l B N y ''-++-''+''+-''+''⋅''=ηηρηρρ8.3.2高斯投影坐标反算公式x,y B,⇒l投影方程:(8-43)),(),(21y x l y x B ϕϕ==满足以下三个条件:①x 坐标轴投影后为中央子午线是投影的对称轴;② x 坐标轴投影后长度不变;③投影具有正形性质,即正形投影条件。

一个老师给的高斯投影正、反算c++源码

一个老师给的高斯投影正、反算c++源码

//80 年西安坐标系参数
长半轴 a=6378137m;扁率 f=1:298.257223563。//WGS-84 坐标系
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;
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;
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;
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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档