可以给我个卡西欧5800计算器公路高程计算程序吗

可以给我个卡西欧5800计算器公路高程计算程序吗,第1张

(坐标正反算,程序模块化设计,可自行升级,扩展功能)

建议录入程序次序

KEYLOCK  锁键程序 可独立测试能正常运行 1

DISPLAYXYZ 主程序可独立测试能正常运行 2

READDAT要素数据库文件 (请改为自已路线的要素) 3

ZBJS  坐标计算程序 4

INZHANDZBJS桩号、横距输入程序 5

TURNZH 坐标反算6

INNEZ  实测坐标输入程序7

如正确输入以上程序,运行DISPLAYXYZ,按“0”进行坐标反算,按“.”进行坐标正算。

技术支持:Q285507730

FileName:INZHANDZBJS

//:桩号、横距输入程序://

Lbl S

Cls:Norm 1

"ZH"?G桩求桩号

"JL"?B 输入横向距离

"JJ"?W 输入斜桩角,一般为90

Wπ÷180→W

Prog"ZBJS" 080702晚添加

Return

FileName:ZBJS 坐标计算程序

Prog"READDAT"

Rad

G-M→Q

0.5(R-A)÷L→K

AQ→I

KQ2→J

0.0469100770→P:H+IP+JP2→O

0.2307653449→P:H+IP+JP2→T

0.5→P :H+IP+JP2→D

0.7692346551→P:H+IP+JP2→F

0.9530899230→P:H+IP+JP2→P

0.1184634425→I

0.2393143352→J

0.2844444444→Y

N+Q(ICos(O)+JCos(T)+YCos(D)+JCos(F)+ICos(P))→X

E+Q(ISin(O)+JSin(T)+YSin(D)+JSin(F)+ISin(P))→Y

H+AQ+KQ2→F

X+BCos(F+W)→X

Y+BSin(F+W)→Y

Return

FileName:TURNZH(坐标反算)

Prog"INNEZ"

0→B:M+L÷2→G:Prog"ZBJS"

Lbi S:Rad

U-X→I:V-Y→J

If I=0 And J=0 :Then Goto A:IfEnd

Pol(I,J)

Lbi A:Rec(I,J-F)

G+I→G:IF Abs(I)>0.0001 :Then Prog"ZBJS":Goto S↙

J→B

FileName:INNEZ 实测坐标输入程序

Lbl S

Norm 1:Cls

"DQD-N"?U 输入待求点N坐标

"DQD-E"?V输入待求点E坐标

Return

FileName:KEYLOCK

//:本程序用于锁定键盘大部分按键,设定时间内无按键则反回默认健。只有“0”,“.”,“x10x”,“(-)”这四个键可用,为了更方便说明程序,以后将分别定义这四个键为热键

“0”===F1

“.”===F2

“x10x” ===F3

“(-)” ===F4

Exit退出程序

://

1000→J 无按键时间,5800设1000时大约为50秒。

Lbl S

0→I

Do:I+1→I:I≥J=>Goto E:LpWhile Not(Getkey=25 Or Getkey=26 OrGetkey=27 OrGetkey=57 OrGetkey=73)

Getkey=73=>Stop 停止全部程序

Getkey=0=>Goto S

Getkey→I:Return

Lbl E

57→I:Retrutn 默认按键值为F4

FileName:DISPLAYXYZ

//:<主程序>,显示:桩号,N,E,Z,横向偏移。

热键功能

F1 快捷坐标反算

F2 快捷坐标正算

F3

F4

://

7→DimZ

Z[1]→N 当前分段要素N坐标

Z[2]→E 当前分段要素E坐标

Z[3]→M 当前分段要素起点桩号

Z[4]→H 当前分段要素起点方位角(正北)单位:弧度

Z[5]→A 当前分段要素起点曲率有左偏负右偏正(注意不是半径)

Z[6]→R 当前分段要素终点曲率有左偏负右偏正(注意不是半径)

Z[7]→L 当前分段要素长度

Lbl S:Cls:Fix 3

"ZH=":Locate 4,1,G

"N=":Locate 3,2,X

"E=":Locate 3,3,Y

"Z":Locate 2,4,Z 注意,本程序无高程计算。所以这句无意义。

Locate 10,4,B

Prog "KEYLOCK"

If I=25:Then Prog "TURNZH":Goto S:IfEnd 定义F1功能

If I=26:Then Prog "INZHANDZBJS":Goto S:IfEnd 定义F2功能

Goto S

FileName:READDAT 要素数据库文件

π÷180→J

GM+L=>Goto 1

Return

Lbi 1

If G<30008.396:Then Cls:Stop:IfEnd↙ 判断待求桩号是否小于本要素起点,如小于就停止运行程序

If G<30661.038(终点里程):Then 2851422.090(起点X)→N:513896.440(起点Y)→E:30008.396→M:213°32′52″J(起点方位角)→H:0 (起点曲率)→A:0(终点曲率)→R:652.642起点至终点长度→L:Goto E:IfEnd↙

If G<30921.038:Then 2850878.162→N:513535.768→E:30661.038→M:213°32′52″J→H:0→A:1÷1300→R:260→L:Goto E:IfEnd↙

If G<31426.367:Then 2850666.478→N:513385.004→E:30921.038→M:219°16′39″J→H:1÷1300→A:1÷1300→R:505.328→L:Goto E:IfEnd↙

If G<31686.367:Then 2850346.483→N:512998.015→E:31426.367→M:241°32′56″J→H:1÷1300→A:0→R:260→L:Goto E:IfEnd↙

If G>31686.367:Then Cls:Stop:IfEnd↙ 判断待求桩号是否大于本要素终点,如大于就停止运行程序

Lbi E

N→Z[1]:E→Z[1]:M→Z[3]:H→[4]:A→Z[5]:R→Z[6]:L→Z[7] 记忆当前要素以免重复搜索

Return

反算桩号和偏距主程序(命名为ZBFS)

第1行:Lbl 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◢

第7行:Prog “GC”

第7行: Goto 1

X1——取样点的X坐标

正算主程序(ZS)FIX4:?S:?Z:Prog “PM-SJ”: Abs(S-O) → W:Prog "SUB1": "XS=":X◢

"YS=":Y◢F-90→F(需要时可以让他显示):Prog“SQX-SJ”: Prog“SQX”:“H=”:H◢

反算主程序(FS)FIX4: ?S:?X:?Y:Prog“PM-SJ”: X→ I: Y→ J:Prog "SUB2": "S=":O+W→S◢"Z=":Z◢

Prog“SQX-SJ”:Prog“SQX” :“H=”:H◢边坡放样主程序(BP-FY)Lb1 0:Prog“ZS”:“H-BG”(中桩与坡脚起算点高差值,比中桩高正,反之负)?A:H+A →B:?P(实测点高程):?L(坡脚起算点到中桩的距离):0.75(挖方时一级坡度) →C:1 (挖方时二级坡度)→D:1.5 (挖方时三级坡度)→E:8(挖方时一级坡高) →G:10(挖方时二级坡高) →M:15(挖方时三级坡高) →N:2 (平台宽度)→K:1 (填方时一级坡度)→I:1.5(填方时二级坡度) →J:2 (填方时三级坡度)→O:2 (填方时一级坡高)→Q:8 (填方时二级坡高)→R:10 (填方时三级坡高)→T:ifP>B:thenGoto1:ElseGoto2Lb1 1:ifP>B:thenL+C(P-B)→U:P-B →F:IfEnd←┘ifP>B+G:thenL+CG+K+D(P-B-G)→U:P-B-G →F:IfEnd←┘ifP>B+G+M:thenL+GC+2k+MD+E(P-B-G-M)→U:P-B –G-M→F:IfEnd:Goto3←┘Lb1 2:ifP≤B:thenL+I(B -P)→U: B -P →F:IfEnd←┘ifP≤B-Q:thenL+IQ+K+J(B-Q-P)→U:B-Q-P→F:IfEnd←┘ifP≤B-Q-R:thenL+IQ+2k+JR+O(B-Q-R-P)→U:B-Q-R-P→F:IfEnd:Goto3←┘Lb1 3:U-AbsZ→V:ifZ<0:thenZ-V→Z:Else z+v→z:IfEnd←┘ “Z=”:Z◢计算得出正确的宽度,路线左为负,右为正。“V=”V◢ 宽度调整值,正为远离中线,负为向中线靠近。“PT=”:F◢距离即将到达的填挖方平台的高度。注:由于路基的宽度和超高情况较为复杂,因此该程序的缺点是不能自动计算路基宽度和路基边缘坡脚起算点的设计高程,需要手算坡脚起算点与中桩的宽度及与中桩的高差。算例;S? 700(放样点桩号) Z?-15(试算宽度) X=19839.5817 Y=28515.5010 H=107.144 H-BG? -0.15(边缘起算点的高程比中桩低0.15) p?150(实测高程)L? 12(起算边缘点距中桩的距离) Z=-69.509(计算得出正确的宽度)V=54.509(远离中线方向距测点54.509米),PT=25.006(距离平台高度)。 然后再次进入下一轮试算,直到V趋近于零。

隧道3心圆放样主程序(SD-3XY)Lb1 0:Prog“FS”:1.5→A:1.65→B:0.89→G:2.27→C:3.3→D:2.41→E:0.51→J:“H1”:F:ifF≤H+A:then E-AbsZ→W:IfEnd:ifF>H+A And F≤H+A+B:then√(D�0�5-(F-H-A)�0�5)-G-AbsZ→W:IfEnd:ifF>H+A+B:then√(C�0�5-(F-H-A-J)�0�5)-AbsZ→W:IfEnd:“W=”:W◢ (水平方向的超欠挖:正为欠,负为超)Goto0正算子程序(SUB1)

1÷P→ C: (P-R)÷(2HPR) → D: 180÷π→ E: 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))+Asin(G+QEMW(C+MWD))) → Y: G+QEW(C+WD)+90→ F: X+ZcosF→ X: Y+ZsinF→ Y反算子程序(SUB2)

G-90→T: Abs((Y-V)cosT-(X-U)sin(T)) → W: 0→ Z:Lbl 0:Prog "SUB1": T+QEW(C+WD) →L: (J-Y)cosL-(I-X)sinL → Z:ifAbsZ<1E-6:thenGoto1:ElssW+Z → W:Goto 0:IfEnd←┘

Lbl 1: 0→ Z:Prog "SUB1": (J-Y)÷sinF→ Z子程序(平面数据库)PM-SJifS ≥500(线元起点里程)AndS<769.256(线元止点里程):Then19942.837 →U(线元起点X坐标):28343.561 →V(线元起点Y坐标):500 →O(线元起点里程):125°16°31°→G(线元起点方位角):269.265 →H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥769.256(线元起点里程)AndS<806.748(线元止点里程):Then19787.34 →U(线元起点X坐标):28563.378→V(线元起点Y坐标):769.256→O(线元起点里程):125°16°31°→G(线元起点方位角):37.492→H(线元长度):10^(45)→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥806.748(线元起点里程)AndS<919.527(线元止点里程):Then19766.566→U(线元起点X坐标):28584.574→V(线元起点Y坐标):806.748→O(线元起点里程):120°25°54.07°→G(线元起点方位角):112.779→H(线元长度):221.75→P(线元起点曲率半径):221.75→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥919.527(线元起点里程)AndS<999.812(线元止点里程):Then19736.072 →U(线元起点X坐标):28701.893 →V(线元起点Y坐标):919.527→O(线元起点里程):91°17°30.63°→G(线元起点方位角):80.285→H(线元长度):221.75→P(线元起点曲率半径):9579.228→R(线元终点曲率半径):-1→Q(线元左右偏标志:左负右正):IfEnd←┘ifS ≥999.812(线元起点里程):Then19744.038 →U(线元起点X坐标):28781.659→V(线元起点Y坐标):999.812→O(线元起点里程):80°40°50°→G(线元起点方位角):100→H(线元长度):10^(45)→P(线元起点曲率半径):10^(45)→R(线元终点曲率半径):0 →Q(线元左右偏标志:左负右正):IfEnd←┘子程序(竖曲线数据库)SQX-SJifS≤999.812(竖曲线终点里程):then0.0357(前坡度:上坡正下坡负)→E:0.0227(后坡度:上坡正下坡负):600→R(竖曲线半径):780→G(变坡点里程):110→C(变坡点高程):IfEnd←┘子程序(竖曲线计算公式)SQXE-F→J:ifJ>0:then-R→R:ElssR→R:Abs(R*J÷2)→T:ifS≤G-T:thenG-S→L:C-LE→H:IfEnd←┘ifS>G-T And S≤G: thenG-S→L:(S+T-G)�0�5÷2÷R→N:C-LE+N → H:IfEnd←┘ifS>G And S≤G+T: then S-G→L:(G +T- S)�0�5÷2÷R→N:C-LF+N → H:IfEnd←┘ifS>G+T :thenS-G→L: C+LF → H:IfEnd←┘ 三、使用说明

1、规定

(1) 以道路中线的前进方向(即里程增大的方向)区分左右;当线元往左偏时,

Q=-1;当线元往右偏时,Q=1;当线元为直线时,Q=0。

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

侧时,Z取正值。

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

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

弧的半径。

(5) 当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45

次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半

径为无穷大,以10的45次代替;与圆曲线相接时,曲率半径等于圆曲线的半径。

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

值;与圆曲线相接时,曲率半径等于圆曲线的半径。止点与直线相接时,曲率半径等

于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。2、输入与显示说明

S ? 正算时所求点的里程,反算时估算点里程,反算时尽量不要超出真实测点所在的线元里程终点,即尽量向小里程估计,如超出线元终点计算器将死机。

Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)

X ?反算时所求点的X坐标

Y ?反算时所求点的Y坐标

显示部分:

XS=×××正算时,计算得出的所求点的X坐标

YS=×××正算时,计算得出的所求点的Y坐标

S=×××反算时,计算得出的所求点的里程

Z=×××反算时,计算得出的所求点的边距H=××× 正反算时,计算得出所求点的中桩设计高程(如弯道沿边线超高时要另外考虑超高段中桩高程)四、算例

某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组

成,各段线元的要素(起点里程S0、起点坐标X0 Y0、起点切线方位角F0、线元长度

LS、起点曲率半径R0、止点曲率半径RN、线 元左右偏标志Q)如下:

S0 X0 Y0 F0LS R0 RN Q

500.00019942.83728343.561 125 16 31.00269.256 1E45 1E45 0

769.25619787.34028563.378 125 16 31.00 37.492 1E45 221.75 -1

806.74819766.56628594.574 120 25 54.07 112.779221.75 221.75 -1

919.52719736.07228701.893 91 17 30.63 80.285221.75 9579.228 -1

999.81219744.03828781.659 80 40 50.00 100.0001E45 1E45 0

1、正算

(注意:略去计算方式及线元要素输入,请自行根据所求点所在的线元输入线元

要素)

S=700 Z=-5计算得 XS=19831.41785 YS=28509.72590 H=107.144

S=700 Z=0 计算得 XS=19827.33592 YS=28506.83837 H=107.144

S=700 Z= 5计算得 XS=19823.25398 YS=28503.95084 H=107.144 S=780 Z=-5计算得 XS=19785.25749 YS=28575.02270 H=112.759

S=780 Z=0 计算得 XS=19781.15561 YS=28572.16358 H=112.759

S=780 Z= 5计算得 XS=19777.05373 YS=28569.30446 H=112.759

S=870 Z=-5计算得 XS=19747.53609 YS=28654.13091 H=112.759

S=870 Z=0 计算得 XS=19742.68648 YS=28652.91379 H=112.759

S=870 Z= 5计算得 XS=19737.83688 YS=28651.69668 H=112.759

S=940 Z=-5.123计算得 XS=19741. 59118 YS=28722.05802 H=130.475

S=940 Z=0计算得 XS=19736.47687 YS=28722.35642H=130.475

S=940 Z= 3.009计算得 XS=19733.47298 YS=28722.53168 H=130.475

2、 反算

X=19831.418 Y=28509.726 计算得 S=699.9999974 Z= -5 .00018164

X=19827.336 Y=28506.838 计算得 S=699.9996493 Z= 0.000145136H=107.144

X=19823.25398 Y=28503.95084计算得 S=699.9999985 Z= 5.000003137

X=19785.25749 Y=28575.02270 计算得 S=780.0000035 Z= -5 .000001663

X=19781.15561 Y=28572.16358 计算得 S=780.0000025 Z=- 0.000002979H=112.759

X=19777.05373 Y=28569.30446 计算得 S=780.0000016 Z= 4.99999578

X=19747.536 Y=28654.131 计算得 S=870.0001137 Z= -4.99941049

X=19742.686 Y=28652.914 计算得 S=870.0003175 Z=- 0.00041814 H=130.475

X=19737.837 Y=28651.697 计算得 S=870.0002748 Z= 4.999808656 X=19741.5912 Y=28722.0580 计算得 S=939.9999786 Z= -5.123024937

X=19736.4769 Y=28722.3564 计算得 S=939.9999862 Z=- 0.000027710 H=130.475

X=19733.4730 Y=28722.5317 计算得 S=940.0000238 Z= 3.00898694


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11168075.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存