卡西欧5800公路坐标正反算程序文件

卡西欧5800公路坐标正反算程序文件
卡西欧5800公路坐标正反算程序文件

0年11月

14日

目 录

一、坐标正算基本公式...............................................................02 二、坐标反算原理...............................................................04 三、高程数据库录入变换.........................................................05 四、计算器程序...............................................................07 01、ZBZS(坐标正算)...............................................................07 02、ZBFS (坐标反算)...............................................................08 03、GCJF(高程积分)...............................................................09 04、PJFY (坡脚放样)...............................................................10 05、JFCX (积分程序)...............................................................11 06、ZBFY (坐标放样)...............................................................11 07、DT (递推)...............................................................12 08、HP (横坡)...............................................................13 09、LK (路宽)...............................................................14 10、SJK1(平面数据库)......................................................14 11、SJK2(纵面数据库)......................................................14 12、SJK3(左路宽度数据库)......................................................15 13、SJK4(右路宽度数据库)......................................................15 14、SJK5(横坡数据库) (16)

15、SJK6(下边坡数据库)......................................................16 16、SJK7(左上边坡数据库)......................................................17 17、SJK8(右上边坡数据库)......................................................18 五、后记 (19)

0年11月14日

CASIO 5800计算器公路工程测量程序

一、正算所涉及的计算公式

X

R i

d X

α

β

B

d Y

d l

d β

I

图表 1

在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标点。设:

A 点的X 坐标为X A ,Y 坐标为Y A ,A 点的切线方位角为α,A 点的曲率为ρ

A

,A 点的里程为L A ,B 点的曲率为ρB ,B 点的里程为L B ,I 点的曲率为ρI ,I 点的里

程为L I 。I 点的切线角为β。

由于回旋线上各点曲率半径R i 和该点至曲线起点的距离L 成反比。故此任意点的曲率为;

C

L

R i i ==

1ρ (c 为常数) (1) 由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为L i 点的曲率为;

A

i A B A i L L -?

-+=)(ρρρρ (2)

0年11月14日

当曲线右偏时ρB 、ρA 取正值,反之取负值。设:

A

B A

B L L M --=

ρρ ------ 曲率变化率 (3)

A i L L L -= ------ I 点至起点A 的距离 (4)

则有:

ML A i +=ρρ (5)

在I 点处取一微段,则有:

l i i

l

d R d d ρβ==

(单位为弧度) (6) 对上式进行积分并代入式(3)(4),则有;

????+=+=+==l

l

l

l

A l l A l A l i i ML L Ld M d d ML d 0000

2

2)(ρρρρβ (7) 因已知回旋曲线起点A 的切线方位角α,则里程为L i 点的切线方位角为:

i i βαα+= (8)

将式(7)代入式(8)得:

2

2

ML L A i ++=ραα(单位为弧度) (9)

对于式(9),当ρA =0,M=0时,则αi =α,式(9)变成计算直线段上任意点切线方位角的计算公式;当ρA =c (c 为常数),M=0时,则αi =α+ρA L ,式(9)变成计算圆曲线上任意点切线方位角的计算公式。

由图1中不难得出回旋曲线上任意点在路线坐标系下的坐标:

?+=l

l i A d X X 0

)cos(α

0年11月

14日

?+=l

l i A d Y Y 0

)sin(α (10)

将式(9)代入式(10),即得本次编程计算基本公式:

?+++=l

l A A d ML L X X 0

2

)2cos(ρα

?+++=l l A A d ML L Y Y 0

2

)2sin(ρα (11)

二、反算原理

X

α

B

A

β

C

图表 2

在图2中,A 点为已知坐标而待求对应中桩桩号及边距的点。B 点为假定的A 点对应中桩桩号点。显然,B 点并不对应于A 点。做出B 点的切线,过A 点做辅助线垂直于B 点的切线,相交于C 点。设:

B 点的切线方位角为α,B 点的桩号为K B ,B 点的坐标分别为X B 、Y B ,A 点的桩号为K A ,A 点的坐标分别为X A 、Y A ,“B-A ”的方位角为β,“B-A ”的距离为N , “B-

C ”的距离为L ,“C-A ”的距离为Z 。

根据前面的坐标正算的公式可以得到α,X B 、Y B 值。

0年11月

14日

根据计算器置的Pol (X A -X B ,Y A -Y B )公式(直角坐标转换为极坐标)能得到

β,N 值。

)cos(αβ-=N L (1) )sin(αβ-=N Z (2)

当L=0时,B 点是对应于A 点的,K B =K A ,Z 即为A 点的距中桩的距离。 当L ≠0时,则采用K B =K B +L,对B 点进行新的假定,进而再次对L 进行解算,直至L=0,或则L 值在容许误差围之。 三、高程数据库录入变换计算

H

L

O

i 1R 1

i 2

R 2

i 3

α1

α2

A

B C

D

图表 3

为利用前面已知的积分公式对高程进行求算,故需对设计给定的纵断面数据进行换算。如图3中所示,以高程H 轴代替平面坐标系的X 轴,以里程L 代替平面坐标系的Y 轴,以H 轴为起点,顺时针方向旋转而得到方位角α。

由设计图中已知数据为:纵坡i ,竖曲线半径R ,坡长L 等。

根据通用的纵断面高程计算公式,容易解算出每个线形变化点的里程及高

β

0年11月

14日

程,即图3中,A 、B 、C 、D 点的“H 、L ”值。

由于纵坡坡度所采用的为坡度值,即:

L

H

i =

(1) 利用反三角函数,即能解算出以L 轴为起点,逆时针方向旋转的角值β。

)(tan 1i -=β (2)

显然: βα-=90 (3)

同时结合平面线元,凸曲线可以看为右偏线元,曲率取正值。反之为负值。

L

H

O

A'

B'

图表 4

由于积分程序代入运算的为坡线长度,即上图中的的0A 、AB ,而已知里程为水平距离,即上图中的0A ’、A ’B ’。所以在计算出起点积分运算的基本要素:图3中的(α,H ,L )后,我们需将水平距离L 换算为坡线长度L ’或弧线长度L~。

直线换算比较简单,利用三角函数即能得出下式:

0年11月

14日

)

90cos(α-=

'L

L (4)

竖曲线形式,一般采用二次抛物线或圆曲线,在圆心角很小而半径相对较大的使用围,二者的吻合是良好的。以下推导采用圆曲线作为竖曲线的形式。

在图4中,A 点为线元起点(直线OA 与圆弧AB 的切点),B 点为待求弧长点,F 点为曲线对应圆心。

根据互余角相等原理得出: α=∠DAF

运用三角函数计算得出: )cos(αR AD =;)sin(αR DF =

根据圆曲线方程:222R Y X =+得出: AD AC DC X -==,22X R BE Y -== 根据图示:DF Y CE BE BC -=-= 利用反三角函数:)(tan 1AC

BC -=γ 从而:γαβ--=90 根据弧长计算公式得:

90

R

L πβ= (5) 四、卡西欧5800程序;

? 1、文件名:“ZBZS ”(坐标正算)

"KI="?H:(输入计算点桩号并赋值于变量H) Prog "SJK1":(进入数据库1中读取数据) Prog "JFCX ":(进入积分程序进行运算)

"BL="?P:(输入计算点距中桩距离并赋值于变量P,左为“-”,右为“+”。如果需要计算设计路幅宽度“加宽段”,则计算左幅时输入“-1”,右幅为“+1”) IF ABS(1)=1:(如果路宽的绝对值为1,则计算设计路幅宽度)

0年11月

14日

“BS=”:EP →P ◢(对路幅宽度代入±号以区分左右)

“BL=”:?P: (是否对边距重新赋值,如路堑墙,即边距等于路幅宽度加上水沟宽度)

IF END: (判断结束)

"X=":S+PCos(W+90)→U ◢(显示边桩X 坐标并赋值于变量U,可对90度进行调整,如斜交30度或其他,但是角度不分左右,即90度=-90度=270度) "Y=":T+PSin(W+90)→V (显示边桩Y 坐标并赋值于变量V) PROG ”GCJF ”: (进入高程积分程序,计算设计高程) PROG ”HP ”: (进入横坡计算程序,计算横坡)

“H=”:S+ABS(E)F →Q (显示计算点设计高程,设计高程加上横坡高差)

? 2、文件名:“ZBFS ”(坐标反算)

"KI="?H:(输入假定桩号并赋值于变量H) "XI="?V:(输入反算点X 坐标并赋值于变量V) "YI="?Y:(输入反算点Y 坐标并赋值于变量Y) "HI="?Z:(输入反算点高程并赋值于变量Z) Lbl 0:(转移起点命令)

Prog "SJK1":(进入数据库1中读取数据) Prog "JFCX ":(进入积分程序进行运算)

Pol(V-S,Y-T) →N :(将直角坐标转换为极坐标并将极经赋值于变量N) J →U :(将极角赋值于变量U 。注意:在Pol ()函数中,计算生成的r 值被自动赋值于I ,θ值被赋值于J)

NCos (U-W )→R :(计算假定桩号的偏差并赋值于变量R)

0年11月

14日

Abs (R )≤0.001=>Goto 1:(判断语句,如果R 的绝对值小于容许误差则程序跳转至Lbl 1处运行,否则将顺序运行)

H+R+0.001→H :(对假定桩号H 值重新赋值,此处增加的:“+0.001”是为了避免直线段计算中桩时出现Pol(0,0)的错误。) Goto 0:(程序跳转入Lbl 0处重新开始运行) Lbl 1:(转移起点命令)

"KI=":H ◢(显示解算出来的桩号)

"BL=": NSin (U-W )→P ◢(计算反算点至中桩距离并赋值于变量P,右为+) Prog "GCJF ":(进入高程积分程序进行运算) PROG ”LK ”: (进入路宽程序,计算路幅宽度) IF P ≥0: (如果反算边距大于0,即右幅)

THEN “BL0=”:P-E →G ◢(反算点距离右边线距离,+为超挖,-为欠挖) ELSE “BL0=”:ABS(P)-E →G ◢(反算点距离左边线距离,+为超挖,-为欠挖) IF END: (判断结束)

PROG “HP ”: (进入横坡计算程序,计算反算点横坡)

IF ABS(P)≤E: (如果反算点在路幅,则计算该点挖填,反之则计算该点对应路幅边缘点挖填,并赋值于Q 变量) THEN “ZI=”:(S+ABS(P)F)-Z →Q : ELSE “ZI=”:(S+ABS(E)F)-Z →Q : IF END (判断结束)

?

3、文件名:“GCJF ”(高程积分)

Prog "SJK2":(进入数据库2调用数据)

0年11月

14日

H-F →X:(计算水平距离并赋值于变量X) If D=0:(根据曲率判断直线或圆曲线)

Then Abs(X ÷C0S(90-C)) →X:(如果为直线则计算坡线长并赋值于变量X) Else COS(C) ÷Abs(D) →B:(如果为曲线,则开始计算弧长,具体参照第三节理解)

Sin(C) ÷Abs(D) →E:(参照第三节理解) √((1÷D )2-(X-B)2)→G:(参照第三节理解) tan-1((G-E )÷X )→T:(参照第三节理解)

πAbs (90-C-T )÷90÷Abs(D)→X:(计算出弧长并赋值于变量X) IfEnd:(条件判断结束)

A+∫(Cos (C+D r X 2),0,X )→S:(计算设计高程值并赋值于S )

?

4、文件名:“PJFY ”(坡脚放样)

Prog "ZBFS "◢(执行坐标反算程序,并显示) PROG “LK ”: (执行路宽程序)

IF Q ≥0: (如果为填方,则进入SJK6,调用下边坡数据) THEN PROG “SJK6”:

ELSE IF Q <0 AND P <0: (如果为挖方,且在路左,则调用左侧上边坡数据) THEN PROG ”SJK7”:

ELSE PROG ”SJK8”: (调用右侧上边坡数据) IF END: (第二判断结束) IF END: (第一判断结束)

Abs (Q )≤B=>E+ Abs (Q )A →Z :

0年11月

14日

(高差小于第1级坡高时,计算理论平距并赋值于变量Z)

Abs (Q )≤(B+F)And Abs (Q )>B =>E+AB+C+ (Abs (Q )-B)D →Z : (高差小于第2级坡高时,计算理论平距并赋值于变量Z)

Abs (Q )≤(B+F+L)And Abs (Q )>(B+F)=>E+AB+C+DF+G+ (Abs (Q )-B-F)K →Z : (高差小于第3级坡高时,计算理论平距并赋值于变量Z)

Abs (Q )>(B+F+L)=>E+AB+C+DF+G+KL+M+ (Abs (Q )-B-F-L)N →Z : (高差大于第3级坡高时,计算理论平距并赋值于变量Z)

"LI=":Z- Abs (P )(计算并显示坡脚点距假定点的距离,+为远离中线)

? 5、文件名:“JFCX ”(积分程序)

(E-D )÷(G-F )→M:(计算线元曲率变化率并赋值于变量M )

H-F →X:(计算点至线元起点距离并赋值于变量X 。注意:此变量仅能为X ,因下步积分运算中,计算器对除X 以外的所有变量都将视为常数)

C+D r X+0.5r MX 2→W:(计算点切线方位角并赋值于变量W 。注意:D r 、0.5r 中的上标r ,为弧度转化符号其值为180/π,计算器有此符号)

A+∫(Cos (C+D r X+0.5r MX 2),0,X )→S:(计算中桩X 坐标值并赋值于S ) B+∫(Sin (C+D r X+0.5r MX 2),0,X )→T (计算中桩Y 坐标值并赋值于T )

? 6、文件名:“ZBFY ”,坐标放样

PROG “ZBZS ” ◢(进入坐标正算程序,并显示)

POL((U-***),(V-***))→L: (计算放样点和置站点的距离和方位角,***,置站点的X ,Y 坐标)

IF J ≥0:(如果方位角大于0,则直接计算,反之则需要加上360度) THEN GOTO 0:

0年11月

14日

ELSE J+360→J: IF END: (判断结束) LB1 0:

“L=”:L →L ◢(显示置站点至放样点的距离)

J →W:”W=”:W ◥ DMS ◢(显示置站点至放样点的方位角,并转化为度分秒) “HS=”?Z: (输入实测高程,并赋值于Z ) ”HC=”:Q-Z (计算放样点的挖填,-为挖,+为填)

? 7、文件名:“DT ”,线元要素递推程序

“XQ=”?A: (将起点坐标、方位角、起止点曲率、桩号进行分别赋值) “YQ=”?B: “WQ=”?C: “1/RQ=”?D: “1/RZ=”?E: “KQ=”?F: “KZ=”?G:

G →H: (计算桩号等于线元止点桩号)

PROG “JFCX ”: (进入积分程序,将X,Y 显示并赋值于起点变量) “XZ=”:S →A ◢ “YZ=”:T →B ◢

G →F: E →D: W →C: (将止点参数赋值于起点) “WZ=”:C ◥ DMS (将方位角转化为以度分秒为单位)

? 8、文件名:“HP ”(横坡计算程序中轴旋转线性变化)

0年11月

14日

PROG “SJK5”: (进入数据库5,调用超高参数) IF P ≤0: (区分左右,并将横坡百分比化) THEN 0.01C →C: 0.01D →D: ELSE 0.01E →C: 0.01F →D: IF END:

IF D=C: (判断直线和全超高路段,即横坡不变化路段) THEN C →F: GOTO 0:

ELSE B-A →G: (LS ,计算缓和段长度) IF END:

IF C >0 OR D >0: (判断超高方向,即平曲线外) THEN C+(H-A)(D-C)÷G →F: GOTO 0: (线性插)

ELSE G- G ABS(D-C) ÷(ABS(D)-C)→K: (L0,计算临界长度) IF END:

IF ABS(D)>ABS(C): (判断ZH-HY 或YH-HZ ) THEN H-A →L: ELSE B-H →L: IF END:

IF L ≤K: (超高变化段侧,判断临界长度以或以外) THEN C →F: GOTO 0:

ELSE C+(L-K)(D-C)÷(G-K)→F: GOTO 0: (线性插) IF END: F →F

0年11月

14日

? 9、文件名:“LK ”(路幅宽度计算程序加宽线性变化)

IF P ≤0: (区分左右,分别调用数据) THEN PROG “SJK3”: ELSE PROG “SJK4”: IF END:

C+(H-A)(D-C)÷(B-A)→E: (线性插)

? 10、文件名:“SJK1”(数据库1,平面数据库)

If H ≤线元止点桩号:(判断计算点所属线元) Then ****→A:(线元起点X 坐标赋值于变量A ) ****→B:(线元起点Y 坐标赋值于变量B ) ****→C:(线元起点方位角赋值于变量C )

±**÷**→D:(线元起点曲率赋值于变量D 。注意:线元右偏为+,反之为-,曲率等于1/R,即半径的倒数,直线曲率为0。)

±**÷**→E:(线元止点曲率赋值于变量E 。注意:线元右偏为+,反之为-,曲率等于1/R,即半径的倒数,直线曲率为0。) ****→F:(线元起点桩号赋值于变量F ) ****→G :(线元止点桩号赋值于变量G ) Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 11、文件名:“SJK2”(数据库2,纵面数据库)

If H ≤线元止点桩号:(判断计算点所属线元)

0年11月

14日

Then ****→A:(线元起点高程赋值于变量A ) ****→C:(线元起点方位角赋值于变量C )

±**÷**→D:(线元起点曲率赋值于变量D 。注意:凸曲线为+,反之为-,曲率等于1/R,即半径的倒数,直线曲率为0。) ****→F:(线元起点桩号赋值于变量F ) Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 12、文件名:“SJK3”(数据库3,左路幅宽度数据库)

If H ≤线元止点桩号:(判断计算点所属线元) Then ****→A:(线元起点桩号赋值于变量A ) ****→B:(线元止点桩号赋值于变量B ) ****→C:(线元起点左路幅宽度赋值于变量C ) ****→D:(线元止点左路幅宽度赋值于变量D ) Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 13、文件名:“SJK4”(数据库4,右路幅宽度数据库)

If H ≤线元止点桩号:(判断计算点所属线元) Then ****→A:(线元起点桩号赋值于变量A ) ****→B:(线元止点桩号赋值于变量B ) ****→C:(线元起点右路幅宽度赋值于变量C )

0年11月

14日

****→D:(线元止点右路幅宽度赋值于变量D ) Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 14、文件名:“SJK5”(数据库5,横坡数据库)

If H ≤线元止点桩号:(判断计算点所属线元) Then ****→A:(线元起点桩号赋值于变量A ) ****→B:(线元止点桩号赋值于变量B )

****→C:(线元起点左路横坡(±i )上坡为+,如2%输入2,-2%输入-2,即可) ****→D:(线元止点左横坡赋值于变量D ) ****→E:(线元起点右横坡赋值于变量E ) ****→F:(线元止点右横坡赋值于变量F ) Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 15、文件名:“SJK6”(数据库6,下边坡坡率数据库)

If (H ≥起点桩号 AND H ≤止点桩号) OR (H ≥起点桩号 AND H ≤止点桩号)OR (H ≥起点桩号 AND H ≤止点桩号)…………:(判断计算点所属线元) Then ****→A:(距中线第1段坡的坡率) ****→B:(距中线第1段坡的坡高) ****→C:(距中线第1段坡的护坡道宽度) ****→D:(距中线第2段坡的坡率)

0年11月

14日

****→F:(距中线第2段坡的坡高) ****→G:(距中线第2段坡的护坡道宽度) ****→K:(距中线第3段坡的坡率) ****→L:(距中线第3段坡的坡高) ****→M:(距中线第3段坡的护坡道宽度) ****→N:(距中线第4段坡的坡率)

Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 16、文件名:“SJK7”(数据库7,左上边坡坡率数据库)

If (H ≥起点桩号 AND H ≤止点桩号) OR (H ≥起点桩号 AND H ≤止点桩号)OR (H ≥起点桩号 AND H ≤止点桩号)…………:(判断计算点所属线元) Then ****→A:(距中线第1段坡的坡率) ****→B:(距中线第1段坡的坡高) ****→C:(距中线第1段坡的护坡道宽度) ****→D:(距中线第2段坡的坡率) ****→F:(距中线第2段坡的坡高) ****→G:(距中线第2段坡的护坡道宽度) ****→K:(距中线第3段坡的坡率) ****→L:(距中线第3段坡的坡高) ****→M:(距中线第3段坡的护坡道宽度) ****→N:(距中线第4段坡的坡率)

0年11月

14日

Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

? 17、文件名:“SJK8”(数据库8,右上边坡坡率数据库)

If (H ≥起点桩号 AND H ≤止点桩号) OR (H ≥起点桩号 AND H ≤止点桩号)OR (H ≥起点桩号 AND H ≤止点桩号)…………:(判断计算点所属线元) Then ****→A:(距中线第1段坡的坡率) ****→B:(距中线第1段坡的坡高) ****→C:(距中线第1段坡的护坡道宽度) ****→D:(距中线第2段坡的坡率) ****→F:(距中线第2段坡的坡高) ****→G:(距中线第2段坡的护坡道宽度) ****→K:(距中线第3段坡的坡率) ****→L:(距中线第3段坡的坡高) ****→M:(距中线第3段坡的护坡道宽度) ****→N:(距中线第4段坡的坡率)

Return :(从子程序返回调用此子程序的程序) IfEnd (条件判断结束)

……………………………………………(重复进行下个线元数据录入)

五、后记

2009年12月23日应好友龙龙之邀开始初步编制。

2009年12月24日在网上查阅了其他公路工程测量前辈的大量资料。

2009年12月26日于丰都家中完成初步编制。

2010年3月13日于成德南LJ12标完成了测试修改。

2010年11月14日于省市昭巧二级公路三分部进行了完善。

相较于初编程序,调试时主要修改了坐标反算及高程计算程序。

1、坐标反算将原“H+R→H:”句修改为:“H+R+0.001→H:”避免了直线段

计算中桩时出现Pol(0,0)的错误。

2、初步编制时,高程计算也采用“JFCX”程序,调试后增加“GCJF”程序

专用于高程计算。对高程通过积分计算时采用的距离进行了修正,解决了坡度

较大,距离较长的坡段计算高程时因套用的里程为水平距离而误差较大的问题。

同时针对纵断面仅有直线、圆曲线两种线形及求解量仅为H的情况,对积分程

序及数据库进行了简化。取消了平面坐标计算时关于缓和曲线计算时所需要的

步骤及变量。

3、完善时增加了“ZBFY(坐标放样)DT(线元参数递推)LK(路幅宽度即

加宽)HP(横坡即超高中轴旋转,超高方式按线性变化率)”程序。

3、由于测试时较为匆忙,测试难免不全面。

4

1

1

1

卡西欧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”↙

卡西欧5800P计算器程序

卡西欧5800P计算器TYQXJSI坐标正反算 (经过修改) 1.主程序(TYQXJSI) 10→DimZ:"1.SZ → XY":"2.XY → SZ":?N:"XO"? U:"YO"? V:"SO"? O:"FO"? G:"LS"? H:"RO"? 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:"DK? +?"? S:?Z: Abs(S-O)→W:If W>H or SH or S157297: Then Prog”OPRP2-0”: Else Prog”OPRP1-50” IfEnd: IfEnd Else If N=3: Then Prog”OPRP4”: IfEnd :IfEnd

2. 正算子程序(SUB1) 0.1739274226 →Z[3]:0.3260725774→B:0.0694318442→K: 0.3300094782→L:(1-L) →F:(1-K)→M: (U+W(Z[3]cos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW (C+FWD))+ Z[3]cos(G+QEMW(C+MWD)))) →X: V+W(Z[3]sin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW( C+FWD))+ Z[3]sin(G+QEMW(C+MWD))) →Y:G+QEW(C+WD)+90→F:(X+Zcos(F))→X:(Y+Zsin(F))→Y 注:Z[3]替代源程序A。 3. 反算子程序(SUB2) G-90 →Z[2]:Abs((Y-V)cos(Z[2])-(X-U)sin(Z[2])) →W:0→Z:Lbl 0:Prog "SUB1":Z[2]+QEW(C+WD)→L: (J-Y)cos(L)-(I-X)sin(L)→Z:If Abs(Z)<10^(-6):Then Goto1:Else W+Z→W:: IfEnd: Goto 0 Lbl 1:0→Z:Prog "SUB1":(J-Y)÷sin(F)→Z 注:Z[2]替代源程序T。 ] 4、隧道超欠挖计算(OPRP1) "PZ":Z-2.0→L◢

5800曲线道路全线坐标正反算(已验证)

CASIO fx-5800P线元法坐标正反算程序V2.0 说明:本程序适用于卡西欧计算器 CASIO fx-5800P,可对全线贯通坐标正反算、竖曲线高程计算。该程序可计算任意线型,包含(直线、圆曲线、缓和曲线、卵形曲线)等,还可以能通过坐标反推该点里程和距中线距离,适用测量员专用。 主程序名:ABCYT 第1步Deg:Fix 3:10→DimZ 第2步Lbl 3:"1.DK=>XY":"2.XY=>DK":"Q"?W:"K0+"?S:Prog"ABCYTSJ":If P=0:Then 10^(45)→P:IfEnd:If R=0:Then 10^(45)→R:IfEnd 第3步1÷P→C:(P-R)÷(2HPR)→D:180÷π→E:If W=1:Then Goto 1:Else Goto2:IfEnd 第4步Lbl 1:"E"?Z 90=N:Abs(S-O)→W:Prog "ABCYTZ" 第5步Cls:"F=":Locate 3,1,F°:"X=":Locate 3,2,X:"Y=":Locate 3,3,Y◢ 第6步Prog"ABCYTSQX":Cls:"H=":Locate 3,1,H◢ 第7步1→W:90→N:Goto 3 第8步Lbl 2:?X:?Y:X→I:Y→J:Prog"ABCYTF":O+W→S 第9步Cls:"K=":Locate 3,1,S:"E=":Locate 3,2,Z◢ 第10步2→W:Goto 3 正算子程序名:ABCYTZ 第1步0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L 第2步1-L→F:1-K→M 第3步U+W×(A×cos(G+Q×E×K×W×(C+K×W×D))+B×cos(G+Q×E×L×W×(C+L×W× D))+B×cos(G+Q×E×F×W×(C+F×W×D))+A×cos(G+Q×E×M×W×(C+M×W×D)))→X 第4步V+W×(A×sin(G+Q×E×K×W×(C+K×W×D))+B×sin(G+Q×E×L×W×(C+L×W× D))+B×sin(G+Q×E×F×W×(C+F×W×D))+A×sin(G+Q×E×M×W×(C+M×W×D)))→Y 第5步G+Q×E×W×(C+W×D)→F:F+ N→Z[1] 第6步X+Z×cos(Z[1])→X:Y+Z×sin(Z[1])→Y 反算子程序名:ABCYTF 第1步Lbl 2:(S-O)→W:0→Z:Prog "ABCYTZ":F-90→Z[9]:(J-Y)×cos(Z[9])-(I-X)×sin(Z[9])

卡西欧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)◢

卡西欧5800计算器工程应用程序.

卡西欧5800计算器测量专用程序 一、程序功能 主要功能:采用交点法方式计算多条线路坐标正反算,可算任意复杂线型及立交匝道,包括C型,S型、卵型、回头曲线等;极坐标放样,全线路基边坡开挖口及坡脚放样计算、路基任意点设计高程、横坡、设计半幅宽度.隧道欠超挖放样计算。 新版本优化:1、优化程序语句、2、取消原线元法计算,化线元法为交点法。 3、高程计算修改, 4、附计算坐标及高程参数设计要素输入实例 二、源程序(绿色为程序名;蓝色为输入计算器内容)0.总主程序(1、坐标计算放样程序2、坐标反算程序;3、高程计算查阅程序;4、路基半幅标准宽度查阅程序;5、路基边坡及开挖口放样程序;6、路基标准距离放样;7、桥梁锥坡计算放样程序;8、极坐标计算程序;9、隧道超欠挖计算程序)运行后按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":WhileEnd: While Z[3]=33:Prog"9SD":WhileEnd:LpWhile Z[3]≠25:”XIE XIE SHI YONG”: 1.主程序:一般坐标计算及放样程序

卡西欧5800公路坐标正反算程序教程文件

卡西欧5800公路坐标正反算程序

目录 一、坐标正算基本公式 (02) 二、坐标反算原理 (04) 三、高程数据库录入变换 (05) 四、计算器程序 (07) 01、ZBZS(坐标正算) (07) 02、ZBFS(坐标反算) (08) 03、GCJF(高程积分) (09) 04、PJFY(坡脚放样) (10) 05、JFCX(积分程序) (11) 06、ZBFY(坐标放样) (11) 07、DT(递推) (12) 08、HP(横坡) (13) 09、LK(路宽) (14) 10、SJK1(平面数据库) (14) 11、SJK2(纵面数据库) (14) 12、SJK3(左路宽度数据库) (15) 13、SJK4(右路宽度数据库) (15) 14、SJK5(横坡数据库) (16) 15、SJK6(下边坡数据库) (16) 16、SJK7(左上边坡数据库) (17) 17、SJK8(右上边坡数据库) (18) 五、后记 (19) CASIO 5800计算器公路工程测量程序

一、正算所涉及的计算公式 X R i d X αβB d Y d l d βI 图表 1 在图1中,A 点为回旋曲线起点,B 点为回旋曲线止点,I 点为所求坐标 点。设: A 点的X 坐标为X A ,Y 坐标为Y A ,A 点的切线方位角为α,A 点的曲率为 ρA ,A 点的里程为L A ,B 点的曲率为ρB ,B 点的里程为L B ,I 点的曲率为ρI ,I 点的 里程为L I 。I 点的切线角为β。 由于回旋线上各点曲率半径R i 和该点至曲线起点的距离L 成反比。故此任 意点的曲率为; C L R i i ==1ρ (c 为常数) (1) 由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为L i 点的曲率为; A B A i A B A i L L L L --?-+=)(ρρρρ (2) 当曲线右偏时ρB 、ρA 取正值,反之取负值。设:

卡西欧5800p计算器所有解释

卡西欧5800p计算器所有编程命令解释 1. Norm 1 指数显示 Norm 2 小数显示 2. ?→x只显示? 字符+?→x显示字符+? ?x 显示 x? “字符”?x 显示字符+? 有→则不显示该变量当前值 3.(判断表达式)语句1 : 语句2。。。如果判断表达式为真(或非零),则不跳过语句1. 如果判断表达式为假(或是零),则会跳过语句1. 4. If...then…else…ifend 如果语句为真,则执行then(不执行else),然后执行ifend. 如果语句为假,则执行else(不执行then),然后执行ifend. 5. Break 中断语句 中断For,Do,While循环,并从该循环的下个命令起继续运行 6. Dsz 使控制变量递减一,在变量的值为零时执行转移 7. Isz Isz<变量>:<语句1> <语句2>,变量应为A~Z 以 1 为增量逐次增加变量的值,当变量的值不等于0 时,执行语句1,否则执行语句2 8. Cls Dsz<变量>:<语句1> <语句2>。变量应为A~Z。以1 为减量逐次减小变量的值,当变量的值不等于0 时,执行语句1,否则执行语句2 9. Locate 定位显示语句 句法 1:Locate <列数>, <行数>,<数值> 句法2:Locate <列数>, <行数>,<表达式> 句法3:Locate <列数>, <行数>, "字符串" fx-5800P 的屏幕最多可以显示4 行、16 列字符,

因此定位语句中的列数值应为大于等于1、小于等于16 的整数,行数值应为大于等于1、小于等于4 的整数。 10. Lbi n ~ Goto n Goto n~Lbl n 无条件转移至 Lbi n 位置 11. Getkey 返回与上次按键相对应的代码,Getkey= 12. DO ~ LpWhile循环语句 Do <语句块> LpWhile<条件> 先执行语句块,然后测试条件,条件为真时重复执行语句块,否则执行<条件>后的语句。无,论条件是否为真,语句块至少被执行一次。 13. Pol 计算两坐标点之间距离,坐标为(4,4),与原点的距离就是POL(4,4)=4√2 14. Abs 求绝对值 15. Fix 取整数函数Fix(Rnd*11) ,取0 ~ 11的随机整数 16. Rnd 随机函数 17. 角度单位设置语句 Deg:设置角度单位为十进制度,按键输入Deg。执行该语句后,状态行显示。Rad:设置角度单位为弧度,按键输入Rad。执行该语句后,状态行显示。 Grd:设置角度单位为哥恩,按键输入Grd。执行该语句后,状态行显示。 18. Dim 定义变量 19. RCL 键面命令,Rcl+A 显示变量A的当前值 最全最热最专业的文档类资源,文库一网打尽

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

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

.

. 三、程序代码 .

. .

. .

卡西欧5800p计算器所有编程命令解释

卡西欧5800p计算器所有编程命令解释 1. 句法 1:Locate <列数>, <行数>,<数值> Norm 1 指数显示句法2:Locate <列数>, <行数>,<表达式> Norm 2 小数显示句法3:Locate <列数>, <行数>, "字符串" fx-5800P 的屏幕最多可以显示4 行、16 列字符,2. 因此定位语句中的列数值应为大于等于1、小于等??x 只显示 , 于16 的整数,行数值应为大于等于1、小于等于字符+??x 显示字符+, 4 的整数。 10. Lbi n ~ Goto n Goto n~Lbl n ,x 显示 x? “字符”,x 显示字符+, 无条件转移至 Lbi n 位置 有?则不显示该变量当前值 11. Getkey 3.(判断表达式) 语句1 : 语句2。。。 如果判断表达式为真(或非零),则不跳过语句1. 返回与上次按键相对应的代码,Getkey= 如果判断表达式为假(或是零),则会跳过语句1. 12. DO ~ LpWhile循环语句 4. If...then…else…ifend Do <语句块> LpWhile<条件> 如果语句为真,则执行then(不执行else),然后先执行语句块,然后测试条件,条件为真时重复执执行ifend. 行语句块,否则执行<条件>后的语句。无,论条件如果语句为假,则执行else(不执行then),然后是否为真,语句块至少被执行一次。 执行ifend. 13. Pol

5. Break 中断语句计算两坐标点之间距离,坐标为(4,4),与原点的 距离就是POL(4,4)=4?2 14. Abs 中断For,Do,While循环,并从该循环的下个命 令起继续运行求绝对值 15. Fix 6. Dsz 取整数函数Fix(Rnd*11) ,取0 ~ 11的随机整数 16. Rnd 使控制变量递减一,在变量的值为零时执行转移随机函数 17. 角度单位设置语句 7. Isz Deg:设置角度单位为十进制度,按键输入Deg。Isz<变量>:<语句1> <语句2>,变量应为A~Z执行该语句后,状态行显示。以 1 为增量逐次增加变量的值,当变量的值不等Rad:设置角度单位为弧度,按 键输入Rad。执于0 时,执行语句1,否则执行语句2 行该语句后,状态行显示。 Grd:设置角度单位为哥恩,按键输入Grd。执8. Cls 行该语句后,状态行显示。 18. Dim Dsz<变量>:<语句1> <语句2>。变量应为A~Z。 以1 为减量逐次减小变量的值,当变量的值不等于定义变量 19. RCL 0 时,执行语句1,否则执行语句2 9. Locate 定位显示语句键面命令,Rcl+A 显示变量A的当前值 20. STO 句法:While <条件> <语句块>WhileEnd 键面命令,STO+A 给变量A赋值,显示?A 先测试条件,当条件为真时执行语句块,然后再测21. INS 试条件,条件为真时重复执行语句块,直到,条件为键面命令,切换键标记样式,覆盖与插入切换假时执行WhileEnd 后的语句结束循环 22. ? 键面命令,角度度分秒格式与小数格式转换 31. Prog~Return 调子程序语句 23. ?DMS

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)

最新卡西欧5800程序LG计算器

卡西欧5800程序L G 计算器

一、坐标正算ZBZS Lbl 0 “X0=”?X:“Y0=”?Y:“I=”?I:“J=”?J X+Icos(J)→U:Y+Isin(J)→V “X=”:U?“Y=”:V? Goto 0 二、坐标反算ZBFS Lbl 0 “X1=”?X:“Y1=”?Y:“X2=”?U:“Y2=”?V Pol(U-X,V-Y): J<0 => J+360→J “I=”:I?“J=”J?DMS? Goto 0 三、圆曲线计算YQXJS “X0=”?X:“Y0=”?Y:“FWJ=”?D:“QDHAO=”?G:“ZDHAO=”?C:“R=”?R Lbl 1 “DQHAO=”?L LC => Goto 2 “PY=”?K 180(L-G)÷(πR)→E 2Rsin(0.5E)→F Rec(Abs(F),D+0.5E) “X=”:X+I+Kcos(D+E+90)→A? “Y=”:Y+J+Ksin(D+E+90)→B? D+E→O:O<0 => 360+O→O “FWJ=”:O?DMS? Goto 1 Lbl 2:“END” 四、1.竖曲线SQX “QZHAO=”?J:“HB=”?B:“I1=”?C:“I2=”?D:“R=”?R“T=”?T: (D-C)÷100→W:W÷Abs(W)→A:“T”:0.5Abs(W)→S? J-T→X:J+T→Y Lbl 0 “DQ=”?L If LY:Then Goto 1:IfEnd:IfEnd

“GC=”:B+0.01C(L-J)+A(L-J+T)2÷(2R)→H? Goto 0 Lbl 1:“END” 2.标高计算BGJS(含横坡计算边桩) “QZHAO=”?J: “QDHAO=”?G: “ZDHAO=”?K: “HB=”?B: “SX=”?Q:“I1=”?C:“I2=”?D: “R=”?R“T=”?T: (D-C)÷100→W:W÷Abs(W)→A:“T”:0.5Abs(W)→S?“YIGAO=”?O J-T→X:J+T→Y Lbl 0 “DQ=”?L:“PY=”?U: “HP=”?V If LY:Then Goto 2:IfEnd:IfEnd “HL=”:B+0.01C(L-J)+A(L-J+T)2÷(2R)+0.01UV+Q→H? “H0=”:O-H→Z? Goto 0 Lbl 1 L Goto 3 “HL=”:B+0.01C(L-J)+0.01UV+Q→H? “H0=”:O-H→Z? Goto 0 Lbl 2 L>K => Goto 3 “HL=”:B+0.01D(L-J)+0.01UV+Q→H? “H0=”:O-H→Z? Goto 0 Lbl 3:“END” 说明:输入时可包括竖曲线前后各一段的平直段,HL为中桩或边桩标高,H0为前视读数 五、点到直线距离DDZXJL Lbl 0 “X0=”?A:“Y0=”?B:“X1=”?X:“Y1=”?Y:“X2=”?U:“Y2=”?V Pol(U-X,V-Y) “L=”(B-Y)cos(J)-(A-X)sin(J)→L? “S=”(B-Y)sin(J)+(A-X)cos(J)→S? Goto 0 六、横坡渐变HPJB “QDHAO=”?A:“QDHP=”?B:“ZDHAO=”?C:“ZDHP=”?D Lbl 0

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 支距及偏角法正反算程序 该程序使用支距偏角法,正算速度一般,反算速度较辛普森公式反算速度稍快 计算范围从直缓到缓直,如若缓直后为直线则无需输入变量直接继续计算 此程序在正算循环里程超限上占用字节较多,适用公路路基临时输入变量放样 运行只需从主程序进入,请各位高手多多指正 主程序“ZS FS” 20→Dim Z “1→NEW,2→OLD”?Z ↙ IF Z=1:Then Goto 1: Else Goto 2 if end↙选择输入选一手动输入曲线要数选二提取数据库 输入交点X,Y LbI 1:”JDX”?T:“JDY”?B 输入切线1,2的长 “T1”?C:”T2”?D 输入前后缓和曲线的长 “L1”?E: “L2”?F “ZHL”?G 输入直缓里程 “FWJ”Q 输入直缓点切线方位角 “-PJ+”?S 输入偏角左负右正 ?R: 输入圆曲线半径 Goto 4↙ ↙ LbI2:prog “SJK”:goto 4 ↙输入观测点里程输入N值1为正算其他为反算 LbI4: “KCD”?K: ?N : If N=1: T hen Goto 5: Else prog “ZSXH” Goto 6: If end↙

LbI5: “X”?M: “Y”?Z Prog “FSXH”: Goto 7: If end↙选择反算后输入测点的X,Y 假设里程与正算输入一起,无需另输入 LbI6:“W”?W求边桩输入边距左-右+ X+WCos(P+90) →X: “X=”:X ◢显示所求X值 ◢显示所求Y值 Y+WSin(P+90) →Y: “Y=”:Y ◢显示所求点切线方位角 P<0 => P+360→P: “FW=”:P Goto 4 LbI7: “KCD=”:K ◢显示反算出的里程 “W=”:W◢显示反算出的边距 Goto 4↙ 子程序正算循环“ZSXH” ↙ R(Abs(S)-90E÷(∏R)-90F÷(∏R)) ∏÷180→J If K<=(说明:小于等于号)E+G+J: Then Goto 1: Else Goto 3: If end↙ LbI1: Q→H:T-C*Cos(H)→X:B-C*Sin(H)→Y: 根号(R∏) →A↙ If K<=G+E:Then K-G→L:prog “B” :P→P:prog “C”:Goto 6: Else E→L: prog “B”:P→P: prog “C”:X→X:Y→Y:Goto 2: If end↙ ↙ LbI2: K-G-E→L: prog “D”:P→P: prog“C”: Goto 6 根号(RF)→A↙ LbI3: Q+S→H:T+D*Cos(H)→X:B+D*Sin(H)→Y: If K<=G+E+J+F: Then G+E+J+F-K→L: prog “B”:

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◢

5800P编程计算器坐标正反算程序

5800P编程计算器坐标正反算程序 一,主程序文件名(TYQXJS) LbI 4:“1.SZ=> XY’’:’’2.XY=>SZ’’︰?N:?S:Prog“SUB0” 1÷P→C:(P-R) ÷(2HPR) →D:180÷π→E:N=1=> Goto1:Goto2 LbI 1: ?Z:Abs(s-O)→W︰Prog“SUB1”︰“XS=”:X?“YS=”:Y? F-90→F:”FS=”:F?DMS? Goto 4 LbI 2:?X:?Y:X→I:Y→J:Prog”SUB2”:O+W→S﹕“S=”S?“Z=”:Z? Goto 4 二:子程序(文件名SUB1) 0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L:1-L→F:1-K→M:U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+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+QEMW(C+QEMW(C+MWD)))→Y:G+QEW(C+WD)+90→F:X+Zcos(F)→X:Y+Zsin(F)→Y 三:反算子程序(文件名SUB2)

G-90→T:Abs((Y-V)Cos(T)-(X-U)Sin(T)→W:0→Z:LbI 0:Prog“SUB1”:T+QEW(C+WD)→L:(J-Y)cos(L)-(I-X)sin(L)→Z:IfAbs(Z)<0.000001:ThenGoto1:Else W+Z→W:Goto0 LbI 1:0→Z:Prog“SUB1”:(J-Y)÷sin(F)→Z: 四:数据库(文件名) LbI 1:If S<止点里程:Then起点方位角→G:起点里程→O:起点X坐标→X:起点Y坐标→Y:起点半径→P:止点半径→R:曲线长→H:左转(-1)右转(1)直线(0)→Q:Return:IfEnd 数据库说明: 每增加一段曲线就增加以上一句上面的语句,当半径为无穷大时以10的45次方代替,左转输入负1,右转输入正1 五:程序输入及显示说明 1:输入部分 1,SZ=>XY 2,XY=>SZ N? 选择计算方式输入1表示由里程边距计算坐标(正算)输入2表示由坐标计算里程及边距(反算) S? 正算时输入所求点的里程,反算时为所求点的近似里程(注意反算时的近似里程不能跨曲线,如果跨曲线需要进行两次反算,并以第一的里程结果作为近似里程,否则,反

公路测量中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

卡西欧5800计算器正反算程序(绝对好用)

https://www.360docs.net/doc/3314687130.html,/celiang/article_view.asp?id=760&author=%u674E%u8273%u9633 公路路线座标正反算 作者:李艳阳 由于现在计算机普及,计算机功能日益强大,宜采用较简单的积分公式,便于计算机处理。单线元通用积分公式如下 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: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↙

相关文档
最新文档