曲线任意里程中边桩坐标正反算及放样fx-4850程序(第五次修改)

有个4800线元法程序,改成5800后,运行后计算某点1的坐标不对,再次运行同样计算该点的坐标,又是对的了,同样计算某点2仍是第二次才能算对,谁能知道怎么回事?
下面是该4800程序
     曲线任意里程中边桩坐标正反算及放样fx-4850程序(第五次修改) 
本程序是在yshf及hangniu1973两位师傅的成果上作的一次改动,修改内容主要有一下几点:
1、在变量符号上修改,目的是更能与工地实际结合;
2、把原主程序分为两个,更能灵活调用;
3、加入放样程序,做到坐标计算到放样一体化;
4、使得整个测量放样过程更加简单。
附件(点击下载):
GAUSSLE坐标正反算fx-4850程序
源程序
1.正算主程序  GSZS
I"X0":S"Y0":O"K0":G"F0":H"KN":P"R0":R"RN":Q”Q(-Z  +Y)” :
D=(P-R)÷(2(H-O)PR):
KL”L(-Z  +Y)” :M”ANG(YJJ)”=90:(注:此处若不给M赋值,则可计算斜交点)
J=Abs(K-O):Prog"SUB1":
”FWJ=”:F=F-M:”X=”:X=X:Pause0: ”Y=”:Y=Y◢ 
2. 反算主程序  GSFS
XY:Z[2]=X:Z[3] =Y:
I"X0":S"Y0":O"K0":G"F0":H"KN":P"R0":R"RN":Q”Q(-Z  +Y)” :
D=(P-R)÷(2(H-O)PR):
J=Abs((Y-S)cos(G-90)-(X-I)sin(G-90)):
L=0:M”M(YJJ)”=90:
Lbl 0:Prog "SUB1":
L=(Z[3]-Y)cos(G-90+QJ(1÷P+JD)×180÷π)-(Z[2]-X)sin(G-90+QJ(1÷P +JD) ×180÷π):
AbsL<1E-6=>Goto1:≠>J=J+L:Goto 0Δ←┘
Lbl 1:L=0:Prog "SUB1":L=(Z[3]-Y)÷sinF:
”K=”:K=O+J:Pause0:”L=”:L=L◢
3. 正算子程序(SUB1)
Defm 4:
A=0.1184634425:B=0.2393143352:Z[4]=0.2844444444:C=0.0469100770:E=0.2307653449:Z[1]=0.5:
X=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÷π)):
Y=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÷π)):
F=G+QJ(1÷P+JD) ×180÷π+M:X=X+LcosF:Y=Y+LsinF
4. 曲线元要素数据库:DAT-M
K≥O=>K<H=> I=**:S=**:O=**:G=**:H=**:P=**:R=**:Q=**⊿⊿←┘
K≥O=>K<H=> I=**:S=**:O=**:G=**:H=**:P=**:R=**:Q=**⊿⊿←┘ 
K≥O=>K<H=> I=**:S=**:O=**:G=**:H=**:P=**:R=**:Q=**⊿⊿←┘
K≥O=>K<H=> I=**:S=**:O=**:G=**:H=**:P=**:R=**:Q=**⊿⊿←┘
K≥O=>K≤H=> I=**:S=**:O=**:G=**:H=**:P=**:R=**:Q=**⊿⊿←┘
                     ……………………………
K≥O=>K≤H=> I=**:S=**:O=**:G=**:H=**:P=**:R=**:Q=**⊿⊿←┘                  
(注:如有多个曲线元要素继续添加入数据库DAT-M中)
5、M线(坐标正算)组合程序  MG-ZB
Prog”DAT-M”:Prog”GSZS”
6、M线(坐标计算-放样)组合程序  MG-FY
Prog”MG-ZB”:Prog”LTKZD”: Prog”FY”
7、M线(坐标反算)组合程序  M-GSFB
Prog”DAT-M”:Prog”GSFS”
说明:
一、程序功能及原理
1.功能说明:
本程序由两个主程序——正算主程序(GSZS)、反算主程序(GSFS)和两个子程——正算子程序(SUB1)、线元数据库(DAT-M)构成,可以根据曲线段——直线、圆曲线、缓和曲线(完整或非完整型)的线元要素(起点坐标、起点里程、起点切线方位角、终点里程、起点曲率半径、止点曲率半径)及里程边距或坐标,对该曲线段范围内任意里程中边桩坐标进行正反算。本程序可以在CASIO fx-4800P计算器及 CASIO fx-4850P计算器上运行。由于加入了数据库(DAT-M),可实现坐标正反算的全线贯通。
    组合程序5可实现M线的正算贯通,组合程序7可实现M线的反算贯通,组合程序6可实现坐标计算到放样一体化。
2.计算原理:
利用Gauss-Legendre 5点通用公式计算线路中边桩坐标并计算放样数据。
    利用待求点至线元起点切线作垂线,逐次迭代趋近原理反算里程及边距。
二、使用说明
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)输入部分:
X0 ?线元起点的X坐标 
     Y0 ?线元起点的Y坐标 
     K0 ?线元起点里程
     F0 ?线元起点切线方位角
     KN ?线元终点里程
     R0 ?线元起点曲率半径
     RN ?线元止点曲率半径
     Q ?  线 元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0)
      K ? 正算时所求点的里程
      L ?  正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)
   ANG?正算边桩时左右边桩连线与线路中线的右交角      
X ? 反算时所求点的X坐标
       Y ? 反算时所求点的Y坐标
    M ?  斜交右角
    线元要素数据库中K≥O=>K<H=>中的O和H分别为该段线元起点里程和终点里程
A、 B、Z[4] 是Gauss-Legendre求积公式中的插值系数
    C 、E、Z[1] 是Gauss-Legendre求积公式中的求积节点
(2)显示部分:       
X=×××    正算时,计算得出的所求点的X坐标
       Y=×××    正算时,计算得出的所求点的Y坐标
       K=×××    反算时,计算得出的所求点的里程
       L=×××    反算时,计算得出的所求点的边距
三、算例
某匝道的由五段线元(直线+完整缓和曲线+圆曲线+非完整缓和曲线+直线)组成,各段线元的要素(起点里程S0、起点坐标X0 Y0、起点切线方位角F0、线元长度LS、起点曲率半径R0、止点曲率半径RN、线元左右偏标志Q)如下:
S0             X0               Y0                 F0                 LS            R0      RN            Q
500.000    19942.837    28343.561     125 16 31.00    269.256     1E45   1E45           0
769.256    19787.340    28563.378     125 16 31.00      37.492     1E45   221.75        -1
806.748    19766.566    28594.574     120 25 54.07     112.779    221.75  221.75       -1
919.527    19736.072    28701.893      91 17 30.63      80.285     221.75  9579.228    -1
999.812    19744.038    28781.659      80 40 50.00     100.000     1E45    1E45          0 
(注:该算例中线元要素Ls为程序修改前须输入的线元长度,程序修改后改为输入线元终点里程KN)
放样程序  FY
U”XJ”:V”YJ”:W”XH”:Z”YH”:XY:I=W-U:J=Z-V:Pol(I,J):J<0=>J=J+360Δ
“HSJL=”:I◢
O”HF”=J:X=0=>U=U+LCos(J+P”μ”):
V=V+LSin(J+P”μ”):
”X=”:U:Pause0:”Y=”:V:≠>I=X-U:J=Y-V: Pol(I,J):J<0=>J=J+360:Δ
H”QF”=J:J=H-O:J<0=>J=J+360:Δ
“ANG=”:J→DMS (该处不输Pause0语句亦可实现“ANG=”和“QSJL=”的同时出现)
“QSJL=”:I
凌铁大桥控制点数据库  LTKZD
A=21:B=22:C=23:D=24:E=25:F=26:G=27:H=28:I=29←┘
T “ZJDH”:←┘
T=11=>U=****:V=****⊿←┘
T=12=>U=****:V=****⊿←┘
T=13=>U=****:V=****⊿←┘
T=15=>U=****:V=****⊿←┘
T= 4 =>U=****:V=****⊿←┘
T= A=>U=****:V=****⊿←┘
T= B=>U=****:V=****⊿←┘
T= C=>U=****:V=****⊿←┘
                     ……………………………
(注:如有多个控制点继续添加入数据库LTKZD中)
N “HSDH”:←┘
N=11=>W=****:Z=****⊿←┘
N=12=>W=****:Z=****⊿←┘
N=13=>W=****:Z=****⊿←┘
N=15=>W=****:Z=****⊿←┘
N= 4 =>W=****:Z=****⊿←┘
N= A=>W=****:Z=****⊿←┘
N= B=>W=****:Z=****⊿←┘
N= C=>W=****:Z=****⊿←┘
                     ……………………………
(注:如有多个控制点继续添加入数据库LTKZD中)
组合程式  LTFY
Prog ”LTKZD”: Prog ”FY”
说明:
一、程序功能及原理
1、功能说明:
FY程序有两个功能,当前视点坐标X输入为零时,程式执行转点功能,即首先通过全站仪测定任意转点距置镜点距离L及置镜点与转点连线和置镜点与后视点连线的夹角P”μ”并输入计算器,即可计算出任意转点坐标;另一功能是坐标放样,即输入放样点X、Y坐标,从而计算出与置镜点距离 “QSJL=”以及全站仪归零放样拨角“ANG=”(前视方位角-后视方位角)。
    凌铁大桥控制点数据库LTKZD功能是与FY程序配合后,可实现坐标放样时仅输入置镜点、后视点的编号,从而减少其数据的大量输入。
2、计算原理:
    利用坐标计算和方位角的基本知识以及计算器极坐标转换功能键POL
二、使用说明
1、规定
    当前视点坐标X输入为零时,程式执行转点功能
2、输入与显示说明
(1)输入部分:
XJ ?  置镜点X坐标
YJ ?  置镜点Y坐标
XH ?  后视点X坐标
YH ?  后视点Y坐标
X  ?  放样点X坐标
Y  ?  放样点Y坐标
L  ?  实测转点距置镜点距离
P”μ”  ?  实测置镜点与转点连线和置镜点与后视点连线的夹角
T  ?  置镜点点号ZJDH
N  ?  后视点点号HSDH
11、12、13、15、4、A、B、C、D、E、F、G、H、I分别为凌铁大桥控制点点号,计算输入时按以上数字或字母输入计算器即可
(2)显示部分
HSJL=****    后视距离(置镜点与后视点之间距离)
ANG= ****    全站仪归零放样拨角
QSJL=****    前视距离(置镜点与放样点之间距离)
X=    ****    转点X坐标
Y=    ****    转点Y坐标
三、其它说明
1、若需要编制另一线路控制点程序,仅需新建另一数据库子程序LTKZD,新建时仅需改变上文中红色显示数据即可。
2、程式中11~15、及A~I均为控制点编号,程式开头首先给A、B赋值:A=21:B=22等,目的是为了在程式运行要求输入点号时能直接输入字母A、B、C等。
 

GAUSSLE5反算贯通程序(fx-4850) 
本文是在第五次修改版的基础上的又一次改进,目的是在少占内存的情况下实现反算全线贯通 
源程序
1.M线反算贯通主程序  FSGT
XY:Z[2]=X:Z[3]=Y: ←┘
K=O1:Prog”AB”:AB<θ=> Prog”FSLC”:Gotoθ⊿←┘
K=O2:Prog”AB”:AB<θ=> Prog”FSLC”:Gotoθ⊿←┘
K=O3:Prog”AB”:AB<θ=> Prog”FSLC”:Gotoθ⊿←┘
……………………………(注:如有多个线元则继续添加,其中O1 、O2、O3为第一、二、三段线元的起点里程,必须是具体数字)
Lbl θ
2. 里程迭代子程序  FSLC
K=O: Lbl 1:I=T:J=Abs(K-O):L=θ:M=θ: Prog”SUB1”:I=Z[2]-X:J=Z[3]-Y:Pol(I,J):
J=J-F:A=IcosJ:K=K+A:AbsA≥0.001=> Goto1: ≠>”K=”:K:Pauseθ:“L=”:
L=IsinJ
3. 垂距计算子程序  AB
Prog”DAT-M”:T=I: D=(P-R)÷(2(H-O)PR):J=Abs(H-O):L=θ: M=θ: Prog”SUB1”:
I=Z[2]-I:J=Z[3]-S:Pol(I,J):J=J-G:A=IcosJ:
I=Z[2]-X:J=Z[3]-Y:Pol(I,J):J=J-F:B=IcosJ
说明:
一、程序功能及原理
1.功能说明:
   可实现M线的反算贯通。
2.计算原理:
    见第五次修改版
二、使用说明
    见第五次修改版
三、注意事项    
1、”SUB1”和 ”DAT-M”子程序详见第五次修改版
2、程序中θ表示数字零,O表示字母,请注意区分

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目 录 前言 第 1 章 复数及基于统计串列存储数据的编程方法与程序 1.1 复数的几何表示方法 1.2 复数显示格式的应用 1.3 共轭复数 1.4 复数形式坐标反算程序(QH1-4) 1.5 基于统计串列输入数据的极坐标放样程序(QH1-5) 1.6 复数形式高斯平面坐标线性变换参数计算及批量坐标变换程序(QH1-6) 1.7 复数形式建筑坐标与测量坐标的相互变换程序(QH1-7) 1.8 复数形式单一闭、附合与无定向导线近似平差原理与程序(QH1-8) 1.9 复数形式支导线坐标计算程序(QH1-9) 第 2 章 公路与铁路路线平纵曲线正、反算原理与程序 2.1 单交点基本型路线曲线坐标正算原理 2.2 缓和曲线线元坐标正算原理 2.3 缓和曲线线元坐标反算原理 2.4 圆曲线与直线线元坐标正、反算原理 2.5 直线与缓和曲线线元斜交的交点坐标计算原理 2.6 直线与圆曲线及直线线元斜交的交点坐标计算原理 2.7 单交点基本型曲线坐标正、反算程序(QH2-7) 2.8 线元法任意路线与匝道曲线坐标正、反算程序(QH2-8) 2.9 线元法任意路线与匝道曲线直线斜交程序(QH2-9) 2.10 任意个变坡点的连续竖曲线高程计算程序(QH2-10) 第 3 章 公路与铁路路线施工测量综合程序 3.1 圆曲线加宽值计算程序(QH3-1) 3.2 缓和曲线加宽值计算程序(QH3-2) 3.3 路线纵断面中平测量记录计算程序(QH3-3) 3.4 路线填、挖方工程量计算程序(QH3-4) 3.5 方格网法土方量计算程序(QH3-5) 3.6 解析法带弓形多边形周长与面积计算程序(QH3-6) 第 4 章 公路与铁路路线施工控制测量程序 4.1 1954 北京坐标系与 1980 西安坐标系高斯投影正算、反算及换带程序(QH4-1) 4.2 测角前方交会坐标计算程序(QH4-2) 4.3 测角后方交会坐标计算程序(QH4-3) 4.4 测边后方交会点坐标计算程序(QH4-4) 4.5 施工水准测量记录计算程序(QH4-5) 4.6 四等水准测量计算程序(QH4-6) 4.7 单一闭附合图根水准路线近似平差程序(QH4-7) 4.8 高斯平面坐标系正形变换程序(QH4-8)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金枝玉叶9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值