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

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

门、SJK2 (纵面数据库) (14)

12、SJK3 (左路宽度数据库) (15)

13、SJK4 (右路宽度数据库) (15)

14、SJK5 (横坡数据库) (16)

15、SJK6 (下边坡数据库) (16)

16、SJK7 (左上边坡数据库) (17)

17、SJK8 (右上边坡数据库) (18)

五、后记 (19)

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

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

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

点。设:

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

A, A点的里程为L A,B点的曲率为p0,B点的里程为L B, I点的曲率为Pi, I点的里程为L|o I点的切线角为B o

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

口=丄=土(c为常数)(1)

尺C

由式(1)可知,回旋曲线任意点的曲率按线性变化,由此回旋曲线上里程为

Li点的曲率为;

Pi = P A +(P B - 必)x , ' _ /

(2

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

则有:

Pi = P A + ML

在I 点处取一微段,则有: d p = — = p,d f (单位为弧度)

因已知回旋曲线起点A 的切线方位角a ,则里程为匚点的切线方位角为: e =? + A

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

a i = a + p s L + ^-(单位为弧度)

(9

2 对于式(9),当p A =0, M 二0时,则a Fa ,式(9)变成计算直线段上任意 点切线方位角的计算公式;当p A =c (c 为常数),M 二0时,则a i=a + p A L,式

(9) 变成计算圆曲线上任意点切线方位角的计算公式。

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

I

X = X A + Jcos?)/

L B -

L .x LU

曲率变化率 (3

(5)

(6)

(7)

对上式进行积分并代入式(3) (4),则有; P, = j P4 = j (P.A + ML)d 严 \ p A d t + M j Ld= P 上 + 牛 0 0 0 0 /

(8)

/

丫 = h+Jsin(%M (10)

o

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

X = X、+ Jcos? + PiE +斗亠/f

o 2

4-二、反算原理

图表2 在图2中,A点为已知坐标而待求对应中桩桩号及边距的点。B点为假定的A点

对应中桩桩号点。显然,B点并不对应于A点。做出B点的切线,过A点做辅助线垂

直于B点的切线,相交于C点。设:

B点的切线方位角为a, B点的桩号为K B, B点的坐标分别为X B、Y B, A点的桩号为K A,A点的坐标分别为X A、Y A,“B-A”的方位角为B, “B-A”的距离为N, “B-C”的距离为L, “C-A”的距离为Z。

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

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

L = N cos(0 - a) (1)

Z = N sin(0-a) (2)

贝卸内客18

Y = Y A + sin(a +

MJ (11)

当L二0时,B点是对应于A点的,K B=K A, Z即为A点的距中桩的距离。

当L#=0时,则采用K B=K8+L,对B点进行新的假定,进而再次对L进行解算, 直至L二0,或则L值在容许误差范围之内。

4-三、高程数据库录入变换计算

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

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

根据通用的纵断面高程计算公式,容易解算出每个线形变化点的里程及高程,即图3中,A、B、C、D点的“H、L”值。

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

.H

I =— L

利用反三角函数,即能解算出以L轴为起点,

P = tan"1 (/)

(1)

逆时针方向旋转的角值B。

(2)

a = 90 - 0

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

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

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

—-—(4)

cos(90-a)

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

在图4中,A点为线元起点(直线0A与圆弧AB的切点),B点为待求弧长点,F

点为曲线对应圆心。

根据互余角相等原理得出:ADAF = a

运用三角函数计算得出:AD= Rcos(a) : DF = Rsin(a)

显然:

才艮据圆曲线方程:X2+Y2=R2^出:X = DC = AC-AD, Y =BE=J R2 -X? 根据图示:BC=BE-CE = Y — DF

利用反三角函数:/ = tan-1(竺0

AC

从而:0 = 9O-a-y

根据弧长计算公式得:

1 =空

(5

90

4-四、卡西欧5800程序;

>仁文件名:“ZBZS”(坐标正算)

n Kl= M ?H:(输入计算点桩号并赋值于变量H)

Prog " SJK1 n:(进入数据库1中读取数据)

Prog ” JFCX ” :(进入积分程序进行运算)

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

THEN PROG” LK” :(进入路宽程序计算出路幅宽度值)

“BS二” :EPHP/ (对路幅宽度代入土号以区分左右)

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

IF END:(判断结束)

H X= K :S+PCos(W+90)->U /(显示边桩X坐标并赋值于变量U,可对90度进行调整,如斜交30度或其他,但是角度不分左右,即90度二-90度二270度)

n Y= ,f :T+PSin(W+90)TV (显示边桩Y坐标并赋值于变量V)

PROG” GCJF” :(进入高程积分程序,计算设计高程)

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

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

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

” Kl= ” ?H:(输入假定桩号并赋值于变量H)

n Xl= n ?V:(输入反算点X坐标并赋值于变量V)

n Yl= ” ?Y:(输入反算点Y坐标并赋值于变量Y)

n Hl= ” ?Z:(输入反算点高程并赋值于变量Z)

Lbl 0:(转移起点命令)

Prog n SJK1 M:(进入数据库1中读取数据)

Prog n JFCX “ :(进入积分程序进行运算)

Pol(V-S,Y-T) TN:(将直角坐标转换为极坐标并将极经赋值于变量N)

JTU:(将极角赋值于变量U。注意:在Pol 0函数中,计算生成的r值被自动赋值于1, 9值被赋值于J)

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

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

H+R+0. 001->H:(对假定桩号H值重新赋值,此处增加的:“+0.001”是为了避免直线段计算中桩时出现Poi(0,0)的错误。)

Goto 0:(程序跳转入Lbl 0处重新开始运行)

Lbl 1:(转移起点命令)

n KI=n :H /(显示解算出来的桩号)

n BL= M : NSin (U-W) TP,(计算反算点至中桩距离并赋值于变量P,右为+)Prog H GCJF M:(进入高程积分程序进行运算)

PROG” LK” :(进入路宽程序,计算路幅宽度)

IF PM0:(如果反算边距大于0,即右幅)

THEN “BL0二”:P-ETG/(反算点距离右边线距离,+为超挖,-为欠挖)

ELSE “BL0二”:ABS(P)-ETG/(反算点距离左边线距离,+为超挖,-为欠挖)IF END:(判断结束)

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

IFABS(P)WE:(如果反算点在路幅内,则计算该点挖填,反之则计算该点对应路幅边缘点挖填,并赋值于Q变量)

THEN “ZI二” :(S+ABS(P)F)-ZTQ:

ELSE “Zl=” :(S+ABS(E)F)-ZTQ:

IF END (判断结束)

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

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

H-FTX:(计算水平距离并赋值于变量X)

If D=0:(根据曲率判断直线或圆曲线)

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

Sin(C) -rAbs(D) TE:(参照第三节理解)

V ((14-D)2-(X-B)2) TG:(参照第三节理解)

tan-1 ((G-E) -rX) TT:(参照第三节理解)

nAbs (90-C-T) W90mAbs(D)TX:(计算出弧长并赋值于变量X)

If End:(条件判断结束)

A+J (Cos (C+D r X2) ,0,X) -4S:(计算设计高程值并赋值于S)

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

Prog " ZBFS n执行坐标反算程序,并显示)

PROG “LK” :(执行路宽程序)

IF QN0:(如果为填方,则进入SJK6,调用下边坡数据)

THEN PROG “SJK6” :

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

THEN PROG” SJK7” :

ELSE PROG” SJK8” :(调用右侧上边坡数据)

IF END:(第二判断结束)

IF END:(第一判断结束)

Abs (Q) WB=>E+ Abs (Q) ATZ:

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

Abs (Q) W(B+F)And Abs (Q) >B =>E+AB+C+ (Abs (Q) -B)DTZ:

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

Abs (Q) W(B+F+L)AndAbs (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)

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

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

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

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

C+D r X+O. 5r MX2->W: (H算点切线方位角并赋值于变量W。注意:D\ 0.5”中的上标r,为弧度转化符号其值为180/n,计算器内有此符号)

A+J (Cos (C+D r X+0. 5r MX2) ,0,X) TS:(计算中桩X 坐标值并赋值于S)

B+J (Sin (C+D r X+0.5r MX2) ,0,X) TT (计算中桩Y坐标值并赋值于T)

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

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

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

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

THEN GOTO 0:

ELSE J+360TJ:

IF END:(判断结束)

LB1 0:

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

JTW:” 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:

GTH:(计算桩号等于线元止点桩号)

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

“YZ="汀TB/

GTF: ETD: WTC:(将止点参数赋值于起点)

“WZ二”:C、DMS (将方位角转化为以度分秒为单位)

> 8、文件名:“HP”(横坡计算程序中轴旋转线性变化)PROG “SJK5” :(进入数据库5,调用超高参数)

IF PW0:(区分左右,并将横坡百分比化)

THEN 0.01CTC: O.O1D-4D:

ELSE 0.01E->C: 0.01F-ID:

IF END:

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

THEN CTF: GOTO 0:

ELSE B-ATG: (LS,计算缓和段长度)

IF END:

IF C>0 OR D>0:(判断超高方向,即平曲线内外)

THEN C+(H-A)(D-OFGTF: GOTO 0:(线性内插)

ELSE G- G ABS(D-C)弓(ABS(D)-C)TK: (LO,计算临界长度)IF END:

IF ABS(D) >ABS(C):(判断ZH-HY 或YH-HZ)

THEN H-ATL:

ELSE B-HTL:

IF END:

IF LWK:(超高变化段内侧,判断临界长度以内或以外)

THEN C->F: GOTO 0:

ELSE C+ (L-K)(D-C) 4- (G-K) TF: GOTO 0:(线性内插)IF END:

FTF

> 9、文件名:“LK”(路幅宽度计算程序加宽线性变化)IF PW0:(区分左右,分别调用数据)

THEN PROG “SJK3” :

ELSE PROG “SJK4":

IF END:

C+ (H-A)(D~C) -r (B-A) T E:(线性内插)

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

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

Then ****->A:(线元起点X坐标赋值于变量A)

****->B:(线元起点Y坐标赋值于变量B)

****TC:(线元起点方位角赋值于变量C)

±**-r**HD:(线元起点曲率赋值于变量D。注意:线元右偏为+ ,反之为-,曲

贝翳内客

率等于1/R,即半径的倒数,直线曲率为0。)

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

****-? F:(线元起点桩号赋值于变量F)

****HG:(线元止点桩号赋值于变量G)

Return:(从子程序返回调用此子程序的程序)

If End (条件判断结束).................................... (重复进行下个线元数据录入)

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

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

Then ****->A:(线元起点高程赋值于变量A)

****-? C:(线元起点方位角赋值于变量C)

土**(线元起点曲率赋值于变量D。注意:凸曲线为+,反之为-,曲率

等于1/R,即半径的倒数,直线曲率为0。)

****TF:(线元起点桩号赋值于变量F)

Return:(从子程序返回调用此子程序的程序)

If End (条件判断结束).................................... (重复进行下个线元数据录入)> 12、文件名:“SJK3”(数据库3,左路幅宽度数据库)

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

Then ****->A:(线元起点桩号赋值于变量A)

****-? C:(线元起点左路幅宽度赋值于变量C)

****->B:(线元止点桩号赋值于变量B)

****TD:(线元止点左路幅宽度赋值于变量D)

Return:(从子程序返回调用此子程序的程序)

If End (条件判断结束).................................... (重复进行下个线元数据录入)

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

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

Then **?*-? A:(线元起点桩号赋值于变量A)

****TB:(线元止点桩号赋值于变量B)

****-? C:(线元起点右路幅宽度赋值于变量C)

****->D:(线元止点右路幅宽度赋值于变量D)

Return:(从子程序返回调用此子程序的程序)

If End (条件判断结束).................................... (重复进行下个线元数据录入)

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

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

Then ****->A:(线元起点桩号赋值于变量A)

***?->B:(线元止点桩号赋值于变量B)

?***-? c:(线元起点左路横坡(土i)上坡为+,如2%输入2, -2%输入-2,即可)****TD:(线元止点左横坡赋值于变量D)

****-? E:(线元起点右横坡赋值于变量E)

****->F:(线元止点右横坡赋值于变量F)

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

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

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

If (HM起点桩号AND HW止点桩号)OR (HM起点桩号AND HW止点桩号)OR (HM起点桩号AND HW止点桩号)........... :(判断计算点所属线元)Then ****->A:(距中线第1段坡的坡率)

****-? B:(距中线第1段坡的坡高)

****-? C:(距中线第1段坡的护坡道宽度)

?***-? D:(距中线第2段坡的坡率)

****-? F:(距中线第2段坡的坡高)

****TG:(距中线第2段坡的护坡道宽度)

****-? K:(距中线第3段坡的坡率)

****-? L:(距中线第3段坡的坡高)

****-? M:(距中线第3段坡的护坡道宽度)

****-? N:(距中线第4段坡的坡率)

Return:(从子程序返回调用此子程序的程序)

If End (条件判断结束).................................... (重复进行下个线元数据录入)> 16、文件名:“SJK7”(数据库7,左上边坡坡率■数据库)

If (HM起点桩号AND HW止点桩号)OR (HM起点桩号AND HW止点桩号)OR (HM起点桩号AND HW止点桩号)............ :(判断计算点所属线元)Then ****->A:(距中线第1段坡的坡率)

****->B:(距中线第1段坡的坡高)

****-? C:(距中线第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”↙

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])

卡西欧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 取正值,反之取负值。设:

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交点法正反算程序

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”:

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? 正算时输入所求点的里程,反算时为所求点的近似里程(注意反算时的近似里程不能跨曲线,如果跨曲线需要进行两次反算,并以第一的里程结果作为近似里程,否则,反

5800-9860计算器坐标正反算通用程序

5800-9860计算器坐标正反算通用程序 1. 坐标正算主程序(命名为ZBZS) 第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B 第2行:Prog “A” 第3行:”X=”:N+Zcos(F+B)◢ 第4行:”Y=”:E+Zsin(F+B)◢ 第5行:”F=”:F◢ 第6行:Goto 0 K——计算点的里程 BIAN——计算点到中桩的距离(左负右正) α——取前右夹角为正 2. 坐标反算桩号和偏距主程序(命名为ZBFS) 第1行:”X1=”? C:”Y1=”?D: ”K1=”?K 第2行:Lbl 0:Prog “A” 第3行:Pol(C-N,D-E) 第4行:List Ans[1]→I 第5行:List Ans[2]→J 第6行:Icos(F-J)→S:K+S→K 第7行:Abs(S)>0.0001=>Goto 0 第8行:”K1=”:K◢ 第9行:”BIAN=”:Isin(J-F)→Z◢ X1——取样点的X坐标 Y1——取样点的Y坐标 K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号 Z——偏距(左负右正) 3. 计算坐标子程序(命名为XYF) 为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1行:K-A→S:(Q-P)÷L→I 第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N 第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E 第4行:F+S(2P+SI)×90÷π→F 4. 数据库(命名为A)

第1行:K≤175.191=>Stop 第2行: 175.191→A:428513.730→N:557954.037→E:92°26′40″→F:0→P:1/240→Q:70.417→L: K≤A+L =>GoTo 1(第一缓和曲线,圆半径为240) 第3行:245.607→A: 428507.298→N:558024.092→E: 100°50′59.4″→F: 1/240→P:1/240→Q: 72.915→L: K≤A+L =>Goto 1(第圆曲线,半径为240) 第4行:318.522→A: 428482.988→N:558092.538→E: 118°15′25.2″→F: 1/240→P: 0→Q: 55.104 →L: K≤A+L =>Goto 1(第二缓和曲线,圆半径为240) 第5行:373.627→A:428453.283→N:558138.912→E:124°50′4.5″→F:0→P:- 1/180→Q:67.222→L: K≤A+L=>Goto 1:Stop(第一缓和曲线,圆半径为180) 第6行:Lbl 1:Prog “XYF” A——曲线段起点的里程 N——曲线段起点的x坐标 E——曲线段起点的y坐标 F——曲线段起点的坐标方位角 P——曲线段起点的曲率(左负右正) Q——曲线段终点的曲率(左负右正) L——曲线段长度(尽量使用长度,为计算断链方便) 说明: (1)在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。 (2)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加第二偏距和转角两个变量。 (3)程序规定,左偏曲线曲率(半径倒数)输入负值,右偏曲线曲率输入正值,直线上点曲率输入0,例如直线段,线元起点和终点均输入0,第一缓和曲线分别输入0和圆半径的倒数,圆曲线均输入半径倒数,第二缓和曲线分别输入圆半径倒数和0,卵形曲线分别输 入对应圆半径的倒数 (4)若是从大里程向小里程的反方向计算,则曲率取正方向时的负值,方位角减去(或加上)180度。 (5)有多个匝道的项目,可随时更改正反算主程序中的红色字体部分来调用其它线路的数据 (6)反算桩号偏差为1mm (7)可以计算任意线型的任意点坐标

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

5800常用程序

<<返回列表|上一篇下一篇 转载| 分享该日志| 评论| 举报 【转】 FX-5800计算器公路测量常用 程序 转载自:陈晓龙转载于:2010-12-22 12:56 | 分类:经典~~阅读:(2) 评论:(0) 一、程序功能 本程序由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◢ "Y=":Locate 6,4,Y◢ Prog"3JS”:Goto 0: 5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度) 程序名:5FBX LbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog “THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Th en 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEnd LbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T:

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

https://www.360docs.net/doc/911278865.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↙

5800计算器公路测量常用程序

5800计算器公路测量常用程序 一、程序功能 本程序由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=”:Locate6,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中 输入置仪点坐标后计算放样点至置仪点方位角及距离)(销售与维修陀螺全站仪、超站仪全站仪经纬仪垂准仪水准仪对讲机标线仪。钢精扫描仪测厚仪电火花检测仪金属探测仪 gps系统测距仪罗盘张博电话 ) 程序名: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◢ "Y=":Locate 6,4,Y◢ Prog"3JS”:Goto 0: 5.主程序5:路基开挖边线及填方坡脚线放样程序(输入大概桩号及测量坐标、地面标高计算出偏移距离、桩号、距中距离、填挖高度) 程序名:5FBX LbI 0:Norm 2: 18→DimZ:2→F:90→Z[1]:Prog “THB”:Z:D:”M0”?M:M→Z[4]:D→Z[3]:Prog”6GD”:L→Z[6]:If D<0:Then 0.75-L→D:Goto H:Else L-0.75→D:Goto H:IfEnd LbI H:Prog”H”:H-0.03-Z[4] →Z[5]:Z[6] →L:If Z[5]<0:Then –z[5] →G:Goto W:Else Z[5] →G:Goto T: LbI W:P rog “W0”:Z[10]+Z[11] →A: If G>A:Then Goto 1:Else If G>Z[10]:Then Goto 2:Else Goto 3:IfEnd: LbI 1:L+Z[12]+Z[13]+Z[14]+(G-A)×Z[9]+Z[11]×Z[8]+Z[10]×Z[7]:Goto Z:

CASIO5800坐标正反算计算程序

CASIO 9860/5800坐标正反算计算程序 1. 坐标正算主程序(命名为ZBZS) 第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B 第2行:Prog “A” 第3行:”X=”:N+Zcos(F+B)◢ 第4行:”Y=”:E+Zsin(F+B)◢ 第5行:”F=”:F◢ 第6行:Goto 0 K——计算点的里程 BIAN——计算点到中桩的距离(左负右正) α——取前右夹角为正 2. 坐标反算桩号和偏距主程序(命名为ZBFS) 第1行:”X1=”? C:”Y1=”?D: ”K1=”?K 第2行:Lbl 0:Prog “A” 第3行:Pol(C-N,D-E) 第4行:List Ans[1]→I 第5行:List Ans[2]→J 第6行:Icos(F-J)→S:K+S→K 第7行:Abs(S)>0.0001=>Goto 0 第8行:”K1=”:K◢ 第9行:”BIAN=”:Isin(J-F)→Z◢ X1——取样点的X坐标 Y1——取样点的Y坐标 K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号 Z——偏距(左负右正) 3. 计算坐标子程序(命名为XYF) 为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序第1行:K-A→S:(Q-P)÷L→I

第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N 第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E 第4行:F+S(2P+SI)×90÷π→F 4. 数据库(命名为A) 第1行:K≤175.191=>Stop 第2行:175.191→A:428513.730→N:557954.037→E:92°26′40″→F:0→P:1/240→Q:70.417→L: K≤A+L =>GoTo 1(第一缓和曲线,圆半径为240) 第3行:245.607→A: 428507.298→N:558024.092→E: 100°50′59.4″→F: 1/240→P:1/240→Q: 72.915→L: K≤A+L =>Goto 1(第圆曲线,半径为240) 第4行:318.522→A: 428482.988→N:558092.538→E: 118°15′25.2″→F: 1/240→P: 0→Q: 55.104 →L: K≤A+L =>Goto 1(第二缓和曲线,圆半径为240) 第5行:373.627→A:428453.283→N:558138.912→E:124°50′4.5″→F:0→P:-1/180→Q:67.222→L: K≤A+L=>Goto 1:Stop(第一缓和曲线,圆半径为180) 第6行:Lbl 1:Prog “XYF” A——曲线段起点的里程 N——曲线段起点的x坐标 E——曲线段起点的y坐标 F——曲线段起点的坐标方位角 P——曲线段起点的曲率(左负右正) Q——曲线段终点的曲率(左负右正) L——曲线段长度(尽量使用长度,为计算断链方便) 说明: (1)在9860中,程序中所有公式和部分函数结果均存储在List Ans列表数组中,要想多次调用最好随公式取出结果,并赋给变量。 (2)正算主程序可以计算一般边桩的坐标,如要计算类似涵洞端墙的坐标需增加第二偏距和转角两个变量。

5800坐标正反算通用程序

坐标正反算通用程序(终极篇) 1. 坐标正算主程序(命名为ZBZS) 第1行:Lbl 0:”K=”?K:”BIAN=”? Z:”α=”?B 第2行:Prog “A” 第3行:”X=”:N+Zcos(F+B)◢ 第4行:”Y=”:E+Zsin(F+B)◢ 第5行:”F=”:F?DMS◢ 第6行:Goto 0 K——计算点的里程 BIAN——计算点到中桩的距离(左负右正) α——取前右夹角为正 2. 坐标反算桩号和偏距主程序(命名为ZBFS) 第1行:”X1=”? C:”Y1=”?D: ”K1=”?K 第2行:Lbl 0:Prog “A” 第3行:Pol(C-N,D-E):Icos(F-J)→S:K+S→K 第4行:Abs(S)>0.0001=>Goto 0 第5行:”K1=”:K◢ 第6行:”BIAN=”:Isin(J-F)→Z◢ X1——取样点的X坐标 Y1——取样点的Y坐标 K1——输入时为计算起始点(在线路内即可),输出时为反算点的桩号 Z——偏距(左负右正) 注:在9860或9960中需将第3行替换为Pol(C-N,D-E): List Ans[1]→I :List Ans[2]→J:Icos(J-F)→S:K+S→K,正反算主程序所有输入赋值多加一赋值符号(→),其他所有除数据库外的程序均保持不变3. 计算坐标子程序(命名为XYF) 为了简洁,本程序由数据库直接调用,上述中的正反算主程序不直接调用此程序 第1行:K-A→S:(Q-P)÷L→I 第2行:N+∫(cos(F+X(2P+XI)×90÷π),0,S)→N 第3行:E+∫(sin(F+X(2P+XI)×90÷π),0,S)→E 第4行:F+S(2P+SI)×90÷π→F 第5行:F<0=>F+360→F: F>360=>F-360→F

5800计算器道路程序

卡西欧5800计算器道路程序 发布时间:2008-11-19 10:33:38 功能: 坐标正反算(含高程),把要素内置化(无需改程序文件,即可更换路线,同时存两条线要素) 另含两个边仰(一个横向坡,一个纵向坡)坡放样模块. 帮助文件未完成 程序浏览: FileName:RESET 初始化程序 Norm 1:50→C:12345→J "RESET PW"?I:I=J=>500→DimZ 为数据库增加额外变量500个,在SET、SETPFDYS程序根据实际再增减变量 50→Z[C+22] "PASSWORDS"?I:I→Z[C+39] 重设要素保护密码 Cls:Stop FileName:DATLOCK 要素保护密码确定认程序 Cls:Norm 1:50→C "PASSWORDS"?I:Cls:I≠Z[C+39]=>Stop FileName:SHELL(外壳程序) 50→C ;在扩充变量预留前50个给别的程序用。如不够就适量加大。RESET,SHELL,SET,SETPFDYS,这几个程序中C值必需一致 Z[C+35]→I:"STATION-N"?I:I→Z[C+35] 设置测站N坐标 Z[C+36]→I:"STATION-E"?I:I→Z[C+36] 设置测站E坐标 Z[C+44]→I:"STATION-Z"?I:I→Z[C+44]设置测站Z坐标 Z[C+45]→I:"STATION-HI"?I:I→Z[C+45] 设置仪高 Z[C+41]→I:"GC-DH"?I:I→Z[C+41] 放样点高差常数 Norm 1 Z[C+23]→N当前分段要素N坐标 Z[C+24]→E当前分段要素E坐标 Z[C+25]→M当前分段要素起点桩号 Z[C+26]→H当前分段要素起点方位角(正北)单位:弧度 Z[C+27]→A当前分段要素起点曲率有左偏负右偏正(注意不半径) Z[C+28]→R当前分段要素终点曲率有左偏负右偏正(注意不半径) Z[C+29]→L当前分段要素长度 Z[C+3]→W Z[C+32]→I:"DAT1 2 3"?I:I→Z[C+32] 平曲线要素数库类型选择1为内置式,2文件式,3实时输入(查看当前要素值) 0→I Z[C+4]→I:"1 2 3"?I:I→Z[C+4] 选择本程序模式默认为坐标正算,1坐标反算,2横向边仰坡放样,3,纵向边仰坡放样(隧道

卡西欧5800P坐标正反算程序超好用

卡西欧5800P坐标正反算程序超好用 5800P坐标正算反算程序 U:“XO”起点的X坐标, V:“YO”起点的Y坐标, O:“SO”起点的里程桩号, G:“FO”起点的方位角, H:“LS”计算段线元的长度, P:“RO”线元起点的曲率半径, R:“RN”线元终点曲率半径, “Q ”线元图形信息(直线段Q=0,左偏Q=-1,右偏Q=1)以道路中线前进方向(即大里程方向)区分左右。 DY=ZB:LC:输入1为正算,既输入里程桩号和偏距算坐标,输入2为反算,既输入坐标算里程桩号和偏距。 S:“LC”?S:待求点的里程桩号, Z:“PJ”?Z:待求点的里程偏距(在中线上取零,左侧取负值,右侧取正值)。 1.当线元为直线时,其起点,终点的曲率半径为无穷大,以10的45次方代替。 2.当线元为圆曲线时,无论其起点,终点与什么线元相接,其曲率半径均等于圆曲线的半径。 3.当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次方代替,与圆曲线相接时,曲率半径等于圆曲线半径。终点与直线相接时,曲率半径为无穷大,以10的45次方代替,与圆曲线相接时,曲率半径等于圆曲线半径。 4.当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值,与圆曲线相接时,曲率半径等于圆曲线半径,终点与直线相接时,曲率半径等于设计规定值,与圆曲线相接时,曲率半径等于圆曲线半径。 1.坐标正反算主程序A-ZBZS3 U:“XO ”?U:V:“YO”?V:O:“SO”?O:G:“FO”?G:H:“LS”?H:P:“RO”?P:R:“RN”?R:“Q”?Q: (1÷P)->C:(P-R)÷(2HPR)->D:(180÷Π)->E:N:“DY=ZB:LC”?N:If N=1:Then Goto 1:Else Goto 2:IfEnd: Lbl1: S:“LC”?S:Z:“PJ”?Z:Abs(S-O)->W:Prog“SUB1”:“XS=”:X◢ “YS=”:Y◢ “FS=”:F-90◢ Goto 1: Lbl 2: “X”?X: “Y”?Y:X->I:Y->J:Prog “SUB2”:S: “LC=”:O+W->S◢ Z: “PJ=”:Z◢ Goto 2: 2.坐标正算子程序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+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))

相关文档
最新文档