分段线路坐标正反算程序.docx

上传人:b****8 文档编号:9002392 上传时间:2023-02-02 格式:DOCX 页数:7 大小:16.97KB
下载 相关 举报
分段线路坐标正反算程序.docx_第1页
第1页 / 共7页
分段线路坐标正反算程序.docx_第2页
第2页 / 共7页
分段线路坐标正反算程序.docx_第3页
第3页 / 共7页
分段线路坐标正反算程序.docx_第4页
第4页 / 共7页
分段线路坐标正反算程序.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

分段线路坐标正反算程序.docx

《分段线路坐标正反算程序.docx》由会员分享,可在线阅读,更多相关《分段线路坐标正反算程序.docx(7页珍藏版)》请在冰豆网上搜索。

分段线路坐标正反算程序.docx

分段线路坐标正反算程序

【分段线路坐标正反算程序】

主程序:

【XLZB-FD】

L1:

Ø.1739274226→B:

Ø.5-B→C:

1→U:

"1.KD→XY2.XY→KD"?

U:

IfU=1:

ThenProg"ZS-FD":

ElseProg"FS-FD":

IfEnd↙

子程序1:

【ZS-FD】

L1:

Ø→Z:

9Ø→V↙

L2:

LblØ:

"K"?

K:

Prog"ZZ-FD":

IfU≠Ø:

ThenGotoØ:

IfEnd:

"K.D"?

Z:

IfZ≠Ø:

Then"K.A"?

V:

F+V→F:

S+Zcos(F)→S:

T+Zsin(F)→T:

IfEnd↙

L3:

Fix3:

"K.X=":

S◢

L4:

"K.Y=":

T◢

L5:

Norm:

GotoØ↙

子程序2:

【FS-FD】

L1:

Lbl2:

{VW}:

"K.X"?

V:

"K.Y"?

W:

Ø→K↙

L2:

Lbl3:

Prog"ZZ-FD":

V-S→I:

W-T→J:

Pol(I,J):

J-F→J:

K+Rec(I,J)→K:

IfAbs(I)<1m:

ThenFix3:

"K=":

K◢:

"K.D=":

J◢

L3:

Norm:

ElseGoto3:

IfEnd↙

L4:

1→M:

"Ø.NEXT1.EXIT"?

M:

IfM=Ø:

ThenGoto3:

IfEnd:

Goto2↙

子程序3:

【ZZ-FD】

L1:

Prog"DATA-FD":

K-L→M:

(P-R)÷2PQR→O:

5→DimZ:

Ø.Ø694318442→Z[1]:

Ø.33ØØØ94782→Z[2]:

1→Z[3]:

1-Z[3]→Z[4]:

1-Z[2]→Z[5]↙

L2:

For1→Ito5:

A+MrZ[I](1÷P+OMZ[I])→Z[I]:

Next:

Z[3]→F↙

L3:

X+M(Bcos(Z[1])+Ccos(Z[2])+Ccos(Z[4])+Bcos(Z[5]))→S↙

L4:

Y+M(Bsin(Z[1])+Csin(Z[2])+Csin(Z[4])+Bsin(Z[5]))→T↙

子程序4:

【DATA-FD】

L1:

Ø→U:

IfK<(线路起点里程):

Then"<

":

1→U:

IfEnd:

IfK>(线路终点里程):

Then">>!

":

1→U:

IfEnd↙

L2:

(线元起点里程)→Q:

IfK≤L+Q:

Then(线元起点半径)→P:

(线元终点半径)→R:

(线元起点X坐标)→X:

(线元起点Y坐标)→Y:

(线元起点方位角)→A:

GotoE:

IfEnd:

L+Q→L↙

L3:

(重复L2)

L4:

LblE↙

输入说明:

L2开始每行程序为一个线元参数要素,有几个线元就输入几行。

直线半径按<1E45>输入。

功能常数可能位置会不同,请仔细查询;

位于

位于位于键;

位于

*******************************************************************************************************

【完整线路坐标正反算程序】

主程序:

【XLFY-ALL】

L1:

5→DimZ:

1→Z:

"1.KD→XY2.XY→KD"?

Z:

IfZ=1:

ThenProg"ZS-ALL":

ElseProg"FS-ALL":

IfEnd↙

子程序1:

【ZS-ALL】

L01:

Z→Ø:

V→9Ø↙

L02:

LblØ:

"K"?

K:

Prog"ZZ-ALL":

IfZ[1]≠Ø:

ThenGotoØ:

IfEnd:

"K.D"?

Z:

IfZ≠Ø:

Then"K.A"?

V:

F+V→F:

X+Zcos(F)→X:

Y+Zsin(F)→Y:

IfEnd↙

L03:

Fix3:

"K.X=":

X◢

L04:

"K.Y=":

Y◢

L05:

Norm:

GotoØ↙

子程序2:

【FS-ALL】

L01:

Lbl8:

"K.X"?

V:

"K.Y"?

W:

Ø→K↙

L02:

Lbl9:

Prog"ZZ-ALL":

V-X→I:

W-Y→J:

Pol(I,J):

J-F→J:

K+Rec(I,J)→K:

IfAbs(I)<1m:

ThenFix3:

"K=":

K◢:

"K.D=":

J◢

L03:

Norm:

ElseGoto9:

IfEnd↙

L04:

1→Z:

"Ø.NEXT1.EXIT"?

Z:

IfZ=Ø:

ThenGoto9:

IfEnd:

Goto8↙

子程序3:

【ZZ-ALL】

L01:

Prog"DATA-ALL":

Abs(B)πR÷18Ø-(L+M)÷2→G↙

L02:

L²÷24÷R-L^4÷2688÷R^3→P:

L÷2-L^3÷24Ø÷R²→Q↙

L03:

M²÷24÷R-M^4÷2688÷R^3→U:

M÷2-M^3÷24Ø÷R²→O↙

L04:

(R+U-(R+P)cos(Abs(B)))÷sin(Abs(B))+Q→T:

(R+P-(R+U)cos(Abs(B)))÷sin(Abs(B))+O→S:

J-T+1m→D↙

L05:

IfK≤D:

ThenGoto1:

IfEnd:

IfK≤D+L:

ThenK-D→C:

L→U:

Goto2:

IfEnd:

IfK≤D+L+G:

Then1→C:

Goto3:

IfEnd:

IfK≤D+M+L+G:

ThenK-D-M-L-G→C:

M→U:

Goto2:

IfEnd:

IfK>D+M+L+G:

ThenK-D-L-M-G→C:

Goto5:

IfEnd↙

L06:

Lbl1:

E+(J-K)cos(A+18Ø)→X:

N+(J-K)sin(A+18Ø)→Y:

A→F:

GotoE↙

L07:

Lbl2:

C-C^5÷(4ØR²U²)+C^9÷(3456R^4U^4)→H:

C^3÷(6RU)-C^7÷(336R^3U^3)+C^11÷(4224ØR^5U^5)→I:

IfC=K-D:

ThenGoto4:

IfEnd:

Goto6↙

L08:

Lbl3:

9Ø(2K-2D-L)÷π÷R→U:

Rsin(U)+Q→H:

R(1-cos(U))+P→I↙

L09:

Lbl4:

IfB<Ø:

Then-I→I:

IfEnd:

E+Tcos(A+18Ø)+Hcos(A)+Icos(A+9Ø)→X:

N+Tsin(A+18Ø)+Hsin(A)+Isin(A+9Ø)→Y:

Goto7↙

L10:

Lbl5:

A+B→F:

E+(C+S)cos(F)→X:

N+(C+S)sin(F)→Y:

GotoE↙

L11:

Lbl6:

IfB>Ø:

Then-I→I:

IfEnd:

E+(S+H)cos(A+B)+Icos(A+B+9Ø)→X:

N+(S+H)sin(A+B)+Isin(A+B+9Ø)→Y↙

L12:

Lbl7:

R→U:

IfB<Ø:

Then-R→U:

IfEnd:

IfC=K-D:

ThenA+9ØC²÷(πUL)→F:

IfEnd:

IfC=K-D-L-M-G:

ThenA+B-9ØC²÷(πUM)→F:

IfEnd:

IfC=1:

ThenA+18Ø(K-D-L÷2)÷π÷U→F:

IfEnd↙

L13:

LblE↙

子程序4:

【DATA-ALL】

L1:

Ø→Z[1]:

IfK<(线路起点里程):

Then"<

":

1→Z[1]:

IfEnd:

IfK>(线路终点里程):

Then">>!

":

1→Z[1]:

IfEnd↙

L2:

IfK≤(起点或上一段曲线缓直点里程):

Then(交点里程)→J:

(交点X坐标)→E:

(交点Y坐标)→N:

(半径)→R:

(第一缓和曲线长度)→L:

(第二缓和曲线长度)→M:

(偏角)→B:

(起始边方位角)→A:

GotoE:

IfEnd↙

L3:

(重复L2)

L4:

LblE

简要说明:

每行程序为一个曲线的参数要素,有几个曲线就输入几行。

*******************************************************************************************************

【中桩标高计算程序】

主程序:

【H-SJ】

L1:

LblØ:

"K"?

K:

Prog"DATA-H"↙

L2:

Abs(R(G-F))÷200→T↙

L3:

IfK≤N-T:

ThenO-0.01F(N-K)→S:

Goto1:

IfEnd↙

L4:

IfK≤N:

ThenO-0.01F(N-K)-(T+K-N)^2÷R÷2→S:

Goto1:

IfEnd↙

L5:

IfK≤N+T:

ThenO-0.01G(N-K)-(T+N-K)^2÷R÷2→S:

Goto1:

IfEnd↙

L6:

IfK>N+T:

ThenO-0.01G(N-K)→S:

IfEnd↙

L7:

Lbl1:

Fix3:

"H=":

S◢Norm:

GotoØ↙

子程序4:

【DATA-SJ】

L1:

Ø→Z:

IfK<(线路起点里程):

Then"<

":

1→Z:

IfEnd:

IfK>(线路终点里程):

Then">>!

":

1→Z:

IfEnd↙

L2:

IfK≤(起点或上一段竖曲线终止里程):

Then(变坡点里程)→N:

(变坡点高程)→O:

(竖曲线半径<凸+凹->)→R:

(前纵坡值)→F:

(后纵坡值)→G:

GotoE:

IfEnd↙

L3:

(重复L2)

L4:

LblE

*******************************************************************************************************

【坡脚宽度计算程序】

程序名:

【PJD】

L1:

25→L:

2.5→G:

1.5→T:

8→N:

0.9→A:

0.9→B:

1.10→C:

1.5→D:

"H-SJ"?

S↙

L2:

Lbl1:

"H-DM"?

M:

Abs(S-M)→H↙

L3:

IfS-M≥0:

ThenL+HD→K:

Goto2:

IfEnd↙

L4:

IfH≤N:

ThenL+G+HA→K:

Goto2:

IfEnd↙

L5:

IfH≤2N:

ThenL+G+NA+T+(H-N)B→K:

Goto2:

IfEnd↙

L6:

IfH>2N:

ThenL+G+NA+T+NB+T+(H-2N)C→K:

Goto2:

IfEnd↙

L7:

Lbl2:

Fix3:

"L-PJ=":

K◢↙

L8:

Norm:

Goto1↙

*******************************************************************************************************

【坐标反算程序】

程序名:

【XY-DF】

L1:

Ø→I:

Ø→J:

"A.X"?

D:

"A.Y"?

G:

"B.X"?

X:

"B.Y"?

Y:

Pol((X-D),(Y-G)):

IfJ<Ø:

ThenJ+36Ø→J:

IfEnd↙

L2:

Fix5:

"AB-AZIMUTH=":

J◢

L3:

Fix3:

"AB-DIST=":

I◢

L4:

Norm↙

*******************************************************************************************************

【坐标正算程序】

程序名:

【DF-XY】

L1:

"A.X"?

D:

"A.Y"?

G:

"AB-AZIMUTH"?

J:

"AB-DIST"?

I↙

L2:

Fix3:

"B.X=":

D+Icos(J)→X◢

L3:

"B.Y=":

G+Isin(J)→Y◢

L4:

Norm↙

*******************************************************************************************************

【面积计算程序】

程序名:

【AREA】

L1:

LblØ:

"M"?

M:

"N"?

N:

M→E:

N→F:

Ø→S↙

L2:

Lbl1:

"X"?

X:

"Y"?

Y:

S-(XN-YM)÷2→S:

IfX=E:

ThenIfY=F:

Then"AREA=":

Abs(S)→S◢GotoØ:

IfEnd:

IfEnd↙

L3:

X→M:

Y→N:

Goto1↙

*******************************************************************************************************

【两直线交点计算程序】

程序名:

【JD】

L1:

"1.X"?

A:

"1.Y"?

B:

"2.X"?

C:

"2.Y"?

D:

"3.X"?

E:

"3.Y"?

F:

"4.X"?

G:

"4.Y"?

H↙

L2:

C-A→N:

D-B→O:

G-E→P:

H-F→Q:

QN-OP→K:

NB-OA→U:

PF-QE→V↙

L3:

Fix3:

"P.X=":

(PU-NV)÷K→X◢↙

L4:

"P.Y=":

(QU-OV)÷K→Y◢

L5:

Norm↙

*******************************************************************************************************

【点到直线距离计算程序】

程序名:

【PLDIST】

L1:

"P.X"?

A:

"P.Y"?

B:

"L1.X"?

E:

"L1.Y"?

F:

"L2.X"G:

"L2.Y"?

H↙

L2:

Pol((G-E),(H-F)):

J-90→J↙

L3:

A+10cos(J)→C:

B+10sin(J)→D↙

L4:

C-A→N:

D-B→O:

G-E→P:

H-F→Q:

QN-OP→K:

NB-OA→U:

PF-QE→V↙

L5:

(PU-NV)÷K→X:

(QU-OV)÷K→Y:

Pol((X-A),(Y-B))↙

L6:

Fix3:

"AB-DIST=":

I◢

L7:

Norm↙

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1