5800公路线路坐标正反算程序.docx

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

5800公路线路坐标正反算程序.docx

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

5800公路线路坐标正反算程序.docx

5800公路线路坐标正反算程序

5800公路线路坐标正反算程序

时间:

2010-08-0118:

59:

01  来源:

本站  作者:

张玉楠  我要投稿  我要收藏  投稿指南

一单交点对称:

本程序由一个主程序JD和三个子程序(JDA、JDB、JDC)构成,运行时只需运行主程序即可!

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

当然本程序也可单独逐交点输入进行放样计算用!

鉴于5800计算器的空间和以上所述本程序的主要目的,故此程序不修改为数据库版本!

需要的自行修改结合XY框架自己修改为数据库反算程序等!

主程序名:

JD

24→Dimz↙

Cls:

"K(JD)"?

K:

"X(JD)"?

X:

"Y(JD)"?

Y:

"LS1"?

B:

"LS2"?

C:

?

R:

"(ZH)FWJ"?

M:

"α(Z-,Y+)"?

O:

M+O→N:

Prog"JDA"↙

Cls:

"T1=":

"T2=":

"L=":

"LY=":

Locate4,1,S:

Locate4,2,T:

Locate4,3,L:

Locate4,4,Q◢

Cls:

"E=":

"K(ZH)=":

Locate7,1,E:

Locate7,2,Z[1]◢

Cls:

"K(HY)=":

"K(QZ)=":

"K(YH)=":

"K(HZ)=":

Locate7,1,Z[2]:

Locate7,2,Z[3]:

Locate7,3,Z[4]:

Locate7,4,Z[5]◢◢

LbI0:

"JSLC"?

P:

"(-L,Z=0,+R)"?

D:

IfD≠0:

Then"RJ"?

H:

IfEnd:

Prog"JDB"↙

IfD<0:

ThenCls:

"X(L)=":

"Y(L)=":

Locate6,1,F:

Locate6,2,G◢◢

Goto0:

IfEnd↙

IfD=0:

ThenCls:

"X(Z)=":

"Y(Z)=":

Locate6,1,F:

Locate6,2,G◢

 "QXFWJ(Z)=":

Z▼DMS◢

Goto0:

IfEnd↙

IfD>0:

ThenCls:

"X(R)=":

"Y(R)=":

Locate6,1,F:

Locate6,2,G◢

Goto0:

IfEnd↙

子程序1名:

JDA

IfO<0:

Then -1→W:

Else1→W:

IfEnd:

WO→A↙

B2÷24÷R-B^(4)÷2688÷R^(3)→Z[6]↙

C2÷24÷R-C^(4)÷2688÷R^(3)→Z[7]↙

B÷2-B^(3)÷240÷R2→Z[8]↙

C÷2-C^(3)÷240÷R2→Z[9]↙

Z[8]+((R+Z[7]-(R+Z[6])cos(A))÷sin(A))→S↙

Z[9]+((R+Z[6]-(R+Z[7])cos(A))÷sin(A))→T↙

RAπ÷180+(B+C)÷2→L↙

RAπ÷180-(B+C)÷2→Q↙

(R+(Z[6]+Z[7])÷2)÷cos(A÷2)-R→E↙

K-S→Z[1]↙↙

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

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

Z[1]+L-C→Z[4]↙

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

子程序2名:

JDB

X-Scos(M)→Z[19]:

Y-Ssin(M)→Z[20]↙

X+Tcos(N)→Z[21]:

Y+Tsin(N)→Z[22]↙

IfP>Z[1]:

ThenGoto1:

IfEnd↙

Z[1]-P→L↙

X-(S+L)cos(M)+Dcos(Z+H)→F↙

Y-(S+L)sin(M)+Dsin(Z+H)→G↙

M→Z:

Goto5↙

LbI1:

IfP>Z[2]:

ThenGoto2:

IfEnd↙

P-Z[1]→L:

L→Z[12]:

B→Z[13]:

Prog"JDC"↙

Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙

Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙

M+90WL2÷(BRπ)→Z↙

Goto5↙

LbI2:

IfP>Z[4]:

ThenGoto3:

IfEnd↙

P-Z[1]→L:

90(2L-B)÷R÷π→Z[11]↙

Rsin(Z[11])+Z[8]→Z[14]:

R(1-cos(Z[11]))+Z[6]→Z[15]↙      

Z[19]+Z[14]cos(M)-WZ[15]sin(M)+Dcos(Z+H)→F↙

Z[20]+Z[14]sin(M)+WZ[15]cos(M)+Dsin(Z+H)→G↙

M+WZ[11]→Z↙

Goto5↙

LbI3:

IfP>Z[5]:

ThenGoto4:

IfEnd↙

Z[5]-P→L:

L→Z[12]:

C→Z[13]:

Prog"JDC"↙

Z[21]-Z[14]cos(N)-WZ[15]sin(N)+Dcos(Z+H)→F↙

Z[22]-Z[14]sin(N)+WZ[15]cos(N)+Dsin(Z+H)→G↙

N-90WL2÷(CRπ)→Z↙

Goto5↙

LbI4:

P-Z[5]→L↙

X+(T+L)cos(N)+Dcos(Z+H)→F↙

Y+(T+L)sin(N)+Dsin(Z+H)→G↙

N→Z↙

Goto5↙

LbI5:

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

子程序3名:

JDC

IfZ[12]=0:

Then0→Z[14]:

0→Z[15]:

Else↙

Z[12]-Z[12]^(5)÷40÷(RZ[13])2+Z[12]^(9)÷3456÷(RZ[13])^(4)→Z[14]↙

Z[12]^(3)÷6÷(RZ[13])-Z[12]^(7)÷336÷(RZ[13])^(3)+Z[12]^(11)÷42240÷(RZ[13])^(5)→Z[15]↙

IfEnd↙

程序说明:

已知数据输入:

XC?

测站X坐标

YC?

测站Y坐标

K(JD)?

交点桩号

X(JD)?

交点X坐标

Y(JD)?

交点Y坐标

LS1 ?

第一缓和曲线长度

LS2 ?

第二缓和曲线长度

 R ?

圆曲线半径

(ZH)FWJ°?

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

α(Z-,Y+)?

本交点处线路转角(左转为负,右转为正,度分秒输入)

K×+×××?

待求桩号

Z?

待求桩号距中距离(左负值,右正值,中为0)

RJ?

斜交右角(线路切线前进方向与边桩右侧夹角)

计算结果显示:

T1=第一切线长

T2=第二切线长

L=曲线总长

LY=圆曲线长

E=曲线外距

K(ZH)=直缓点桩号

K(HY)=缓圆点桩号

K(QZ)=曲中点桩号

K(YH)=圆缓点桩号

K(HZ)=缓直点桩号

X=Y=待求点的坐标(其中:

L-左Z-中R-右)

QXFWJ(Z)=待求点的中桩切线方位角(当求中桩坐标时显示)

二非对称线路坐标正反算通用程序(中边桩)

GAUSSLE坐标正反算fx-5800程序

源程序

1.正算主程序

Lbi0:

“G”?

K:

“Z=-1,Q=0,Y=1”?

A

IfA=-1:

ThenProg“ZX”:

Prog“GSZS”:

IfEnd

IfA=1:

ThenProg“YX”:

Prog“GSZS”:

IfEnd

IfA=0:

ThenProg“QX”:

Prog“GSZS”:

IfEnd

“X=”:

X◢

”Y=”:

Y◢

Goto0

说明:

K 正算时所求点的里程

A 选择线路,左幅=-1,右幅=1,整体式=0

正算子程序GSZS

((P-R)÷(2(H-O)PR))→D:

“JIAODU”?

M:

”JULI(-Z +Y)”?

L

 (Abs(K-O))→J:

Prog"SUB1":

 (F-M)→F

Return

2.反算主程序 GSFS

Lbi0:

?

X:

?

Y:

X→Z[2]:

Y→Z[3]:

“QDXO”?

I:

"QDY0"?

S:

"QDLC"?

O:

"QDFWJ"?

G:

"ZDLC"?

H:

"QDR"?

P:

"ZDR"?

R:

”Q(Z=-1ZX=0Y=1)”?

Q:

((P-R)÷(2(H-O)PR))→D:

(Abs((Y-S)cos(G-90)-(X-I)sin(G-90)))→J:

0→L:

90→M:

Lbl1:

Prog"SUB1":

((Z[3]-Y)cos(G-90+QJ(1÷P+JD)×180÷π)-(Z[2]-X)sin(G-90+QJ(1÷P+JD)×180÷π))→L:

If:

AbsL<10-6ThenGoto2:

ElseJ+L→J:

Goto1:

←┘

Lbl2:

0→L:

Prog"SUB1":

((Z[3]-Y)÷sinF)→L:

”K=”:

O+J→k◢”L=”:

L→L◢

Goto0

 

3.反算,正算子程序(SUB1)

0.1184634425→A:

0.2393143352→B:

0.2844444444→Z[4]:

0.0469100770→C:

0.2307653449→E:

0.5→Z[1]:

(I+J(Acos(G+QCJ(1÷P+CJD)×180÷π)+Bcos(G+QEJ(1÷P+EJD)×180÷π)+Z[4]cos(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bcos(G+Q(1-E)J(1÷P+(1-E)JD)×180÷π)+Acos(G+Q(1-C)J(1÷P+(1-C)JD)×180÷π)))→X:

(S+J(Asin(G+QCJ(1÷P+CJD)×180÷π)+Bsin(G+QEJ(1÷P+EJD)×180÷π)+Z[4]sin(G+QZ[1]J(1÷P+Z[1]JD)×180÷π)+Bsin(G+Q(1-E)J(1÷P+(1-E)JD)×180÷π)+Asin(G+Q(1-C)J(1÷P+(1-C)JD)×180÷π)))→Y:

(G+QJ(1÷P+JD)×180÷π+M)→F:

(X+LcosF)→X:

(Y+LsinF)→Y

4.曲线元要素数据库:

ZX/YX/QX

IfK<(起点里程):

ThenGoto2:

IfEnd

IfK<(ZDLC):

ThenQDXO→I:

QDY0→S:

QDLC→O:

QDFWJ→G:

ZDLC→H:

QDR→P:

ZDR→R:

Q(Z=-1ZX=0Y=1)→Q:

Goto3:

IfEnd

……….(注:

如有多个曲线元要素继续添加入数据库ZX/YX/QX中)

Lbl2:

”NO”

Lbl3:

Return

说明:

一、程序功能及原理

1.功能说明:

本程序由两个主程序——正算主程序(GSZS)、反算主程序(GSFS)和两个子程——正算子程序(SUB1)、线元数据库(DAT-M)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

本程序可以在CASIOfx-4800P计算器及CASIOfx-4850P计算器上运行。

由于加入了数据库(DAT-M),可实现坐标正反算的全线贯通。

   组合程序5可实现M线的正算贯通,组合程序7可实现M线的反算贯通,组合程序6可实现坐标计算到放样一体化。

2.计算原理:

 利用待求点至线元起点切线作垂线,逐次迭代趋近原理反算里程及边距。

 

二、使用说明

1、规定

 

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

 

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

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

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

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

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

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

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

(7)曲线元要素数据库(DAT-M)可根据线型不同分为各个线元段输入到DAT-M中,即分为直线段、缓和曲线、圆曲线等。

(8)正算时可仅输入里程和边距及右交角可实现全线计算,但反算时只能通过首先输入里程K值读取数据库DAT-M,计算器自动将里程K所在线元数据赋给反算主程序GSFS进行试算,试算出的里程和边距须带入正算主程序GSZS中计算坐标,若坐标吻合则反算正确。

2、输入与显示说明

 

(1)输入部分:

QDX0?

线元起点的X坐标

QDY0?

线元起点的Y坐标

QDK0?

线元起点里程

QDFWJ?

线元起点切线方位角

ZDLC?

线元终点里程

QDR?

线元起点曲率半径

ZDR?

线元止点曲率半径

Q?

 线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)

K?

正算时所求点的里程

L?

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

ANG?

正算边桩时左右边桩连线与线路中线的右交角      

X?

反算时所求点的X坐标

Y?

反算时所求点的Y坐标

 M?

 斜交右角

(2)显示部分

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

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

K反算时,计算得出的所求点的里程

L反算时,计算得出的所求点的边距

 

三、算例

 某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组成,各段线元的要素(起点里程S0、起点坐标X0Y0、起点切线方位角F0、线元长度LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志Q)如下:

S0            X0              Y0                F0                LS           R0     RN           Q

500.000   19942.837   28343.561    1251631.00   269.256    1E45  1E45          0

769.256   19787.340   28563.378    1251631.00     37.492    1E45  221.75       -1

806.748   19766.566   28594.574    1202554.07    112.779   221.75 221.75      -1

919.527   19736.072   28701.893     911730.63     80.285    221.75 9579.228   -1

999.812   19744.038   28781.659     804050.00    100.000    1E45   1E45         0

(注:

该算例中线元要素Ls为程序修改前须输入的线元长度,程序修改后改为输入线元终点里程KN)

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

当前位置:首页 > PPT模板

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

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