曲线任意里程中边桩坐标正反算修改程序5800.docx

上传人:b****6 文档编号:8031481 上传时间:2023-05-12 格式:DOCX 页数:14 大小:24.88KB
下载 相关 举报
曲线任意里程中边桩坐标正反算修改程序5800.docx_第1页
第1页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第2页
第2页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第3页
第3页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第4页
第4页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第5页
第5页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第6页
第6页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第7页
第7页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第8页
第8页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第9页
第9页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第10页
第10页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第11页
第11页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第12页
第12页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第13页
第13页 / 共14页
曲线任意里程中边桩坐标正反算修改程序5800.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

曲线任意里程中边桩坐标正反算修改程序5800.docx

《曲线任意里程中边桩坐标正反算修改程序5800.docx》由会员分享,可在线阅读,更多相关《曲线任意里程中边桩坐标正反算修改程序5800.docx(14页珍藏版)》请在冰点文库上搜索。

曲线任意里程中边桩坐标正反算修改程序5800.docx

曲线任意里程中边桩坐标正反算修改程序5800

曲线任意里程中边桩坐标正反算修改程序

本程序由一个主程序(ZB)和四个子程——正算子程序(SUB1)、反算子程序(SUB2)、放样子程序(SUB3)、数据源子程序(SUB0)序构成。

此程序可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

也可以在CASIOfx-4500P计算器及CASIOfx-4800P计算器上运行。

1.主程序(ZB)

"1.SZ=>XY":

"2.XY=>SZ":

N:

N=2=>Goto2:

≠>Goto1Δ←┘

Lbl1:

{SZN}:

S:

Prog"SUB0":

Z:

N=90:

W=Abs(S-O):

Prog"SUB1":

"XS":

X◢

"YS":

Y◢

Prog"SUB3"←┘

Goto1←┘

Lbl2:

{XYS}:

XYS:

I=X:

J=Y:

Prog"SUB2":

"S":

S=O+W◢

"Z":

Z◢

Goto2

注:

如将N=90改为N,可计算斜交。

2.正算子程序(SUB1)

A=0.1739274226:

B=0.3260725774:

K=0.0694318442:

L=0.3300094782:

F=1-L:

M=1-K:

X=U+W(Acos(G+Q(180÷π)KW((1÷P)+KW((P-R)÷(2HPR))))+Bcos(G+Q(180÷π)LW((1÷P)+LW((P-R)÷(2HPR))))+Bcos(G+Q(180÷π)FW((1÷P)+FW((P-R)÷(2HPR))))+Acos(G+Q(180÷π)MW((1÷P)+MW((P-R)÷(2HPR))))):

Y=V+W(Asin(G+Q(180÷π)KW((1÷P)+KW((P-R)÷(2HPR))))+Bsin(G+Q(180÷π)LW((1÷P)+LW((P-R)÷(2HPR))))+Bsin(G+Q(180÷π)FW((1÷P)+FW((P-R)÷(2HPR))))+Asin(G+Q(180÷π)MW((1÷P)+MW((P-R)÷(2HPR))))):

F=G+Q(180÷π)W((1÷P)+W((P-R)÷(2HPR))):

X=X+Zcos(F+N):

Y=Y+Zsin(F+N)

注:

如应用Defm命令用Z[i]将部分字母代替出来,用以扩充变量,以实现二次运行同一程序时输入值不变。

3.反算子程序(SUB2)

Lbl0:

Prog"SUB0":

T=G-90:

W=Abs((Y-V)cosT-(X-U)sinT):

W≥H=>S=S+H:

Goto0Δ←

Z=0:

Lbl1:

N=90:

Prog"SUB1":

L=T+Q(180÷π)W((1÷P)+W((P-R)÷(2HPR))):

Z=(J-Y)cosL-(I-X)sinL:

AbsZ<1e-6=>Goto2:

≠>W=W+Z:

Goto1Δ←┘

Lbl2:

Z=0:

Prog"SUB1":

Z=(J-Y)÷sin(F+90)

注:

SUB1、SUB2中(1÷P)、((P-R)÷(2HPR)、(180÷π)为原程序中的C、D、E。

4.放样子程序(SUB3)

{CDET}:

C"XJ":

D:

"YJ":

E"XH":

T:

"YH":

X:

Y:

I=0:

J=0:

Pol(E-C,T-D):

J<0=>J=J+360Δ←┘

"HSFW":

J->DMS◢

N=J:

"HSJL":

I◢

Pol(X-C,Y-D):

J<0=>J=J+360Δ←┘

"QSFW":

J->DMS◢

N=J-N:

N<0=>N=N+360Δ←┘

"QSZJ":

N->DMS◢

"QSJL":

I◢

5.数据源子程序(SUB0):

对O"S0":

U"X0":

V"Y0":

G"F0":

H"LS":

P"R0":

R"RN":

Q进行赋值。

6.数据库(SUB4)

S≥500=>S<769.256=>O=500:

U=19942.837:

V=28343.561:

G=125。

16。

31.00。

H=269.256:

P=1e45:

R=1e45:

Q=0ΔΔ←┘

S≥769.256=>S<806.748=>O=769.256:

U=19787.340:

V=28563.378:

G=125。

16。

31.00。

H=37.492:

P=1e45:

R=221.75:

Q=-1ΔΔ←┘

S≥806.748=>S<919.527=>O=806.748:

U=19766.566:

V=28594.574:

G=120。

25。

54.07。

H=112.779:

P=221.75:

R=221.75:

Q=-1ΔΔ←┘

S≥919.527=>S<999.812=>O=919.527:

U=19736.072:

V=28701.893:

G=91。

17。

30.63。

H=80.285:

P=221.75:

R=9579.228:

Q=-1ΔΔ←┘

S≥999.812=>S<1099.812=>O=999.812:

U=19744.038:

V=28781.659:

G=80。

40。

50.00。

H=100.000:

P=1e45:

R=1e45:

Q=0ΔΔ←┘

三、使用说明

1、规定

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

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

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

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

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

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

2、输入与显示说明

输入部分:

1.SZ=>XY

2.XY=>SZ

N?

选择计算方式,只有输入2时进行坐标反算,其余均为正算。

S0?

线元起点里程

X0?

线元起点的X坐标

Y0?

线元起点的Y坐标

LS?

线元长度

F0?

线元起点切线方位角

R0?

线元起点曲率半径

RN?

线元止点曲率半径

Q?

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

S?

正算时所求点的里程

Z?

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

XJ?

正算时置镜点X坐标

YJ?

正算时置镜点Y坐标

XH?

正算时后视点X坐标

YH?

正算时后视点Y坐标

X?

反算时所求点的X坐标

Y?

反算时所求点的Y坐标

S?

反算时给定一初始里程(必须起点里程小于计算点里程,无法判断时输起始里程,越接近计算越快)。

显示部分:

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

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

HSFW=×××正算时,置镜点到后视点的后视方位角

HSJL=×××正算时,置镜点到后视点的后视距离

QSFW=×××正算时,置镜点到前视点的前视方位角

QSZJ=×××正算时,视线自后视到前视的顺时针转角

QSJL=×××正算时,置镜点到前视点的前视距离

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

3、放样

例:

以起点为置镜点XJ=19942.837,YJ=28343.561后视点XH=19948.837,YH=28343.561

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

HSFW=0。

00。

00。

HSJL=6QSFW=123。

50。

35.45。

QSZJ=123。

50。

35.45。

QSJL=200.0624902

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

HSFW=0。

00。

00。

HSJL=6QSFW=125。

16。

31。

QSZJ=125。

16。

31。

QSJL=200

S=700Z=5计算得XS=19823.25398YS=28503.95084

HSFW=0。

00。

00。

HSJL=6QSFW=126。

42。

26.55。

QSZJ=126。

42。

26.55。

QSJL=200.0624902

注意事项:

1、程序使用前状态:

(1)角度必须60进制,屏幕显示“D”

(2)屏幕设置Norm1,设置方式Function=>6DSP/CLR=>3Norm=>1设定

2、当使用数据库运算时,计算的里程必须在最小里程和最大里程范围之内,否则无法显示。

例如在运行程序6中的数据库时所输入的里程S<500或S>1099.812时,程序显示“error”

3、主程序(ZB)中Prog"SUB0"是使用数据源,当你需要使用数据库"SUB4"时只需要把Prog"SUB0"中的"SUB0"改为"SUB4"即可,相反同理。

4、本主程序(ZB)加了放样所以显示与输入的内容比较多,如果不需要放样程序的时候可以把主程序(ZB)中的Prog"SUB3"←┘删除,需要用的时候在加进去原来地方,可以按照需要做相应的修改。

曲线任意里程中边桩坐标正反算(CASIOfx-4800P计算器)程序

一、程序功能

       本程序由一个主程序(TYQXJS)和两个子程——正算子程序(SUB1)、反算子程序(

SUB2)序构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线

元要素(起点坐标、起点里程、起点切线方位角、线元长度、起点曲率半径、止点曲

率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。

外也可以将本程序中核心算法部分的两个子程序移植到其它相关的程序中,用于对曲

线任意里程中边桩坐标进行正反算。

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

  特别申明:

(1).适用于弧长小于2倍半径的各种线元坐标正反算,精度优

                于1mm;

                   

(2).在引用该核心计算部分时,请注明来源。

二、源程序

1.主程序(TYQXJS)

"1.SZ=>XY":

"2.XY=>SZ":

N:

U"X0":

V"Y0":

O"S0":

G"F0":

H"LS":

P"R0":

R"

RN":

Q:

C=1÷P:

D=(P-R)÷(2HPR):

E=180÷π:

N=1=>Goto1:

≠>Goto2Δ←┘

Lbl1:

{SZ}:

SZ:

W=Abs(S-O):

Prog"SUB1":

X"XS"=X◢

Y"YS"=Y◢

F"FS"=F-90◢

Goto1←┘

Lbl2:

{XY}:

XY:

I=X:

J=Y:

Prog"SUB2":

S"S"=O+W◢

Z"Z"=Z◢

Goto2

2.正算子程序(SUB1)

A=0.1739274226:

B=0.3260725774:

K=0.0694318442:

L=0.3300094782:

F=1-L:

M=1-K:

X=U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW

(C+FWD))+Acos(G+QEMW(C+MWD))):

Y=V+W(Asin(G+QEKW(C+KWD))+Bsin(G+

QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))):

F=G+QEW(C+

WD)+90:

X=X+ZcosF:

Y=Y+ZsinF

3.反算子程序(SUB2)

T=G-90:

W=Abs((Y-V)cosT-(X-U)sinT):

Z=0:

Lbl0:

Prog"SUB1":

L=T+QEW(C+

WD):

Z=(J-Y)cosL-(I-X)sinL:

AbsZ<1E-6=>Goto1:

≠>W=W+Z:

Goto0Δ←┘

Lbl1:

Z=0:

Prog"SUB1":

Z=(J-Y)÷sinF

三、使用说明

1、规定

       

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

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

       

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

侧时,Z取正值。

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

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

弧的半径。

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

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

止点与直线相接时,曲率半

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

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

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

止点与直线相接时,曲率半径等

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

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?

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

     X?

反算时所求点的X坐标

     Y?

反算时所求点的Y坐标

      显示部分:

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

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

      FS=×××   正算时,所求点对应的中线点的切线方位角

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

      Z=×××   反算时,计算得出的所求点的边距

 

验证过的数据,

缓和曲线左偏

  S0=87418.227  X0=4581068.056Y0=484543.0267F0=347°25′50.78″LS=340R0=10^45  RN=3000  Q=-1

  (已验证过:

正算正确  反算正确)

第一缓和曲线段桩号:

    

正算

K87+460左(-)13m    s?

87460  z?

-13    XS=4581105.985  YS=484521.2385

K87+460中线上0m  s?

87460  z?

0      XS=4581108.825  YS=484533.9245

K87+460右(+)13m  s?

87460  z?

13      XS=4581111.665  YS=484546.6105

反算

X=4581105.985  Y=484521.2385  S=87459.99964    Z=-13.00004001

X=4581108.825  Y=484533.9245  S=87459.99965    Z=-0.00005237499

X=4581111.665  Y=484546.6105  S=87459.99984    Z=12.99997507

K87+600左(-)13m    XS=4581242.22    YS=484489.8717

K87+600中线上0m    XS=4581245.254    YS=484502.5126

K87+600右(+)13m    XS=4581248.289  YS=484515.1536

反算

X=4581242.22    Y=484489.8717  S=87599.99981  Z=-13.00001607

X=4581245.254    Y=484502.5126  S=87599.99982  Z=-0.00006918891

X=4581248.289    Y=484515.1536  S=87600.00043  Z=13.00012293

K87+740左(-)13m    XS=4581377.383  YS=484455.1799

K87+740中线上0m    XS=4581380.852  YS=484467.7085

K87+740右(+)13m    XS=4581384.321  YS=484480.2371

反算

X=4581377.383  Y=484455.1799    S=87740.00013  Z=-12.99998575

X=4581380.852    Y=484467.7085    S=87740.00013    Z=-0.00000001556

X=4581384.321  Y=484480.2371    S=87739.9999    Z=12.99999725

K87+758.227左(-)13m    XS=4581394.861    YS=484450.2853

K87+758.227中线上0m    XS=4581398.404    YS=484462.7931

K87+758.227右(+)13m    XS=4581401.947    YS=484475.3009

反算

X=4581394.861    Y=484450.2853  S=87758.22744    Z=-12.99983181

X=4581398.404    Y=484462.7931  S=87758.22741    Z=0.00011225994

X=4581401.947    Y=484475.3009  S=87758.22721    Z=13.00000741

姓名:

wendi1685

06-1-2021:

36

评:

+5分 

    S0=87758.227  X0=4581398.409Y0=484462.791F0=344°11′3″LS=2603.31R0=3000RN=3000

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2