5800坐标程序

5800坐标程序
5800坐标程序

颜色文字Casio5800交点法与线元法(积木法)匝道坐标正反算放样程序(XUFENG 2011.2.14)

本人一直以来想找一个交点法与线元法相结合的坐标正反算程序,在网上找了很久很久,没能找到一个较为满意的,有幸在测量空间看到大歪哥的《Casio5800交点法程序》与《线元法(积木法)匝道坐标正反算放样程序》,根据歪哥意见“需要的自行修改结合XY框架自己修改为数据库反算程序等”,本人不才,采用最笨的办法将两个程序综合了一下,使之能既能进行交点法正反算,又能进行线元法正反算。在此特别感谢大歪哥!

将程序发上来,愿与大家一同交流学习欢迎大家吐口水,只要能进步就行!

程序由一个主程序ZBZFS和8个子程序(JS、XY-A、XY-B、JDYS、1、2、3、4)构成,运行时只需运行主程序即可!

本程序适用于单交点对称型、不对称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标正反算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并能对单一线元进行坐标正反算。

1主程序名:ZBZFS(功能:进入计算主程序)

65→Dimz↙

Deg:Fix 3↙

"1.JD ZFS 2. ZHADAO ZFS"? I: I→Z[61]: "1.ZHONG SHU JS 2. JS"? I

If I=1: Then Goto1: Else Goto2:IfEnd↙

LbI 1 :If Z[61]=1: Then Prog"JDYS":Else Cls:"K0"?A:"KN"?L :"X0"?U :"Y0"?V :"F0"?W :"R0"?P :"RN"?Q:"ZX:-1,+1,0"?G:IfEnd↙

LbI 2 :Prog"JS"

2子程序名:JS(功能:选择正算或反算模式)

Cls:"XC"?H:"YC"?Z↙

Cls:"1.ZS 2.FS"? I: I=2=>Goto 3↙

LbI 1 : Cls: If Z[61]=1: Then"JD ZS KX+XXX"?K :Prog"4": Else "ZHAD AO ZS KX+XXX"?K :IfEnd↙

LbI 2: Cls:90→B: Cls:"RJ Or 0 To K"?B:B=0 =>Goto 1:"Z"?T↙

Prog "XY-A"↙

X+Tcos(M+B)→X↙

Y+Tsin(M+B)→Y↙

360Frac((M+360)÷360→M↙

Pol(X-H,Y-Z : 360Frac((J+360)÷360→J↙

2→O: Prog "XY-B":Goto 2↙

LbI 3 : Cls: If Z[61]=1: Then"JD FS KN+"?K:"X"?C:"Y"?D:Prog"4":El se Cls: "ZHADAO FS":"X"?C:"Y"?D:IfEnd↙

LbI 4 :Prog "XY-A"↙

(D-Y)sin(M)+(C-X)cos(M)→H↙

If Abs(H)>X10-3 :Then K+H→K:Goto 4:IfEnd↙

(D-Y)÷cos(M)→T↙

3→O: Prog "XY-B":Goto 3↙

3子程序名:XY-A(功能:坐标计算程序)

5→N: G(Q-1-P-1)÷Abs(L-A)→F: Abs(K-A)÷N→R: 90R÷π→S:

W+(FNR+2GP-1)NS→M:1→E↙

U+R÷6×(Cos (W)+Cos (M) +4∑(Cos (W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+2∑(Cos (W+((EFR+2GP-1)ES,E,1,(N-1)))→X ↙

V+R÷6×(sin (W)+sin (M) +4∑(sin (W+((E+0.5)FR+2GP-1)×(E+0.5)S),E,0,(N-1))+ 2∑(sin (W+((EFR+2GP-1)ES,E,1,(N-1)))→Y↙

4子程序名:XY-B(功能:显示正算或反算结果)

If O=2:Then↙

Cls :"K×××=":"Z=":"X=":"Y=": Locate 6,1, K : Locate 4, 2, T : Locat e 4,3, X : Locate 4,4, Y◢

If T=0 :Then Cls :"QF(Z)=": Locate 8,1, M:M▼DMS◢

IfEnd↙

Cls :"K×××=":"S=": Locate 6,1, K : Locate 4, 2, I :

"F=":J:J▼DMS◢

IfEnd↙

If O=3:Then "X=":"Y=":"K×××=":"Z=": Locate 4,1,C: Locate 4, 2, D : Locate 6,3,K :Locate 4,4,T◢

IfEnd:Cls↙

5子程序名:4(功能:将交点参数转为线元计算参数)

LbI 1: IF Z[48]<0 :Then -1→Z[62] : Else:1→Z[62]:IfEnd

LbI 2: If K≥Z[57]:Then Z[57]→A:Z[1]→L:Z[23]→U:Z[24]→V : Z[31]→W : 1 0^45→P:10^45→Q : 0→G:IfEnd↙

LbI 3:If K≥Z[1]:Then Z[1]→A : Z[2]→L : Z[19]→U : Z[20]→V:Z[29]→W : 10 ^45→P:Z[46]→Q : Z[62]→G: IfEnd↙

LbI 4:If K≥Z[2]:Then Z[2]→A : Z[4]→L:Z[25]→U : Z[26]→V:Z[32]→W : Z[4 6]→P: Z[46]→Q : Z[62]→G: IfEnd↙

LbI 5:f K≥Z[4]:Then Z[4]→A : Z[5]→L : Z[27]→U:Z[28]→V : Z[33]→W : Z [46]→P: 10^45→Q : Z[62]→G: IfEnd↙

LbI 6:If K≥Z[5]:Then Z[5]→A : Z[5]+1000→L:Z[21]→U : Z[22]→V : Z[30]→W :10^45→P: 10^45→Q : 0→G : IfEnd↙

6子程序名:JDYS(功能:输入交点要素、显示交点要素及主点坐标)

Cls : "BP"?H:H→Z[57]:"K(JD)"?K:K→Z[41] :"X(JD)"?X :X→Z[4 2]:"Y(JD)"?Y:Y →Z[43]:"LS1"?B:B→Z[44] :"LS2"?C:C →Z[45]: ?R:R →Z[46]:"(ZH)FWJ°"?M:M→Z[47] : "α(Z-,Y+)°"?O:O→Z[48] : Z[47]+Z [48]→Z[49]: Prog "1":Prog "2"↙

Cls :"T1=":"T2=":"L=":"LY=": Locate 4,1, Z[50] : Locate 4,2, Z[51]: L ocate 4,3, Z[52] : Locate 4,4, Z[53]◢

Cls :"E=": Locate 7,1, Z[54]

Cls :"K(QD)=": "X=": "Y=": "FWJ="Locate 7,1,Z[57] :Locate 7,2, Z[2 3] :Locate 7,3, Z[24] :Locate 7,4, Z[31] ◢

Cls :"K(ZH)=": "X=": "Y=": "FWJ=":Locate 7,1,Z[1] : Locate 7,2, Z [19] :Locate 7,3, Z[20] :Locate 7,4, Z[29]◢

Cls : "K(HY)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[2] : Locate 7,2, Z[25] :Locate 7,3, Z[26] :Locate 7,4, Z[32]◢

Cls :"K(QZ)=": Locate 7,1,Z[3]◢

Cls :"K(YH)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[4] : Locate 7,2, Z[27] :Locate 7,3, Z[28] :Locate 7,4, Z[33]◢

Cls :"K(HZ)=": "X=": "Y=": "FWJ=": Locate 7,1,Z[5] : Locate 7,2, Z[21] :Locate 7,3, Z[22] :Locate 7,4, Z[30]◢

7子程序名:1(功能:计算交点要素)

If Z[48]<0 :Then -1→Z[55] : Else 1→Z[55] : IfEnd : Z[55]* Z[48]→Z[56] ↙Z[44] 2 ÷24÷Z[46]- Z[44]^(4)÷2688÷Z[46] ^(3) →Z[6] ↙

Z[45] 2 ÷24÷Z[46]- Z[45]^(4)÷2688÷Z[46] ^(3) →Z[7] ↙

Z[44]÷2-Z[44]^(3)÷240÷Z[46]2 →Z[8] ↙

Z[45]÷2-Z[45]^(3)÷240÷Z[46]2 →Z[9] ↙

Z[8]+(( Z[46]+Z[7]-( Z[46]+Z[6])cos(Z[56]))÷sin(Z[56]))→Z[50]↙

Z[9]+(( Z[46]+Z[6]-( Z[46]+Z[7])cos(Z[56]))÷sin(Z[56]))→Z[51]↙

Z[46]* Z[56]π÷180+( Z[44]+ Z[45]) ÷2→Z[52]↙

Z[46]* Z[56]π÷180-( Z[44]+ Z[45]) ÷2→Z[53]↙

(Z[46]+(Z[6]+Z[7])÷2)÷cos(Z[56]÷2)- Z[46]→Z[54]↙

Z[41]-Z[50]→Z[1] ↙↙

Z[1]+Z[44]→Z[2] ↙↙

Z[2]+Z[53]÷2→Z[3]↙

Z[1]+Z[52]-Z[45]→Z[4]↙

Z[4]+Z[45]→Z[5]↙

8子程序名:2(功能:计算主点坐标及切线方位角)

Z[42]-Z[50]cos(Z[47])→Z[19]: (直缓坐标)

Z[43]-Z[50]sin(Z[47])→Z[20]↙

Z[47]→Z : 360Frac((Z+360)÷360→Z[29] (方位角)

Z[42]+Z[51]cos(Z[49])→Z[21]: (缓直坐标)

Z[43]+Z[51]sin(Z[49])→Z[22]↙

Z[49]→Z: 360Frac((Z+360)÷360→Z[30] (方位角)

Z[1]-Z[57]→L↙(H→Z[57]为前直线起点桩号)

Z[42]-( Z[50]+L)cos(Z[47])→Z[23]↙(前直线起点坐标)

Z[43]-( Z[50]+L)sin(Z[47])→Z[24]↙

Z[47]→Z : 360Frac((Z+360)÷360→Z[31]↙(方位角)

Z[44]→Z[12]:Z[44]→Z[13]:Prog"3"↙

Z[4]-Z[1]→L:90(2L-Z[44])÷Z[46]÷π→Z[11]↙

Z[46]sin(Z[11])+Z[8]→Z[14]:Z[46](1-cos(Z[11]))+Z[6]→Z[15]↙

Z[19]+Z[14]cos(Z[47])-Z[55]Z[15]sin(Z[47])]→Z[27]↙(圆缓点坐标)

Z[20]+Z[14]sin(Z[47])+Z[55]Z[15]cos(Z[47])]→Z[28]↙

Z[47]+Z[55]Z[11]→Z: 360Frac((Z+360)÷360→Z[33]↙(方位角)

Z[2]-Z[1]→L:90(2L-Z[44])÷Z[46]÷π→Z[58]↙

Z[46]sin(Z[58])+Z[8]→Z[14]:Z[46](1-cos(Z[58]))+Z[6]→Z[15]↙

Z[19]+Z[14]cos(Z[47])-Z[55]Z[15]sin(Z[47])]→Z[25]↙(缓圆点坐标)

Z[20]+Z[14]sin(Z[47])+Z[55]Z[15]cos(Z[47])]→Z[26]↙

Z[47]+Z[55]Z[58]→Z: 360Frac((Z+360)÷360→Z[32]↙(方位角)

9子程序名:3(主点坐标计算辅助程序)

If Z[12]=0 :Then 0→Z[14]: 0→Z[15]:Else↙

Z[12]- Z[12]^(5)÷40÷(Z[46]*Z[13])2+ Z[12]^(9)÷3456÷(Z[46]*Z[13])^(4) →Z[14]↙Z[12]^(3)÷6÷(Z[46]*Z[13])-Z[12]^(7)÷336÷(Z[46]*Z[13])^(3)+ Z[12]^(11) ÷42240÷(Z[46]*Z[13])^(5)→Z[15] ↙

IfEnd↙

程序说明:

1、进入程序:1.JD ZFS 2. ZHADAO ZFS? 选1为交点法正反算(以后操作均为交点法计算),选2为线元法正反算(以后操作均为线元法计算)

2、ZHONG SHU JS 2. JS?选1重输参数,选2直接进入交点法或线元法正反算(参数为已输过的参数)

3、参数输入:

一、交点法已知数据输入:

BP?上一交点ZH桩号

K(JD)?交点桩号

X(JD)?交点X坐标

Y(JD)?交点Y坐标

LS1 ?第一缓和曲线长度

LS2 ?第二缓和曲线长度

R ? 圆曲线半径

(ZH)FWJ°?交点前(即前交点至本交点也即ZH点)的正切线方位角

α(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)

交点法计算要素显示:

T1=第一切线长

T2=第二切线长

L=曲线总长

LY=圆曲线长

E=曲线外距

K(ZH)=直缓点桩号

K(HY)=缓圆点桩号

K(QZ)=曲中点桩号

K(YH)=圆缓点桩号

K(HZ)=缓直点桩号

二、线元法已知数据输入:

K0?KN? R0? RN?F0?X0? Y0?ZX? 分别为线元起点桩号、终点桩号、起点半径、终点半径、起点切线方位角、起点X坐标、起点Y坐标、线元转向。

4、XC ? YC? 输入置镜点即测站的X,Y坐标

5、1.ZS 2.FS选1正算选2反算

程序线元判断原则:

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;

(2) 当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线右侧时,Z取正值。

(3) 当线元为直线时,其起点、终点的曲率半径为无穷大,以10的45次代替输入×10x45。

(4) 当线元为圆曲线时,无论其起点、终点与什么线元相接,其曲率半径均等于圆弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的4 5次代替输入×10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径为无穷大,以10的45次代替输入×10x45;与圆曲线相接时,曲

率半径等于圆曲线的半径。

(6) 当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。

6、循环计算部份:

输入与显示简单说明

JD ZS KX+XXX? 或ZHADAO ZS KX+XXX?输入所求的桩号(交点法或线元法)

Z ?输入所求点距中线的边距(在中线输零,左负右正)

RJ?输入边桩时左右边桩连线与线路前进方向中桩切线的右交角(当输入数字0时进入下一个桩号计算输入)

X =、Y = 计算得出的所求点的左、中、右的X Y坐标

QF(Z)= ×××计算得出所求点的中桩切线方位角

F= ×××计算得出置镜点到测点的方位角

S= ×××计算得出置镜点到测点的水平距离

JD FS KN+? 交点法反算时需输入反算点所在(前直线,前缓和段、圆曲线、后缓和段、后直线)线元中的任一点桩号(定位线元用)

X=×××反算输入所求点的X坐标

Y=×××反算输入所求点的Y坐标

K=×××计算得出求点所对应的里程

Z=×××计算得出求点到所对应的里程的垂直距离(负就是左边,正就是右边)

5800计算器程序下载

阅览室馆友我的图书馆 kaixin100 | | 分享

U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos( G+QEFW (C+FWD))+Acos(G+QEMW(C+MWD)))→X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+ QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) →Y: G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y 反算子程序SUB2 G-90→T (Y-V)cosT-(X-U)sin(T) →W Abs(W)→W:0→Z Lbl6:Prog "SUB1" T+QEW(C+WD) →L:(J-Y)cos(L)-(I-X)sin(L)→Z IF Abs(Z)<1E-6:Then0→Z:Prog "SUB1":(J-Y)÷sin(F)→Z:Else W+Z→W:Goto6:IfEnd 数据库子程序SUB0 Goto 1(线元可输入多条,分离式可在前多加一位,匝道一样。例:左幅为K129+500,右幅输线元参数里程为1129+500,其他不变,前面 1为任意数字,计算机便于区分) Lbl 1:IF S<线元终点里程:Then@@@→O(线元起点里程) :@@@ →U(线元起点X坐标):@@@→V(线元起点Y坐标):@@@→G(线元起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd IF S<线元终点里程:Then@@@→O(线元起点里程) :@@@ →U(线元起点X坐标):@@@→V(线元起点Y坐标):@@@→G线元(起点计算方位角):@@@→P(线元起点半径):@@@→R(线元止点半径):@@@→H(线元长度):@@@→Q(线元左、右偏标志,左偏-1,右偏1,直线为0):Return:IfEnd 。。。。。。。。。。。。。。。。。。。。。。。。。。。 一程序功能 本程序由一个主程序(ZBJS)和3个子程——正算子程序(SUB1)、反 算子程序( SUB2) 、数据库子程序(SUB0)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线 元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲 率半径、止点曲 率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标 进行正反算。另 外也可以将本程序中核心算法部分的两个子程序移植到其它相关的 程序中,用于对曲 线任意里程中边桩坐标进行正反算。本程序也可以在CASIO fx-4500P计算器及CASIO fx-4850P计算器上运行。 二、使用说明

FX5800P计算器坐标正反算程序Word文档

(以下程序是专业人士编写,本店铺不对程序负责,仅供您参考使用。) 卡西欧fx5800p计算器坐标正反算程序

一、程序功能 本程序由 6 个主程序、 5 个次子程序及 5 个参数子程序组成。主要用于公路测量中坐标正反算,设计任意点高程及横坡计算 , 桥涵放样,路基开挖口及填方坡脚线放样。程序坐标计算适应于任何线型 . 二、源程序 1. 主程序 1 :一般放样反算程序(① 正算坐标、放样点至置仪点方位角及距离;② 反算桩号及距中距离 ) 程序名 :1ZD-XY Lb1 0:Norm 2 F=1 : ( 正反算判别, F=1 正算, F=2 反算 , 也可以改 F 前加?,改 F 为变量 ) Z[1]=90 (与路线右边夹角) Prog " THB ": F=1=>Goto 1:F=2=>Goto 2 Lb1 1: F ix 3: "X = ": Locate 6,4, X◢ "Y=": Locate 6,4, Y◢ P rog "3JS”:Goto 0: Lb1 2:Fix 3: "KM=": Locate 6,4, Z◢ "D=": Locate 6,4, D◢ G oto 0 2.主程序2:高程序横坡程序 ( 设计任意点高程及横坡 ) 程序名: 2GC LbI 0:Norm 2 “KM”?Z:?D: Prog”H”:Fix 3:” H=”:Locate 6,4,H◢ “ I=”: Locate 6,4,I◢ Goto 0 3. 主程序 3 :极坐放样计算程序 ( 计算放样点至置仪点方位角及距离 ) 程序名: 3JS X : Y : 1268 .123→K( 置仪点 X 坐标 ) 2243 .545→L (置仪点 Y 坐标,都是手工输入 , 也可以建导线点数据库子程序 , 个人认为太麻烦) Y-L→E : X-K→F : Pol(F,E):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:( 不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢ 来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢( 不习惯小数点后四位为角度显示的,也可以用命令 J◢DMS◢ 来直接显示 ) Fix 3:” S=”:Locate 6,4,I◢ 4 .主程序 4 :涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序 3 中输入置仪点坐标后计算放样点至置仪点方位角及距离 ) 程序名: 4JH-XY LbI 0:Norm 2 90→Z[1]( 涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量 )

空间直角坐标系与大地坐标系转换程序

空间直角坐标系与大地坐标系转换程序 #include #include #include using namespace std; #define PI (2.0*asin(1.0)) void main() { double a,b,c,d1,d2,f1,f2,m1,m2,B,L,H,X,Y,Z,W,N,e; //cout<<"请分别输入椭球的长半轴、短半轴(国际单位)"<>a>>b; a=6378137; //以WGS84为例 b=6356752.3142; e=sqrt(a*a-b*b)/a; c=a*a/b; int x; cout<<"请输入0或1,0:大地坐标系到空间直角坐标系;1:空间直角坐标系到大地坐标系"<>x; switch(x) { case 0: { cout<<"请分别输入该点大地纬度、经度、大地高(国际单位,纬度经度请按度分秒,分别输入)"<>d1>>f1>>m1>>d2>>f2>>m2>>H; B=PI*(d1+f1/60+m1/3600)/180; L=PI*(d2+f2/60+m2/3600)/180; W=sqrt(1-e*e*sin(B)*sin(B)); N=a/W; X=(N+H)*cos(B)*cos(L); Y=(N+H)*cos(B)*sin(L); Z=(N*(1-e*e)+H)*sin(B); cout<<"空间直角坐标系中X,Y,Z,坐标值(国际单位)分别为"<>X>>Y>>Z; double t,m,n, P,k,B0; m=Z/sqrt(X*X+Y*Y); //t0 B0=atan(m); //初值 n=Z/sqrt(X*X+Y*Y);

CASIO5800ZXZFS直线正反算坐标计算程序

[原创] CASIO fx-5800P ZXZFS 直线正反算坐标计算程序 原理:采用正余弦定理求待求点垂距进行确定里程和偏距。 公式:tan-1((yb-ya)/(xb-xa)) 、√(xB-xA)2+(yB-yA)2、sinα×D、Q÷tan(α) 说明:该程序适用于计算器 CASIO fx-5800P,针对直线正反算设计,正算可算直线中边桩坐标及其斜交、反算可推算直线距线路中心的里程偏距。 1、DK(QD)? 输入起点里程 2、X(QD)? 输入起点坐标X 3、Y(QD)? 输入起点坐标Y 4、FWJ? 输入计算方位角 5、J? 输入1为正算、输入2为反算 6、JSDK? 输入计算里程 主程序名:ZXZFS Deg:Fix 4↙ "DK(QD)"?A:"X(QD)"?B:"Y(QD)"?C:"FWJ"?F↙ "1=>XY.2=>DK":"J"?W↙ If W=1:Then Goto 1:Else If W=2:Then Goto 2:IfEnd↙ Lb1 1↙ "JSDK"?E:"PJ"?G:"PA"?H↙ "X=":B+(E-A) ×cos(F)+G×cos(F+H)→X◢ "Y=":C+(E-A) ×sin(F)+G×sin(F+H)→Y◢ "ZJD(X)"?S:"ZJD(Y)"?T↙ "PJ=":Pol(X-S,Y-T):I→M◢ "FWJ=":If J<0:Then J+360→N:Else J→N:N▲DMS◢ Goto 1↙ Lb1 2↙ "X="?K:"Y="?L↙ Pol(K-B,L-C):I→D:If J<0:Then J+360→P:Else J→P:IfEnd↙ If F

卡西欧5800计算器坐标正反算程序

M = (1.0/Re-1.0/Rs)/Ls; x=∫{cos(Ta + L/Rs + 0.5*M *L*L),0,L}; y=∫{sin(Ta +L/Rs + 0.5*M *L*L),0,L}; a(i)= Ta +L/Rs + 0.5*M *L*L Rs:缓和曲线起点半径 Re:缓和曲线止点半径 Rs,Re (NE坐标系下,右偏为正,左偏为负) Ta:缓和曲线起点的真北方位角 Ls:不完整缓和曲线长度。 此公式为缓和曲线在坐标系下任意位置的通用积分公式,能完全适应缓和曲线左偏、右偏、Rs >Re 、Rs NE”:“2.NE=>SZ”:?Q:?S:Prog“QXJS-SUB0”↙ Lbl 0:Q=1 => Goto1:Q=2 => Goto2:↙ Lbl 1:?Z:?G:Prog“QXJS-SUB1”:“N=”:N◢“E=”:E◢“F=”:F◢Goto4↙ Lbl 2: “N=”:?B: “E=”:?C:B→N: C→E:Prog“QXJS-SUB2”: “S=”:S◢: “Z=”:Z◢: Goto4↙ QXJS-SUB0 数据库子程序 Goto1↙同时保存多个曲线时的指针 Lbl 1 IF S<***(线元终点里程):Then***→A(线元起点方位角):***→O(线元起点里程):***→U(线元起点X):***→V(线元起点Y):***→P(线元起点曲率半径):***→R(线元终点曲率半径): ***→L(线元起点至终点长度): Return:IfEnd↙ IF S<***:Then***→A:***→O:***→U:***→V:***→P:***→R: ***→L: Return:IfEnd↙………………………..为了便于解读,每增加一个线元增加一行语句,每增加一条曲线增加一个Lbl,每增加一个工程增加一个文件。 QXJS-SUB1 正算子程序 0.5(1÷R-1÷P)÷L→D:S-O→X↙ U+∫(cos(A+(X÷P+DX2)×180÷π,0,X)→N↙ V+∫(sin(A+(X÷P+DX2)×180÷π,0,X)→E↙ A+(X÷P+DX2)×180÷π→F↙ N+Zcos(F+G) →N:E+Zsin(F+G) →E QXJS-SUB2 反算子程序 Lbl 1:0→Z:1→Q:Prog“QXJS-SUB0”: Prog“QXJS-SUB1”↙

坐标系转换问题

坐标系转换问题--WGS84坐标 BJ54 BJ80 2012-10-18 14:37 对于坐标系的转换,给很多GPS的使用者造成一些迷惑,尤其是对于刚刚接触的人,搞不明白到底是怎么一回事。我对坐标系的转换问题,也是一知半解,对于没学过测量专业的人来说,各种参数的搞来搞去实在让人迷糊。在我有限的理解范围内,我想在这里简单介绍一下,主要是抛砖引玉,希望能引出更多的高手来指点迷津。 我们常见的坐标转换问题,多数为WGS84转换成北京54或西安80坐标系。其中WGS84坐标系属于大地坐标,就是我们常说的经纬度坐标,而北京54或者西安80属于平面直角坐标。对于什么是大地坐标,什么是平面直角坐标,以及他们如何建立,我们可以另外讨论。这里不多啰嗦。 那么,为什么要做这样的坐标转换呢? 因为GPS卫星星历是以WGS84坐标系为根据而建立的,我国目前应用的地形图却属于1954年北京坐标系或1980年国家大地坐标系;因为不同坐标系之间存在着平移和旋转关系(WGS84坐标系与我国应用的坐标系之间的误差约为80),所以在我国应用GPS进行绝对定位必须进行坐标转换,转换后的绝对定位精度可由80提高到5-10米。简单的来说,就一句话,减小误差,提高精度。 下面要说到的,才是我们要讨论的根本问题:如何在WGS84坐标系和北京54坐标系之间进行转换。 说到坐标系转换,还要罗嗦两句,就是上面提到过的椭球模型。我们都知道,地球是一个近似的椭球体。因此为了研究方便,科学家们根据各自的理论建立了不同的椭球模型来模拟地球的形状。而且我们刚才讨论了半天的各种坐标系也是建立在这些椭球基准之上的。比如北京54坐标系采用的就是克拉索夫斯基椭球模型。而对应于WGS84坐标系有一个WGS84椭球,其常数采用IUGG第17届大会大地测量常数的推荐值。WGS84椭球两个最常用的几何常数:长半轴:6378137±2(m);扁率:1:298.257223563 之所以说到半长轴和扁率倒数是因为要在不同的坐标系之间转换,就需要转换不同的椭球基准。这就需要两个很重要的转换参数dA、dF。 dA的含义是两个椭球基准之间半长轴的差;dF的含义是两个椭球基准之间扁率倒数的差。在进行坐标转换时,这两个转换参数是固定的,这里,我们给出在进行84—〉54,84—〉80坐标转换时候的这两个参数如下: WGS84>北京54:DA:-108;DF:0.0000005 WGS84>西安80:DA: -3 ;DF: 0 椭球的基准转换过来了,那么由于建立椭球的原点还是不一致的,还需要在dXdYdZ这三个空间平移参量,来将两个不同的椭球原点重合,这样一来才能使两个坐标系的椭球完全转换过来。而由于各地的地理位置不同,所以在各个地方的这三个坐标轴平移参量也是不同的,因此需要用当地的已知点来计算这三个参数。具体的计算方法是: 第一步:搜集应用区域内GPS“B”级网三个以上网点WGS84坐标系B、L、H值及我国坐标系(BJ54或西安80)B、L、h、x值。(注:B、L、H分别为大地坐标系中的大地纬度、大地经度及大地高,h、x分别为大地坐标系中的高程及高程异常。各参数可以通过各省级测绘局或测绘院具有“A”级、“B”级网的单位获得。) 第二步:计算不同坐标系三维直角坐标值。计算公式如下: X=(N+H)cosBcosL Y=(N+H)cosBsinL Z=[N(1-e2)+H]sinB

卡西欧fx5800计算器缓和曲线编程

1fx-5800P计算器编程 缓和曲线程序 14→DimZ :“ZHK”:?K:?R :? A:?L:? T:? F:“Y+1,Z-1”:?P:“JDX”:?Q:“JDY”:?W:180÷(πR)→Z:0.5L-L^3÷(240R2)→Z[8]:“LZ”:ZL÷2→B:A÷Z+L→Z[13]◢ “ZHK=”:K◢ “HYK=”:K+L→Z[1]◢ “YHK=”:K+ Z[13] -L→Z[2]◢ “HZK=”:K+ Z[13]→Z[3]◢ “ZHX=”:Q+Tcos(F+180)→U◢ “ZHY=”:W+Tsin(F+180)→V◢ “HZX=”:Q+ Tcos(F+PA)→Z[6]◢ “HZY=”:W+ Tsin (F+PA)→Z[7]◢ Lb1 0:“CDZH”:?M If M≤K:Then Goto 6:Else If M≤Z[1] :Then Goto 1:Else If M≤Z[2] :Then Goto 2:Else If M≥Z[3] :Then Goto 7:Else If M≥Z[2] :Then Goto 5:If End:If End:If End:If End:If End Lb1 1:M-K→G:√((G-G^(5)÷(40L2R2)+G^(9)÷(3456R^(4)L^(4)))2+(G^(3)÷(6RL)-G^(7)÷(336R^(3)L^(3)) +G^(11)÷(42240R^(5)L^(5)))2)→D F+PZG2÷(6L)→C:F+PBG2÷L2→H:Goto 3 Lb1 2:M-Z[1]→G:R(1-cos(B+ZG))+L2÷(24R)→Z[9]:√(Z[9]2+(Rsin(B+ZG)+Z[8])2)→D F+Ptg-1(Z[9]÷(Rsin(B+ZG)+Z[8]))→C:F+P(B+ZG)→H Lb1 3 “X=”:U+Dcos(C)→X◢ “Y=”:V+Dsin(C)→Y◢ Lb1 B:“ZBJS1,FY-1”:?J If J>0:Then Goto 4:Else If J〈0:Then Goto A:If End:If End Lb1 4:“ZB”:?S “ZBX”:X+Scos(H-90)◢ “ZBY”:Y+Ssin(H-90)◢ “YB”:?N “YBX”:X+Ncos(H+90)◢

坐标转换源代码--GPS定位程序(C--)

坐标转换源代码--GPS定位程序(C++) GPS数据处理中为了满足不同的需要,处理的数据要进行坐标转换,得到在不同坐标系统下的结果,下面是笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换源代码: 头文件: #ifndef _COORDCOVERT_H #define _COORDCOVERT_H #include "stdlib.h" //WGS-84椭球体参数 const double a=6378137.0;//长半轴 const double flattening=1/298.257223563;//扁率 const double delta=0.0000001; typedef struct tagCRDCARTESIAN{ double x; double y; double z; }CRDCARTESIAN; typedef CRDCARTESIAN *PCRDCARTESIAN;

//笛卡尔坐标系 typedef struct tagCRDGEODETIC{ double longitude; double latitude; double height; }CRDGEODETIC; typedef CRDGEODETIC *PCRDGEODETIC; //大地坐标系 typedef struct tagCRDTOPOCENTRIC{ double northing; double easting; double upping; }CRDTOPOCENTRIC; typedef CRDTOPOCENTRIC *PCRDTOPOCENTRIC; //站心地平坐标系(线坐标形式) typedef struct tagCRDTOPOCENTRICPOLAR{ double range;

FX5800道路路线测量程序

道路中边桩坐标放样正反算CASIO fx-5800P程序(全线贯通) 编辑 | 删除 | 权限设置 | 更多▼ 设置置顶推荐日志转到私密记事本 转载自王中伟转载于2009年08月12日 17:34 阅读(1) 评论(0) 分类:技术交流权限: 公开 一、前言 本程序是《CASIO fx-5800P计算与道路坐标放样计算》中道路坐标放样计算程序的升级改进版本。原道路坐标放样计算程序只基于道路的单个基本型曲线,有效计算范围仅包括平曲线部分和前后的两条直线段,使用时需要输入平曲线设计参数,无坐标反算桩号功能。 改进后的程序名称为:道路中边桩坐标放样正反算程序(全线贯通),增加了可实现全线贯通的数据库功能和坐标反算桩号功能,主要是: 1.使用道路平面数据库子程序,可将一段或若干段道路的交点法格式平面参数(可容易从直线、曲线及转角表中获得)以数据库子程序形式输入计算器,程序在计算时省却了输入原始数据的麻烦; 2.坐标正算方面,输入桩号即可进行道路的中、边桩坐标计算,若输入了测站坐标,还可同时计算全站仪极坐标放样数据(拨角和平距); 3.坐标反算方面,输入平面坐标,即可计算对应的桩号和距中距离(含左右信息); 4.对于存在断链的道路,可分段分别编写数据库子程序,然后在主程序中添加一个路段选择的功能即可实现(可参照立交匝道程序中匝道的选择)。 程序的特点: 1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写; 2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐; 3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。 二、道路示例项目基本资料 基本资料同《CASIO fx-5800P计算与道路坐标放样计算》第6章HY高速公路第2合同段(合同段起止桩号:K4+800~K9+600)。这里摘取直线、曲线及转角表资料如下(若图片不清晰,请参见参见教材P161附录1): .

公路测量卡西欧5800万能程序

一、前言本程序是《CASIO fx-5800P计算与道路坐标放样计算》中道路坐标放样计算程序的升级改进版本。原道路坐标放样计算程序只基于道路的单个基本型曲线,有效计算范围仅包括平曲线部分和前后的两条直线段,使用时需要输入平曲线设计参数,无坐标反算桩号功能。改进后的程序名称为:道路中边桩坐标放样正反算程序(全线贯通),增加了可实现全线贯通的数据库功能和坐标反算桩号功能,主要是: 1.使用道路平面数据库子程序,可将一段或若干段道路的交点法格式平面参数(可容易从直线、曲线及转角表中获得)以数据库子程序形式输入计算器,程序在计算时省却了输入原始数据的麻烦; 2.坐标正算方面,输入桩号即可进行道路的中、边桩坐标计算,若输入了测站坐标,还可同时计算全站仪极坐标放样数据(拨角和平距); 3.坐标反算方面,输入平面坐标,即可计算对应的桩号和距中距离(含左右信息); 4.对于存在断链的道路,可分段分别编写数据库子程序,然后在主程序中添加一个路段选择的功能即可实现(可参照立交匝道程序中匝道的选择)。程序的特点: 1.可进行中桩坐标的正、反算,程序代码简洁,便于阅读和改写; 2.主程序通过调用数据库子程序,省却了使用时输入平面参数的繁琐; 3.使用数据库子程序,换项目只需改写数据库子程序,程序通用性强。二、道路示例项目基本资料基本资料同《CASIO fx-5800P计算与道路坐标放样计算》第6章HY高速公路第2合同段(合同段起止桩号: K4+800~K9+600)。这里摘取直线、曲线及转角表资料如下.

.

. 三、程序代码 .

. .

. .

54坐标系、80坐标系、84坐标系之间的转换关系

工程施工过程中,常常会遇到不同坐标系统间,坐标转换的问题。目前国内常见的转换有以下几种:1,大地坐标(BLH)对平面直角坐标(XYZ);2,北京54全国80及WGS84坐标系的相互转换;3,任意两空间坐标系的转换。其中第2类可归入第三类中。所谓坐标转换的过程就是转换参数的求解过程。常用的方法有三参数法、四参数法和七参数法。以下对上述三种情况作详细描述如下: 1,大地坐标(BLH)对平面直角坐标(XYZ) 常规的转换应先确定转换参数,即椭球参数、分带标准(3度,6度)和中央子午线的经度。椭球参数就是指平面直角坐标系采用什么样的椭球基准,对应有不同的长短轴及扁率。一般的工程中3度带应用较为广泛。对于中央子午线的确定有两种方法,一是取平面直角坐标系中Y坐标的前两位*3,即可得到对应的中央子午线的经度。如x=3250212m,y=395121123m,则中央子午线的经度=39*3=117度。另一种方法是根据大地坐标经度,如果经度是在155.5~185.5度之间,那么对应的中央子午线的经度=(155.5+185.5)/2=117度,其他情况可以据此3度类推。 另外一些工程采用自身特殊的分带标准,则对应的参数确定不在上述之列。 确定参数之后,可以用软件进行转换,以下提供坐标转换的程序下载。 2,北京54全国80及WGS84坐标系的相互转换 这三个坐标系统是当前国内较为常用的,它们均采用不同的椭球基准。 其中北京54坐标系,属三心坐标系,大地原点在苏联的普而科沃,长轴6378245m,短轴6356863,扁率1/298.3;西安80坐标系,属三心坐标系,大地原点在陕西省径阳县永乐镇,长轴6378140m,短轴6356755,扁率1/298.25722101;WGS84坐标系,长轴6378137.000m,短轴6356752.314,扁率1/298.257223563。由于采用的椭球基准不一样,并且由于投影的局限性,使的全国各地并不存在一至的转换参数。对于这种转换由于量较大,有条件的话,一般都采用GPS联测已知点,应用GPS软件自动完成坐标的转换。当然若条件不许可,且有足够的重合点,也可以进行人工解算。详细方法见第三类。 3,任意两空间坐标系的转换 由于测量坐标系和施工坐标系采用不同的标准,要进行精确转换,必须知道至少3个重合点(即为在两坐标系中坐标均为已知的点。采用布尔莎模型进行求解。布尔莎公式: 对该公式进行变换等价得到: 解算这七个参数,至少要用到三个已知点(2个坐标系统的坐标都知道),采用间接平差模型进行解算: 其中:V 为残差矩阵; X 为未知七参数; A 为系数矩阵; 解之:L 为闭合差 解得七参数后,利用布尔莎公式就可以进行未知点的坐标转换了,每输入一组坐标值,就能求出它在新坐标系中的坐标。但是要想GPS观测成果用于工程或者测绘,还需要将地方直

bigemap 如何转 2000坐标系

同步视频教程:投影转换(转CGCS2000) 视频教程:如何选择中央子午线或者分度带 注意:投影转换成cgcs2000坐标系需要下载无偏移卫星图像进行转换,有偏移的转换将导致转换后的卫星图像扭曲,坐标错误,无法配准。 第一步:选择无偏移地图源,下载你所需要的卫星图像。 第二步:选择BIGEMAP软件右边工具栏,选择【投影转换】,如下图所示: 2.1 选择说明: 1. 源文件:选择下载好的卫星图像文件(下载目录中后缀为tiff的文件) 2. 源坐标系:打开的源文件的投影坐标系(自动读取,不需要手动填写) 3. 输出文件:选择转换后你要保持文件的文件路径和文件名 4. 目标坐标系:选择你要转换成的目标坐标系,如下图: 选择上图的更多,如下图所示:

1:选择 -CGCS2000 2:选择地区3:选择分度带对应的带号(一般默认,也可以手动修改)选择对应的分度带或者中央子午线(请参看:如何选择分度带?),点击【确定】 5. 重采样算法:投影转换需要将影像的像素重新排列,一次每种算法的效率不一样,一般选择【立方卷积采样】,以达到最好的效果。如下图:

6. 指定变换参数:在不知道的情况下,可以不用填此处信息,如果√上,则如下图: 此参数为【三参数】或者【七参数】,均为国家保密参数,需要到当地的测绘部门或者国土部门,以单位名义签保密协议进行购买,此参数各地都不一样,是严格保密的,请不要随便流通。 第三步:点击【确定】,开始转换,如下图:

第四步:完成后,打开你刚才选择的输出文件夹,里面就是转换后的卫星图像。 第五步:如果你需要套合你手里已经有的矢量文件,请参看:【BIGEMAP无偏移影像叠加配准】

5800简单全线坐标计算程序

5800全线任意坐标计算程序 1. 正算主程序(ZHCX) (不运行) 8→DimZ 1÷P→Z[4 ]:(P-R)÷(2HPR)→D: 180÷π→E “Z=”?Z:”YJJ=”?A:Abs(S-O)→W 0.26→Z[1 ]: 0.74→B: 0.02→K: 0.82→Z[3 ]: 1-Z[3 ]→F:1-K→Z[2 ] U+W(Z[1 ]cos(G+QEKW(Z[4 ]+KWD))+Bcos(G+Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+Bcos(G+QEFW (Z[4 ]+FWD))+ Z[1 ]cos(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→X: V+W(Z[1 ] sin (G+QEKW(Z[4 ]+KWD))+B sin(G+ Z[3 ]QEW(Z[4 ]+ Z[3 ]WD))+B sin(G+QEFW (Z[4 ]+FWD))+ Z[1 ] sin(G+ Z[2 ]QEW(Z[4 ]+ Z[2 ]WD)))→Y: G+QEW(Z[4 ]+WD)→F:X+Zcos(F+A)→X:Y+Zsin(F+A)→Y:If F≧360:Then F-360→F:IfEnd ”X=”:X→X◢ ”Y=”:Y→Y◢ If F﹤0:Then F+360→F:IfEnd ”QX FWJ=”:F▼DMS◢ “C=1=>XX: C=2=>XZ”: ”C=”?C: ”QHJU=”?L: If C=1:Then Goto 1:Else Goto 2: IfEnd 可以计算斜交斜做或斜交正做的桥涵坐标 Lbi 1 X+L cos(F)→X:Y+Lsin(F)→Y: Goto 3 Lbi 2 X+L cos(F+A-90)→X:Y+Lsin(F+A-90)→Y: Goto 3 Lbi 3 “QH-X=”: X →X◢ “QH-Y=”: Y →Y◢ Prog “FY” 2 . 参数子程序(直接运行) M(主线) 一条线路一个名称 “S=”?S If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd … … If S≦线元终点:Then 线元起点X值→U: 线元起点Y值→V:线元起点切线方位角→G:线元起点桩号→O:线元长度→H:线元起点半径→P:线元终点半径→R:(左偏-1,或右偏 1)→Q:Goto 1:IfEnd Lbi 1 Prog “ZBJS” 3. 放样程序(FY)(不运行) “X0=”?M:“Y0=”?N Pol((X-M, Y-N)

Fx5800计算器公路测量程序设计

FX5800计算器测量程序集版 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本优化:1、优化程序语句、2、以复数形式输入变量及做数据库,取消原矩阵数据库;3、修改隧道超欠挖程序为通用形,不受圆心个数限制、4、新增测量资料表计算

二、源程序(绿色为程序名;蓝色为输入计算器内容)紫色为新版改动处(可以根据自己标段情况用相关主程序及子程序,再在0程序中汇总)0.汇总程序(1、坐标计算放样程序(1XY、A、AB、HX、JS、DX、QX、F、XY、X1);2、坐标反算程序(2ZD、A、B、AB、HX、QX、F、ZD、X1);3、高程计算查阅程序(3GC、H、I、QX、S1、I1);4、路基半幅标准宽度查阅程序(4GD、C、QX、G1);5、路基边坡及开挖口放样程序(5BP、 A、B、AB、HX、H、I、C、JS、DX、QX、F、ZD、X1、S1、I1、G1、W1); 6、路基标准距离放样(6FM、A、AB、HX、H、I、JS、DX、QX、F、XY、X1、S1、I1); 7、桥梁锥坡计算放样程序(7ZP、A、AB、HX、C、JS、DX、QX、F、XY、X1、G1); 8、极坐标计算程序(8JS、JS、DS); 9、隧道超欠挖计算程序(A、B、AB、HX、H、I、QX、S、SD、F、ZD、X1、S1、I1、SD1)运行后按1~9数子约半秒,则选择1至9的程序,返回时,在桩号输入-1,返回选择计算类型。输入-2,返回选择线路。 程序名:0(数子0) ClrMat:ClrVar:12→DimZ:Norm 2:Do:"(XY=1,ZD=2 ,GC=3,GD=4,BP=5,FM=6,ZP=7,JS=8,SD=9)===>QING AN 1-9":Getkey→Z[3]:While Z[3]=35:Prog"1XY":WhileEnd:While Z[3]=36:Prog"2ZD":WhileEnd: While Z[3]=37:Prog"3GC":WhileEnd: While Z[3]=21:Prog"4GD":WhileEnd: While Z[3]=22:Prog"5BP":WhileEnd: While Z[3]=23:Prog"6FM":WhileEnd: While Z[3]=31:Prog"7ZP":WhileEnd: While Z[3]=32:Prog"8JS":

卡西欧5800测量坐标计算程序

一.使用说明: 1.规定: (1)以道路中线的前进方向区分线路的左右偏转方向,线路左偏Q=-1,线路右偏Q=1,直线Q=0。 (2)当所求点位于线路中线时,Z=0;当位于左侧时,Z取负值;当位于右侧时,Z取正值。 (3)当线元为直线时,其起终点的曲率半径为无穷大,取10的45次方代替。 (4)当线元为圆曲线时,起终点曲率半径为圆曲线半径。 (5)当线元为缓和曲线时,起终点曲率半径与直线相接取10的45次方代替,与圆曲线相接取圆曲线半径。 2.输入与显示说明: (1)输入部分: N?:选择计算方式,输入1表示由里程边距计算坐标,输入2表示由 坐标计算里程边距。 X0?线元起点X坐标。 Y0?线元起点Y坐标。 S0?线元起点里程。 F0?线元起点切线方位角。 LS?线元长度。 R0?线元起点曲率半径。 RN?线元终点曲率半径。 Q?线元左右偏标志(左偏=-1,右偏=1,直线=0)

S?正算时所求点里程。 Z?正算时所求点距中线边距。位于线路左侧输入负值,在右侧输入正 值。 AR?斜交角度。(为线路右角,在0-180度之间) X?反算时所求点X坐标。 Y?反算时所求点Y坐标。 (2)显示部分: XS=计算结果,所求点X坐标。 YS=计算结果,所求点Y坐标。 FS=计算结果,所求点切线方位角。 S=计算结果,反算时所求点里程 Z=计算结果,反算时所求点边距。 二.程序清单1(用于任意曲线元的坐标计算) 1.主程序(TYQXJS) ″1.SZ=>XY″:″2.XY=>SZ″:?N:″X0″?U:″Y0″?V:″S0″?O: ″F0″?G:″LS″?H:″ R0″?P:″RN″?R:?Q:1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:If N=1: THEN Goto 1:Else Goto 2:IfEnd:Lbl 1:?S:”D(Z-,Y+)=”?Z:90→T:”O=”?T:Abs(S-O) →W:Prog ″SUB1″:″XS″:X◢″YS″:Y◢″FS″:F◢ Goto 1:Lbl 2:?X:?Y:I→X:J→Y:Prog ″SUB2″:″S″:O+W→S:◢″Z″:Z◢Goto 2 2.正算子程序(SUB1) 0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→

CASIO 5800计算器测量计算程序

CASIO 5800计算器测量计算程序 上上月做这个东西的时候没仔细检查,有好几处输错了的地方,今天把它修改过来。 简要介绍: 1. 新版程序把线元法和交点法已经集成在一个模块中了,用户只需修改JD 程序和ZA程序中的数据部分即可,其余不需作任何的改动。 2. 因为每条路高程计算不尽相同,且比较复杂,现在可利用PC机EXCEL计算好打印成表格带到工地上使用,所以本版程序未对线路高程序进行专门的编程计算,而是利用统计计算模式中来输入桩号(第一列X)及左、右高程(第二、三列Y,Freq),这种输入数据的方式最为直观,易发现错误,也易修改,输入完毕后运行S程序对数据按桩号进行排序,在程序中通过调用GG程序来进行内插计算,SG=-1得左标高,SG=1得右标高(若SG输入0,则可进行一般的线性内插计算)。 3. 在JD程序和XY程序中,先将一个计算单元的数据置入矩阵F中(1行8列或1行9列),这样程序可读性极好。 4.相比原CASIO4850程序操作习惯,作了一点小小的改动,测站坐标存在Z[10],N中,X坐标原存在M中容易被误操作修改,而设计标高存在M中,这样易于修改,因为CASIO5800没有IN,OUT功能,很不方便。 4. 程序利用Z[2]变量值来判断是采用交点法还是线元法模型计算,Z[2]=0为线元法,否则为交点法。 一、PQX程序:计算中边桩坐标及近似的桩号反算,在运行模式直接调用。 ①Z[10]→S:”XO”?S:S→Z[10]:”YO”?N:Prog “AU” ②Lbl 2:?L:Prog “Z”:Prog “E”:1n→O:90→S ③Lbl 4:”JJ”?S:”YC”?O:SO=0 =>Goto 2…原来lbl 后没有标号4的。 ④O=-1 =>Goto 6 ⑤“X,Y”:R+OCos(Z+S)→X▲U+OSin(Z+S)→Y▲Prog “D”:Goto 4 ⑥Lbl 6:Z[7]→X:Z[8]→Y:”XF”?X:”YF”?Y:XY=0 =>Goto 4 ⑦X→Z[7]:Y→Z[8]:Pol(X-R,Y-U+1p):Z+S-J→J:”YC,DL,L”:ICos(J)→O▲ISin( J)→I▲L+I▲Goto 6 二、P程序:在程序中提供一个自由运算的模式。 ①Lbl 1:”TMP”?I:If I≠0:Then “RST”:I▲Goto 1:IfEnd 二、LYC程序:进行桩号反算及边坡放样,在运行模式直接调用。 ①Prog “AU” ②Lbl 1:Z[7]→X: Z[8]→Y: Z[6]→S: ”XF”?X :X→Z[7]:”YF”?Y:Y→Z[8]: ”ZF”?S: S→Z[6] ③Lbl 2:Prog “Z”:Y=U =>Y+1p→Y ④Pol(X-R,Y-U):J-Z→J:Isin(J)→O:Icos(J)→I ⑤If Abs(I)≤0.1:Then Prog “E”:”L,YC”:L+I→L▲O▲Goto 3:IfEnd ⑥If Z[9]≠0:Then Pol(Z[9]-SO,I):πJZ[9]÷180→I:IfEnd ⑦”DL”:I▲L+I→L:Goto 2 ⑧Lbl 3: Z[6]→S:If S=0:Then Goto 1:IfEnd ⑧M→Z ⑨Lbl 4:”SG”?Z:Z→M:If Abs(Z)=1: Then Prog “GG”:Y→Z:If X=1:Then

5800计算器全线坐标计算放样程序(修改第三版)

5800计算器全线坐标计算放样程序(修改第三版) 5800计算器全线坐标计算放样程序(修改版) “XLZBJSCX” ◢ LB1 0 ↙ CLS : FIX 4 : 30→DIM Z ↙ “XHS="?G(后视点X):"YHS="?L(后视点Y):"XZJ="?M(置镜点X):"YZJ="?N(置镜点Y)0l(G-M,L-N):"DH=":I(后视距)◢J<0=>J+360→J:"FH=":J→DMS◢(后视 方位角) LB1 1 ↙ “K=”?K ◢(计算里程) IF K<本段曲线终点里程 AND K≥上段曲线终点里程:THEN 本段终点里程→Z[1] : 上段曲线终点里程→Z[2] :1→0 (注:左偏曲线输入-1→0,右偏曲线输入1→0): 偏角→A:半径→R : 第一缓和曲线→Z[6] : 第二缓和曲线 →Z[7] : 交点X→B :交点Y→C : 小里程向交点方位角→E : 交点向大里程方位角→F : G0T0 2 : IFEND↙ …………(曲线段分段输入) 补充直线段输入如下 IF K<本段直线终点里程 AND K≥本段直线起点里程:THEN 1→0:本段直线终点里程→Z[2]:终点X→Z[16]:终点Y→Z[11]:方位角→E:G0T0 4:IFEND LB1 2 ↙(曲线要素计算) Z[6]/2- Z[6]^3/(240*R^2)+ Z[6]^5/(34560*R^4) →Z[8] ↙(M1) Z[7]/2- Z[6]^3/(240*R^2)+ Z[7]^5/(34560*R^4) →Z[9] ↙(M2) Z[6]^2/(24*R)- Z[6]^4/(2688*R^3) →Z[10] ↙(P1) Z[7]^2/(24*R)- Z[7]^4/(2688*R^3) →Z[11] ↙(P2) π*A*R/180+0.5*( Z[3]+ Z[2])→W ↙(曲线总长) 90* Z[6]/(R*π) →Z[14] ↙(第一缓和曲线总偏角) 90* Z[7]/(R*π) →Z[15] ↙(第二缓和曲线总偏角,可以省略) Z[8]+(R+Z[10])TAN(A/2)-(Z[11]-Z[11] )/SIN A→Z[11]↙ (切线T1) Z[9]+(R+Z[12])TAN(A/2)+(Z[10]-Z[12] )/SIN A→Z[12]↙ (切线T2) B+ Z[12]*C0S (E+180)→ Z[13] ↙(ZH点X) C+ Z[12]*SIN(E+180)→ Z[15] ↙(ZH点Y) Z[1]-S→Z[3] ↙ (ZH点里程) Z[3]+ Z[6]→Z[4] ↙ (HY点里程) Z[1]- Z[7]→Z[5] ↙ (YH点里程) G0T0 3 ↙ LB1 3 ↙(判断里程点与曲线关系) IF K≤Z[3] AND K> Z[2] : THEN G0T0 4 : IFEND ↙ IF K≤Z[4] AND K> Z[3] : THEN G0T0 5 : IFEND ↙ IF K≤Z[5] AND K> Z[4] : THEN G0T0 6 : IFEND ↙

5800卡西欧计算器程序大全

FX5800计算器公路测量常用程序集 一、程序功能 本程序由6个主程序、5个次子程序及5个参数子程序组成。主要用于公路测量中坐标正反算,设计任意点高程及横坡计算,桥涵放样,路基开挖口及填方坡脚线放样。程序坐标计算适应于任何线型. 二、源程序 1.主程序1:一般放样反算程序(①正算坐标、放样点至置仪点方位角及距离;②反算桩号及距中距离) 程序名:1ZD-XY Lb1 0:Norm 2 F=1:(正反算判别,F=1正算,F=2反算,也可以改F前加?,改F为变量) Z[1]=90(与路线右边夹角) Prog"THB":F=1=>Goto 1:F=2=>Goto 2 Lb1 1:Fix 3:"X=":Locate 6,4,X◢ "Y=":Locate 6,4,Y◢ Prog"3JS”:Goto 0: Lb1 2:Fix 3:"KM=":Locate 6,4,Z◢ "D=":Locate 6,4,D◢ Goto 0 2.主程序2:高程序横坡程序(设计任意点高程及横坡) 程序名:2GC LbI 0:Norm 2 “KM”?Z:?D: Prog”H”:Fix 3:”H=”:Locate 6,4,H◢ “I=”: Locate 6,4,I◢ Goto 0 3.主程序3:极坐放样计算程序(计算放样点至置仪点方位角及距离) 程序名:3JS X:Y: 1268.123→K(置仪点X坐标) 2243.545→L(置仪点Y坐标,都是手工输入,也可以建导线点数据库子程序,个人认为太麻烦) Y-L→E:X-K→F:Pol(F,E):IF J<0:Then J+360→J:Int(J)+0.01Int(60Frac(J))+0.006Frac(60Frac(J)) →J:(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 4:” FWJ=”: Locate 6,4,J◢(不习惯小数点后四位为角度显示的,也可以用命令J◢DMS◢来直接显示) Fix 3:”S=”:Locate 6,4,I◢ 4.主程序4:涵洞放样程序(由涵中心桩号计算出各涵角坐标、在主程序3中输入置仪点坐标后计算放样点至置仪点方位角及距离) 程序名:4JH-XY LbI 0:Norm 2 90→Z[1](涵洞中心桩与右边夹角,手工输入,也可以修改成前面加?后变为变量) 1→F:Prog”THB”:?L: Z[2]-Z[1] →E:X+Lcos(E) →X:Y+Lsin(E) →Y:Fix 3: "X=":Locate 6,4,X◢

相关文档
最新文档