曲线测量程序Word格式文档下载.docx
《曲线测量程序Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《曲线测量程序Word格式文档下载.docx(10页珍藏版)》请在冰点文库上搜索。
V=V▲
GotoC
CP.SUB
{KE}:
C=K-B:
E
C≦0=>
X=C:
Y=-E:
Q=0:
C≦L=>
Prog"H.SUB":
C≦D-L=>
Q=90(2C-L)/π/R:
X=M+(R+E)sinQ:
Y=R+P-(R+E)cosQ:
GotoA△
C≦D=>
C=D-C:
Prog"H.SUB"U=-X:
V=Y:
X=UcosA-VsinA+T(1+cosA):
Y=UsinA+VcosA+TsinA:
Q=A-Q:
GotoA△
X=T+(C-D+T)cosA+EsinA:
Y=(C-D+T)sinA-EcosA:
Q=A
Q=O+GQ
Q<
Q=Q+360△
Q≧360=>
Q=Q-360△
W"PXY"=I+XcosO-GYsinO+i(XsinO+GYcosO)▲
H.SUB(缓和曲线坐标计算)
Q=CC/(2RL)
X=C-CQQ/10+CQQQQ/216-CQQQQQQ/9360+EsinQr
Y=CQ/3-CQQQ/42+CQQQQQ/1320-EcosQr
Q=180Q/π
使用说明(等长缓和曲线)
步数
显示
输入/输出
说明
1
A?
输入
曲线总偏角,如为0,则不计算曲线要素,直接跳至第9步
2
Z(-1),Y
(1)?
左偏为-1,右偏为1
3
LS?
缓和曲线长度
4
R?
圆曲线半径
5
T=nnn.nnnL=nnn.nnn
输出
T:
切线长度L:
曲线总长度
6
ZH.K
ZH点里程
7
ZH.C
ZH点坐标(坐标均以X+Yi格式输入,以下同)
8
ZH.=>
ZH点切线方位角(即第一切线方位角)
9
ZJ(0=>
K)?
置镜点坐标,ZJ<
>
0(即该点坐标已知)则跳至第13步
10
K?
置镜点里程
11
E?
置镜点偏移值,曲线内侧为负,外侧为正
12
PXY=nnn.nnn+nnn.nnni
置镜点坐标
13
HS(0=>
后视点坐标,HS<
0(即该点坐标已知)则跳至第17步
14
后视点里程
15
后视点偏移值,曲线内侧为负,外侧为正
16
后视点坐标
17
HS.S=nnn.nnnHS.=>
=nnn.Nnn
后视点距离后视方位角(按DMS转换至°
′″格式)
18
QS(0=>
前视点坐标,QS<
0(即该点坐标已知)则跳至第22步
19
前视点里程
20
前视点偏移值,曲线内侧为负,外侧为正
21
前视点坐标
22
nnn.nnnnnn.nnn
V=nnn.nnn
后视距离
前视距离顺拨角(按DMS转换至°
23
结束
按EXE跳至第18步,计算下一个前视点的数据
曲线任意里程中边桩坐标正反算(4850P计算器)程序(第四次修改版)
一、程序功能及原理
1.功能说明:
本程序由一个主程序(TYQXjs)和四个子程——正算子程序(SUB1)、反算子程序(SUB2)等构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。
本修改版程序既可实现正算全线贯通,亦可实现反算全线贯通。
本程序也可以在CASIOfx-4800P计算器运行。
2.计算原理:
利用Gauss-Legendre5点通用公式正算线路中边桩坐标、线外测点至曲线元起点和终点的垂距的符号是否相异(即Dca×
Dcb<
该测点在其线元内)进行判断并利用该线元要素反算中桩里程、支距,最后计算出放样数据。
二、源程序
1.主程序(TYQXjs)
Lbl0:
Defm50:
"
1.SZ=>
XY,2.XY=>
SZ"
:
N:
N=1=>
Goto1:
≠>
Goto2Δ
Lbl1:
{SZ}:
SZ
S≤Z[18]=>
J=1:
Prog“DAT1”:
Goto3Δ
S≤Z[26]=>
J=2:
S≤Z[34]=>
J=3:
S≤Z[42]=>
J=4:
Goto3Δ……………
S≤Z[8(N+1)+2]=>
J=n:
Lbl3:
W=Abs(S-O):
Prog"
SUB1"
XS="
:
X=X◢
YS="
Y=Y◢
”FWI=”:
F=F-M:
F→DMS◢
Goto4
Lbl2:
{XY}:
XY:
Z[4]=X:
Z[5]=Y:
N=0
LblA:
IszN:
A=Z[8N+3]-M:
B=Z[8(N+1)+3]-M:
ZX1"
:
Z[6]×
Z[7]<
J=N:
ProgDAT1"
GotoBΔA=Z[8N+3]+M:
B=Z[8(N+1)+3]+M:
GotoB:
GotoAΔ
LblB:
SUB2"
S="
S=O+W◢
Z="
Z=Z◢
Goto2
Lbl4:
J=0:
I=Pol(X-Z[1],Y-Z[2]):
F=J:
F<
F=F+360Δ”DIST=”:
I◢”FW=”:
F→DMS◢Goto1
2.正算子程序(SUB1)
A=0.1184634425:
B=0.2393143352:
N=0.2844444444:
K=0.0469100770:
L=0.2307653449:
Z[3]=0.5:
X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Ncos(G+QEZ[3]W(C+Z[3]WD))+Bcos(G+QE(1-L)W(C+(1-L)WD))+Acos(G+QE(1-K)W(C+(1-K)WD))):
Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Nsin(G+QEZ[3]W(C+Z[3]WD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD))):
M”ANG=”:
F=G+QEW(C+WD)+M:
X=X+ZcosF:
Y=Y+ZsinF
3.反算子程序(SUB2)
T=G-M:
W=Abs((Y-V)cosT-(X-U)sinT):
Z=0:
L=T+QEW(C+WD):
Z=(Z[5]-Y)cosL-(Z[4]-X)sinL:
AbsZ<
1E-6=>
Goto1:
W=W+Z:
Goto0Δ←┘
Z=(Z[5]-Y)÷
sinF
4.垂距计算子程序(ZX1)
Z[6]=(Z[5]-Z[8N+1])COSA-(Z[4]-Z[8N])SINA
Z[7]=(Z[5]-Z[8(N+1)+1])COSB-(Z[4]-Z[8(N+1)])SINB
5.曲线元要素数据库:
DAT1
Lbl1:
J=1=>
U=Z[8]:
V=Z[9]:
O=Z[10]:
G=Z[11]:
H=Z[12]:
P=Z[13]:
R=Z[14]:
Q=Z[15]Δ
J=2=>
U=Z[16]:
V=Z[17]:
O=Z[18]:
G=Z[19]:
H=Z[20]:
P=Z[21]:
R=Z[22]:
Q=Z[23]Δ
J=3=>
U=Z[24]:
V=Z[25]:
O=Z[26]:
G=Z[27]:
H=Z[28]:
P=Z[29]:
R=Z[30]:
Q=Z[31]Δ
J=4=>
U=Z[32]:
V=Z[33]:
O=Z[34]:
G=Z[35]:
H=Z[36]:
P=Z[37]:
R=Z[38]:
Q=Z[39]ΔJ=N=>
U=Z[8N]:
V=Z[8N+1]:
O=Z[8N+2]:
G=Z[8N+3]:
H=Z[8N+4]:
P=Z[8N+5]:
R=Z[8N+6]:
Q=Z[8N+7]Δ
(注:
如有多个曲线元要素继续添加入数据库DAT1中)
Lbl2:
U"
X0"
V"
Y0"
O"
S0"
G"
F0"
H"
LS"
P"
R0"
R"
RN"
Q:
C=1÷
P:
D=(P-R)÷
(2HPR):
E=180÷
π
三、使用说明
1、规定
(1)以道路中线的前进方向(即里程增大的方向)区分左右;
当线元往左偏时,
Q=-1;
当线元往右偏时,Q=1;
当线元为直线时,Q=0。
(2)当所求点位于中线时,Z=0;
当位于中线左铡时,Z取负值;
当位于中线中线右
侧时,Z取正值。
(3)当线元为直线时,其起点、止点的曲率半径为无穷大,以10的45次代替。
(4)当线元为圆曲线时,无论其起点、止点与什么线元相接,其曲率半径均等于圆弧的半径。
(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替;
与圆曲线相接时,曲率半径等于圆曲线的半径。
止点与直线相接时,曲率半径为无穷大,以10的45次代替;
(6)当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的
值;
止点与直线相接时,曲率半径等于设计规定的值;
(7)曲线元要素数据库(DAT1)可根据线型不同分为各个线元段输入到DAT1中,即分为直线段、缓和曲线、圆曲线等。
(8)正算时可仅输入里程Lp和边距Dp及右交角ANG全线计算,反算时通过输入测点的X、Y坐标和右交角ANG后计算器自动判断该点所属曲线元并利用该线元的曲线要素执行反算中桩里程Lp及支距Dp。
2、输入与显示说明
(一)、输入部分:
1.SZ=>
XY
2.XY=>
SZ
1、N?
选择计算方式,输入1表示进行由里程、边距计算坐标;
输入2表示由坐标反算里程和边距。
2、X0?
线元起点的X坐标
3、Y0?
线元起点的Y坐标
4、S0?
线元起点里程
5、F0?
线元起点切线方位角
6、LS?
线元长度
7、R0?
线元起点曲率半径
8、RN?
线元止点曲率半径
9、Q?
线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
10、S?
正算时所求点的里程
11、Z?
正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
12、ANG?
正算边桩时左右边桩连线与线路中线的右交角
13、J?
曲线元数据库曲线段判断系数(J=1、2…..n)
14、X?
反算时所求点的X坐标
15、Y?
反算时所求点的Y坐标
16、M?
斜交右角
17、Z[1]-----测站点X坐标
18、Z[2]-----测站点Y坐标
19、A、B、N是Gauss-Legendre求积公式中的插值系数
20、K、L、Z[3]是Gauss-Legendre求积公式中的求积节点
21、N=1时:
Z[8]、Z[9]、Z[10]、Z[11]、Z[12]、Z[13]、Z[14]、Z[15]分别是各曲线元的X、Y坐标、起始里程S0、初始方位角F0、线元长度Ls、起点半径R0、终点半径Rn、曲线偏向系数Q
N=n时:
Z[8N]、Z[8N+1]、Z[8N+2]、Z[8N+3]、Z[8N+4]、Z[8N+5]、Z[8N+6]、Z[8N+7]分别是各22、曲线元的X、Y坐标、起始里程S0、初始方位角F0、线元长度Ls、起点半径R0、终点半径Rn、曲线偏向系数Q
23、正算中的Z[18]、Z[26]、Z[34]、Z[42]……Z[8(N+1)+2]分别为各线元中的终点里程
24、主程序中的“Defm50”应视具体线元的数量,适当增加扩展变量。
25、本次修改版不考虑CASIOfx-4500PA,因其容量太小,扩展变量实在太少而不能胜任。
(二)、显示部分:
XS=×
×
正算时,计算得出的所求点的X坐标
YS=×
正算时,计算得出的所求点的Y坐标
S=×
反算时,计算得出的所求点的里程
Z=×
反算时,计算得出的所求点的边距
四、算例
某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组
成,各段线元的要素(起点里程S0、起点坐标X0Y0、起点切线方位角F0、线元长度
LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志Q)如下:
S0X0Y0F0LSR0RNQ
500.00019942.83728343.5611251631.00269.2561E451E450
769.25619787.34028563.3781251631.0037.4921E45221.75-1
806.74819766.56628594.5741202554.07112.779221.75221.75-1
919.52719736.07228701.893911730.6380.285221.759579.228-1
999.81219744.03828781.659804050.00100.0001E451E450
1、正算(注意:
略去计算方式及线元要素输入,请自行根据所求点所在的线元输入线元要素)
S=700Z=-5
计算得XS=19831.41785YS=28509.72590
S=700Z=0计算得XS=19827.33592YS=28506.83837
S=700Z=5计算得XS=19823.25398YS=28503.95084
S=780Z=-5计算得XS=19785.25749YS=28575.02270
S=780Z=0计算得XS=19781.15561YS=28572.16358
S=780Z=5计算得XS=19777.05373YS=28569.30446
S=870Z=-5计算得XS=19747.53609YS=28654.13091
S=870Z=0计算得XS=19742.68648YS=28652.91379
S=870Z=5计算得XS=19737.83688YS=28651.69668
S=940Z=-5.123计算得XS=19741.59118YS=28722.05802
S=940Z=0计算得XS=19736.47687YS=28722.35642
S=940Z=3.009计算得XS=19733.47298YS=28722.53168
2、反算
X=19831.418Y=28509.726计算得S=699.9999974Z=-5.00018164
X=19827.336Y=28506.838计算得S=699.9996493Z=0.000145136
X=19823.25398Y=28503.95084计算得S=699.9999985Z=5.000003137
X=19785.25749Y=28575.02270计算得S=780.0000035Z=-5.000001663
X=19781.15561Y=28572.16358计算得S=780.0000025Z=-0.000002979
X=19777.05373Y=28569.30446计算得S=780.0000016Z=4.99999578
X=19747.536Y=28654.131计算得S=870.0001137Z=-4.99941049
X=19742.686Y=28652.914计算得S=870.0003175Z=-0.00041814
X=19737.837Y=28651.697计算得S=870.0002748Z=4.999808656
X=19741.5912Y=28722.0580计算得S=939.9999786Z=-5.123024937
X=19736.4769Y=28722.3564计算得S=939.9999862Z=-0.000027710
X=19733.4730Y=28722.5317计算得S=940.0000238Z=3.00898694
注:
1、承蒙yshf的源程序:
《曲线任意里程中边桩坐标正反算程序》的共享,这里特意感谢!
2、希望广大网友同行支持程序共享并积极扩展,多多网上交流!