曲线任意里程中边桩坐标正反算文档格式.docx
《曲线任意里程中边桩坐标正反算文档格式.docx》由会员分享,可在线阅读,更多相关《曲线任意里程中边桩坐标正反算文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
SUB1"
XS="
:
X=X◢
YS="
Y=Y◢
Goto3←┘
Lbl2:
{XY}:
XY:
I=X:
J=Y:
SUB2"
S="
S=O+W◢
Z="
Z=Z◢
Goto2
Lbl3:
J=0:
I=Pol(X-Z[1],Y-Z[2]):
F=J:
F<
0=>
F=F+360:
F>
360=>
F=F-36ΔΔ
”DIST=”:
I◢”FW=”:
F→DMS◢Goto1
2.正算子程序(SUB1)
A=0.1184634425:
B=0.2393143352:
N=0.2844444444:
K=0.0469100770:
L=0.2307653449:
M=0.5:
F=1-L:
M=1-K:
X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Ncos(G+QEMW(C+MWD))+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+QEMW(C+MWD))+Bsin(G+QE(1-L)W(C+(1-L)WD))+Asin(G+QE(1-K)W(C+(1-K)WD))):
F=G+QEW(C+WD)+T:
X=X+ZcosF:
Y=Y+ZsinF
3.反算子程序(SUB2)
T=G-90:
W=Abs((Y-V)cosT-(X-U)sinT):
Z=0:
Lbl0:
L=T+QEW(C+
WD):
Z=(J-Y)cosL-(I-X)sinL:
AbsZ<
1E-6=>
Goto1:
W=W+Z:
Goto0Δ←┘
Z=(J-Y)÷
sinF
4.曲线元要素数据库:
DAT1
J=1=>
U=xxxx.xxx:
V=xxxx.xxx:
O=xxxx.xxx:
G=xxxx.xxx:
H=xxxx.xxx:
P=xxxx.xxx:
R=xxxx.xxx:
Q=xxΔJ=2=>
Q=xxΔ……….J=n=>
U……….Δ(注:
如有多个曲线元要素继续添加入数据库DAT1中)
三、使用说明
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中,即分为直线段、缓和曲线、圆曲线等。
2、输入与显示说明
输入部分:
1.SZ=>
XY
2.XY=>
SZ
N?
选择计算方式,输入1表示进行由里程、边距计算坐标;
输入2表示由坐标反算
里程和边距。
X0?
线元起点的X坐标
Y0?
线元起点的Y坐标
S0?
线元起点里程
F0?
线元起点切线方位角
LS?
线元长度
R0?
线元起点曲率半径
RN?
线元止点曲率半径
Q?
线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
S?
正算时所求点的里程
Z?
正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零)
ANG?
正算边桩时左右边桩连线与线路中线的右交角
J?
曲线元数据库曲线段判断系数(J=1、2…..n)
X?
反算时所求点的X坐标
Y?
反算时所求点的Y坐标
显示部分:
XS=×
×
正算时,计算得出的所求点的X坐标
YS=×
正算时,计算得出的所求点的Y坐标
S=×
反算时,计算得出的所求点的里程
Z=×
反算时,计算得出的所求点的边距
四、算例
某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组
成,各段线元的要素(起点里程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
0
769.256
19787.340
28563.378
37.492
221.75
-1
806.748
19766.566
28594.574
1202554.07
112.779
221.75
-1
919.527
19736.072
28701.893
911730.63
80.285
9579.228
999.812
19744.038
28781.659
804050.00
100.000
1E45
0
1、正算
(注意:
略去计算方式及线元要素输入,请自行根据所求点所在的线元输入线元
要素)
S=700
Z=-5
计算得
XS=19831.41785
YS=28509.72590
Z=0
计算得
XS=19827.33592
YS=28506.83837
Z=5
XS=19823.25398
YS=28503.95084
S=780
XS=19785.25749
YS=28575.02270
XS=19781.15561
YS=28572.16358
XS=19777.05373
YS=28569.30446
S=870
XS=19747.53609
YS=28654.13091
XS=19742.68648
YS=28652.91379
XS=19737.83688
YS=28651.69668
S=940
Z=-5.123
XS=19741.59118
YS=28722.05802
XS=19736.47687
YS=28722.35642
Z=3.009
XS=19733.47298
YS=28722.53168
2、反算
X=19831.418
Y=28509.726
S=699.9999974
Z=-5.00018164
X=19827.336
Y=28506.838
S=699.9996493
Z=0.000145136
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.000002979
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
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
X=19733.4730
Y=28722.5317
S=940.0000238
Z=3.00898694
利用Simpson公式和垂距趋近正反算曲线程序
利用Simpson公式和垂距趋近正反算曲线程序
一、程序编制原理和功能:
1、原理:
利用Simpson公式和点至主点法线垂距逐步迭代趋近单向收敛原理
2、功能:
a、正算任意角度、偏距点坐标;
b、反算任意角度的中桩里程和偏距。
二、程序主体:
1、主程序:
ZFS
T"
1.KDF=>
XY,2.XY=>
KD"
A"
QD"
B"
ZD"
1/R0"
1/RN"
C"
D"
E"
T=1=>
Goto1:
Goto2△
Lbl1:
{LIF}:
L"
K="
I"
DP="
F"
ANG="
SIM2"
XI="
X=X:
Pause0:
YI="
Y=Y▲"
FW="
W→DMS▲Goto1
Lbl2:
{XY}:
XY:
O=X:
U=Y:
L=A+Abs((Y-D)cos(E+F"
-180)-(X-C)sin(E+F-180))
I=0:
Z=(U-Y)cos(W+F-180)-(O-X)sin(W+F-180):
1E-4=>
Goto4:
L=L+Z:
Goto3△
Lbl4:
Z=(U-Y)/sin(W+F)
Lbl5:
L:
Z▲Goto2
2、子程序:
SIM2
N=6:
T=(V-R)÷
(B-A):
H=(L-A)÷
P=TNH+R:
S=9θH÷
W=E+(P+R)NS
G=1:
X=C+H÷
6×
(cosE+cosW+4×
∑(cos(E+((G+θ.5)HT+2R)(G+θ.5)S),G,θ,(N-1))+2∑(cos(E+(THG+2R)GS),G,1,(N-1)))+Icos(W+F):
Y=D+H÷
(sinE+sinW+4×
∑(sin(E+((G+θ.5)HT+2R)(G+θ.5)S,G,θ,(N-1))+2×
∑(sin(E+(THG+2R)GS,G,1,(N-1)))+Isin(W+F)
三、使用说明:
QD—起点里程;
ZD—终点里程;
1/Rθ、1/RN—起、终点曲率(左负右正)
Xθ、Yθ—起点坐标;
Fθ—起点方位角;
N—可取4~12,视线型而定,亦可改为变量;
ANG—线外左右测点连线与路线方向斜交右角;
X、Y—待求点中桩坐标
XI、YI—计算点中边桩坐标。
FW—切线方位角
K=—正算时为计算点里程;
反算时为测点对应中桩里程
DP—正算时为支距(左负右正);
反算时为测点对应于中线某一角度ANG的支距(若ANG=90则为垂支距,左负右正)。
利用真数(级数展开)公式和垂距趋近正反算曲线程序(for4850P)
利用真数(级数展开)公式和点至法线垂距逐步迭代趋近单向收敛原理;
功能:
1、正算任意角度、偏距点坐标;
2、反算任意角度的中桩里程和偏距。
ZFS-ZHSH
Q"
-1,+1"
H=L-A:
T=(V-R)/2/(B-A):
W=E+Q(RH+TH2)×
180/π
P=H-R2H^3/6-TRH^4/4+(R^4-12T2)×
H^5/120+TR^3H^6/36+T2R2H^7/28+T^3RH^8/48+T^4H^9/216
S=RH2/2+TH^3/3-R^3H^4/24-TR2H^5/10+(R^5-60T2R)×
H^6/720+(TR^4-4T^3)×
H^7/168+T2R^3H^8/96+T^3R2H^9/108+T^4RH^10/240+T^5H^11/1320
X=C+PcosE-QSsinE+Icos(W+F)
Y=D+PsinE+QScosE+Isin(W+F)
1/Rθ、1/RN—起、终点曲率(直线输入零)
Q—曲线偏向(左-1、右+1);
线路中边桩任意里程坐标正反算改编程序CASIO4850
含数据库、测站放样计算(第五次修改-正式版)
1.加编数据库及计算总调度程序,计算中不必逐项输入"
线元要素"
提高运算速度,避免现场忙中出错
2.可加入多条线路的数据库,内业输入数据,外业一目了然
3.计算直观,人性化
4.正算直接输入里程和边距,反算输入近似里程便可
5.增加了“计算点与测站点”的距离和方位角计算语句,方便直接放样
6.愿收获与大家共享,同时也希望大家提出心得和宝贵建议
7.核心计算程序摘自“yshf”
一.改动后的程序清单,增设数据库程序,可输入n条线路的数据库
1.(QXZDJS
计算总调度程序)
M=1=>
SJK1"
SUBSJK"
△←┘
...........
M=n=>
SJKn"
2.(SJK1
数据库程序)
{N,S}:
S"
DKI"
←┘
S≤本线元终点里程=>U=本线元起点X坐标:
V=本线元起点Y坐标:
G=本线元起点正切线方位角:
P=本线元起点曲率半径:
R=本线元终点曲率半径:
O=本线元起点里程:
H=本线元终点里程:
Q=本线元左直右偏向(0或1、-1):
Goto0Δ←┘
S≤下一线元终点里程=>O=。
。
Goto0Δ←┘
LB10
3.(SUBSJK
运算主程序)
{UVGPROHQ}:
XA"
YA"
FA"
RA"
RB"
DKA"
DKB"
Q←┘
Deg:
S>
H=>
GotoAΔD=(P-R)÷
2PR(H-O):
Goto2Δ←┘
{Z}:
Z:
X◢
Y◢
QX-FWJ="
F=F-90←DMS◢
I=0:
J=0:
Pol(X-C"
XC"
,Y-E"
YC"
):
J<
0=>J=J+360:
Δ“FWJ=”:
J←DMS◢
“I=”:
I◢
GotoA←┘
Z◢
Lbl
A
4.(SUB1
正算子程序)
A=0.1739274226:
B=0.3260725774:
K=0.0694318442:
L=0.3300094782:
X=U+W(Acos(G+180QKW(1÷
P+KWD)÷
π)+Bcos(G+180QLW(1÷
P+LWD)÷
π)+Bcos(G+180(1-L)QW(1÷
P+(1-L)WD)÷
π)+Acos(G+180(1-K)QW(1÷
P+(1-K)WD)÷
π)):
Y=V+W(Asin(G+180QKW(1÷
π)+Bsin(G+180QLW(1÷
π)+Bsin(G+180(1-L)QW(1÷
π)+Asin(G+180(1-K)QW(1÷
F=G+180QW(1÷
P+WD)÷
π+90:
5.(SUB2
反算子程序)
L=T+180QW(1÷
1÷
10^6=>
二.使用说明:
1.把所有相关的”线元要素“依次输入”SJK“,如果有多条线路,可把“SJK”分成SJK1...SJKn等n条线路数据库,然后对应“计算总调度程序”中的M1...Mn备用
2.运算时直接调用“SJK”运行,程序提示输入里程“S”?
时,正算直接输入待求点里程,反算输入所求点“近似“里程
3.如果在正算中途想进行反算,重新给”N“?
赋值"
2"
便可
4.程序中“XC、YC”为测站坐标,“I=”、“FWJ=”为放样距离和方位角
5.程序中“QX-FWJ=”为计算点在中线上的正切线方位角,此方位角在新线路输入数据库时非常重要,我们在每输入完一段曲线元要素后,立即退出返回到“计算总调度程序(SUBSJK)”中,然后输入该段曲线元的终点里程,其计算出来的X,Y中桩坐标应该与[url=javascr