卡西欧FX5800计算器公路测量全线中边桩正反算交点法程序修改版
1.主程序:一般坐标计算及放样程序-----交点法
程序名:1-JD
Lal 0:10→DimZ:Norm 2:1→A: A: XY=1,KMD=2? A:A=1=>Goto 1:A=2=>Goto 2: (选择正算还是反算)Lal 1:Lal A:ProgQX: 90→B PJ?B:B→Z[1]: (默认与道路切线方向90度)Lal B:KM?Z:Z=-1=>Stop:Z=-2=>Break: ProgK:?D:(输入正算计算里程,输入-1则停止,输    -  2转反算),偏距默认中桩0,左为-,右为+,)
     PorgZ:I+Dcos(Z[2]+Z[1]→X:J+Dsin(Z[2]+Z[1]→Y:Fix 3: X=:Locate 6,4,X: Y=:Locate    6,4,Y: FWJ=:Locate 6,4,Z[2](显示坐标,切线方位角)
    Prog “S-Z”: Prog “3-GC”: “H=”H◢(高程计算并显示,如不需要高程此部分可以省略)
 Prog5-SD:-CW +QW=:M (隧道超欠挖,如不需要此部分可以省略)
        LpWhile Z≠-1(Goto B此处也可以用这个命令)
Lal 2 ProgQX(选线,默认(线路1  X1=1,(线路2 .
    Lal C:Do:KM?Z:Z=-1=>Stop:Z=-2=>Break: (反算时输入大概桩号,输入-1则停止,输入-2正算)ProgK: X0?X: Y0?Y: PorgBFix 3: KM:Lcoate 6,4,Z: D=:Locate 6,4,D
    Prog “S-Z”: Prog “3-GC”: “H=”H
 Prog5-SD:-CW +QW=:M
       LpWhile Z≠-1(Goto C此处也可以用这个命令)
2.线路中线元段判别子程序(K
程序名:K
If Z[3]=0:Then Return: IfEnd:If Z[3]=1:Then  Prog      “X1”:Return:IfEndIf Z[3]=2:Then Prog “X2”:Return:IfEndIf Z[3]=n:Then Prog “Xn”:(后面可以增加N条线路!!但需要在QX程序里面 QX:?=0,X1=1,X2=2Xn=n"做更改)。
3.线路选择子程序(线路选择输0时。则输曲线参数(QX
程序名:QX
1→A: QX:?=0,X1=1,X2=2?A:A→Z[3]: 
If A=0:Then ”JDKM”?O:”XJ”?U:”YJ”?V:”FWJ”?G:”ZJ”?P
:”LS1”?H:”LS2”?N:?R:IFEnd
4.交点法正算子程序(Z) 
程序名:Z
H2÷R÷24-H(4)÷2688÷R(3)+H (6)÷506880÷R(5)- H (8)÷154828800÷R(7)→A:
H÷2-H(3)÷240÷R2+H(5)÷34560÷R(4)-H(7)÷8386560÷R(6)+H (9)÷3158507520÷R(8)→B:
(H2-N2)÷24÷R÷sin(Abs(P))-(H(4)-N(4))÷2688÷R(3)÷sin(Abs(P→E:
 (R+A)tan(Abs(P)÷2)+B-E→T:
P÷Abs(P→W:H→C:0→M: (R+N2÷R÷24-N(4)÷2688÷R(3)÷tan(Abs(P)÷2))+N÷2-N(3) ÷240÷R2+E→Z[6]O-T+ΠR×Abs(P)÷180+H÷2-N÷2→Z[7]:
If Z≤O-T:Then Z-O→S:G→Z[2]:Goto 1: IfEnd:
If Z≤O-T+H:Then Z-O+T→S:Prog “HX”:G+WK→Z[2]:A-T→A:G→E:Goto 2:IfEnd:
If Z≤Z[7]: Then 180(Z-O+T-0.5H)÷R÷Π→S :A+R(1-Cos(S→BH÷2 -H (3) ÷R2÷240+Rsin
(S→A:R→M:G+WS→Z[2]:A-T→A:G→E:Goto 2: IfEnd:
If Z≤Z[7]+N:Then Z[7]+N-Z→S:Z[6]→T:N→H:Prog “HX”:G+P→E:E-WK→Z[2]:T-A→A:C→H:Goto 2:IfEnd:
Z- Z[7]-N+ Z[6]→S:G+P→Z[2]:
LbI 1:U+Scos(Z[2]→I:V+Ssin(Z[2]→J:Return:
LbI 2:U+Acos(E)-WBsin(E→I:V+Asin(E)+WBcos(E→J

5. 交点法反算子程序()
程序名:B
0→D:Do:Z+D→Z:Prog”Z”:Pol(X-I,Y-J+×10-9:J-Z[2] →J:Isin(J→S:Icos(J→D:If M≠0:Then Pol(M-WS,D:JMΠ÷180→D:IfEnd: LpWhile Abs(D>.001:Z+D→Z:S→D
6. 计算缓和曲线段坐标增量及偏角子程序(HX)
程序名:HX
S-S(5)÷40÷R2÷H2+S(9)÷3456÷R(4)÷H(4)-S(13)÷599040÷R(6)÷H(6)+S(17)÷1
75472640÷R(8)÷H(8)→A:
S(3)÷6÷R÷H-S(7)÷336÷R(3)÷H(3)+S(11)÷42240÷R(5)÷H(5)-S(15)÷9676800÷R(7)÷H(7)+S(19)÷3530097000÷R(9)÷H(9)→B:
90S2÷Π÷R÷H→K:If S=0:Then 0→M:Else RH÷S→M:IfEnd
7.坐标参数矩阵调用程序(F
 程序名:F
     Mat F[1,1]→O: Mat F[1,2]→U: Mat F[1,3]→V: Mat F[1,4]→G:
Mat  F[1,5]→H: Mat F[1,6]→H: Mat F[1,7]→P: Mat F[1,8]→R:
8.线路1坐标计算要素程序
程序名:X1(线路1坐标计算要素程序)
If  Z≤241.086:Then [[336.4782600441.639514392.519 28020’28.78” 106.66781.66720308’28.32”60]]→Mat F:Prog”F”: Return:IfEnd
线路1坐标计算要素程序
9.程序名:X2(线路2坐标计算要素程序
If  Z≤273.006:Then [[171.6742600784.547514635.8635849’17.2” 93.8891256809’,26.91”180]]→Mat F:Prog”F”: Return: IfEnd
说明:1、交点法:If Z≤计算交点段终点桩号:Then[[交点桩号,交点X坐标,交点Y坐标,起点至交点方位角,交点前段缓和曲线长度,交点后段缓和曲线长度,交点转角,圆半径]] →Mat F: Prog”F”: Return: IfEnd
(转角则为交点段终点方位角减起点方位角,分正负,左偏为负,右偏为正)如整条线无曲线,全为直线段,则交点为终点桩号,XY为终点坐标,方位角为起点方位角,转角和圆半径为1,其它全为0

10.程序名:S-Z
Z→S:D→Z(转换ZSDZ进行高程计算,超欠挖计算)
使用说明
1、规定
     (1) 坐标计算以交点方式计算,一般情况下一个交点计算一段线是:直线+缓和曲线+圆曲
线+缓和曲线+直线。在匝道中先根据实际线来调整,可以单独计算一段不完整的缓和曲线+圆曲线。也可以单独计算一段缓和曲线或一段圆曲线。无缓和曲线时,缓和长度输0
 (2) 程序中:×10-9 10的负9次方即0.000000001; Π为圆周率即3.1415926; √为根号;"  =":
2、输入与显示说明
     输入提示部分:
   “QX:X1=1,X2=2”?选择经路,坐标计算中输入0值,变为输入线元段曲线要素。输1为第一条线路。输2为第二条线路,本程序暂设计实例为2条线路。
KM?正算时所求点的里程(反算输入大概桩号)输入-1,返回输入选择计算类型,输入-2,返回选择线路。     
          ?正算时所求点距中线的边距(左侧取负值,右侧取正值,在中线上取零)   
   X0 ?反算时所求点的X坐标(放样程序中实测X坐标)
   Y0 ?反算时所求点的Y坐标(放样程序中实测Y正则化相位跟随代码坐标)
       显示部分:
 PJ?。夹角为边线至路前进方向夹角,默认值均为90.   
 X=***    正算时,计算得出的所求点的X坐标
 Y=***    正算时,计算得出的所求点的Y坐标
 FWJ=***   正算时,计算得出的所求点的至置仪点方位角
 D=***   正算时,计算得出的所求点的至道路中线距离
 KM=***    反算时,计算得出的所求点的里程
 =***    反算时,计算得出的所求点的边距
 H=***      所求点位置设计计算面顶标高
-CW +QW=   超欠挖高度
四、结束语
1、本套程序实例线路给二条,如标段像匝道有多条线时,同理增加。
2、为了更好的开发计算器程序。 
附后为坐标计算参数子程序X1X2和高程计算子程序S1S2数据来源(X1S1C线,X2S2I线)。
上图为SD1程序中Z[4]=1时隧道断面参数数据的图。
 1、附带坐标计算面积小程序   程序名:XY-S
0→QNorm 2:1→I:?N:X1?X:〞Y1?YX→AY→B:X→E:Y→F:Do:“XN?X:〞YN?YQ+(XF-YE)÷2→Q:X→E:Y→F:I+1→I:Lpwhile I≠NQ+(AF-BE)÷2→S:MIAN JI= 〞:Abs(S
(运行后N?,输入点数,然后输入第一点坐标,再着输入2点一直输入N点后就出来面积)
2、另附一个导线点数据库程序:
先修改原DX子程序:程序名:DX
Z[5]→K:Z[6]→L:“XZ”?K:If K=0:Then Prog”DX1”:Goto 0:IfEnd:”YZ”?L:LbI 0:K→Z[5]:L→Z[6]
导线点坐标存储程序
程序名:DX1
0→ADo:”PH:A(1),B(2),C(3),D(4)”?A:If A=11:Then 11468.425→K:2275.035→L:Goto 0:IfEnd: If A=21:Then 11800.525→K:4275.135→L:Goto 0:IfEnd: If A=31:Then 10500.05→K:4575.635→L:Goto 0:IfEnd: If A=41:Then 9500.05→K:3575.635→L:Goto 0:IfEnd:LbI 0:” XZ=”Locate 6,4,K: ”  YZ=”Locate 6,4,L:0→B:”OK”?B:LpWhile B≠0
说明:在输导线点坐标时,X0则调出导线点存储程序,输入编号的数,则出来对应的XY坐标,(编号可按字母用数子排)
7. 3-GC高程计算程序
 (If Z[3]=1:Then Prog”G1”Ifend:If Z[3]=2:Then Prog”G2”Ifend………(用在1.2程序中把                                绿部分换掉. 
ClrmatClrvar:KM="?S1→A: QX:?=1,GX1=1,GX2=2?A:A→Z[3]: Prog “XG” 
 0.5RAbs0.01(E-D→T :
If   E>D : Then 1→C : Else  -1→C: IfEnd
If   S<A : Then -0.01D→W : Else 0.01E→W: IfEnd
AbsA-S→L
If   L>T : Then  B+WL→H  : Else   B+WL+C(T-L)2/2/R→H : IfEnd :Return
8.XG高程线路选择程序
If Z[3]=1:Then  Prog “GX1”:Return:IfEndIf Z[3]=2:Then Prog “GX2”:Return:IfEnd :
9.高程数据库G1…….G2……GN……
If  S66894.3 :Then  -0.052→D: 0→E : 67394.3→A : 67.37→B: 600000→R : Goto  2 : IfEnd
If S本段竖曲线终点里程 :Then  -0.48→前坡D : -0.052→后坡E : 68494.3→竖曲线交点里程
A :66.8→交点高程B : 100000→曲率半径R : Goto  2 : IfEnd
………
依次类推,计算原始数据完成输入,
105-SD隧道超欠挖
   -1→P:?P: IF P=-1:Then Return: IfEnd:IF Z[3]=1:Then :Goto 0:IfEnd: IF Z[3]=2:Then  Goto 1:IfEnd:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。