1、交点法与线元法本人一直以来想找一个相结合的坐标正反算程序,在网上找了很久,没能找到一个较为满意的,有幸在测量空间看到大歪哥的Casio5800交点法程序与线元法(积木法)匝道坐标正反算放样程序,根据歪哥意见“需要的自行修改结合XY框架自己修改为数据库反算程序等”,本人不才,采用最笨的办法将两个程序综合了一下,使之能既能进行交点法正反算,又能进行线元法正反算。在此特别感谢大歪哥!将程序发上来,愿与大家一同交流学习欢迎大家吐口水,只要能进步就行!程序由一个主程序ZBZFS和8个子程序(JS、XY-A、XY-B、JDYS、1、2、3、4)构成,运行时只需运行主程序即可!本程序适用于单交点对称型、不对
2、称型、无缓和曲线单圆曲线型一个交点范围内(含交点前后有直线段时)的曲线要素核对和坐标正反算,手工输入要素,对设计图纸的“直线、曲线转角表”中交点数据进行复核验证,并能对单一线元进行坐标正反算。1主程序名:ZBZFS(功能:进入计算主程序)65DimzDeg:Fix 31.JD ZFS 2. ZHADAO ZFS? I: IZ61:1.ZHONG SHU JS 2. JS? IIf I=1: Then Goto1: Else Goto2:IfEndLbI 1:IfZ61=1:Then ProgJDYS:Else Cls:K0?A:KN?L:X0?U:Y0?V :F0?W :R0?P :RN?Q:
3、ZX:-1,+1,0?G:IfEndLbI 2 :ProgJS2子程序名:JS(功能:选择正算或反算模式)Cls:XC?H:YC?ZCls:1.ZS 2.FS? I: I=2=Goto 3LbI 1:Cls:If Z61=1:ThenJD ZS KX+XXX?K:Prog4:Else ZHADAO ZS KX+XXX?K :IfEndLbI 2: Cls:90B: Cls:RJ Or 0 To K?B:B=0 =Goto 1:Z?TProg XY-AX+Tcos(M+B)XY+Tsin(M+B)Y360Frac(M+360)360MPol(X-H,Y-Z : 360Frac(J+360)360
4、J2O: ProgXY-B:Goto 2LbI 3 : Cls: If Z61=1: ThenJD FS KN+?K:X?C:Y?D:Prog4:Else Cls:ZHADAO FS:X?C:Y?D:IfEndLbI 4 :Prog XY-A(D-Y)sin(M)+(C-X)cos(M)HIf Abs(H)X10-3 :Then K+HK:Goto 4:IfEnd(D-Y)cos(M)T3O: ProgXY-B:Goto 33子程序名:XY-A(功能:坐标计算程序)5N: G(Q-1-P-1)Abs(L-A)F: Abs(K-A)NR: 90RS:W+(FNR+2GP-1)NSM:1EU+R6
5、(Cos (W)+Cos (M) +4(Cos (W+(E+0.5)FR+2GP-1)(E+0.5)S),E,0,(N-1))+2(Cos (W+(EFR+2GP-1)ES,E,1,(N-1))XV+R6(sin (W)+sin (M) +4(sin (W+(E+0.5)FR+2GP-1)(E+0.5)S),E,0,(N-1))+2(sin (W+(EFR+2GP-1)ES,E,1,(N-1))Y4子程序名:XY-B(功能:显示正算或反算结果)If O=2:ThenCls :K=:Z=:X=:Y=: Locate 6,1, K : Locate 4, 2, T : Locate 4,3, X
6、:Locate 4,4, YIf T=0 :Then Cls :QF(Z)=: Locate 8,1, M:MDMSIfEndCls :K=:S=: Locate 6,1, K : Locate 4, 2, I :F=:J:JDMSIfEndIf O=3:ThenX=:Y=:K=:Z=:Locate 4,1,C:Locate 4,2,D :Locate 6,3,K :Locate 4,4,TIfEnd:Cls5子程序名:4(功能:将交点参数转为线元计算参数)LbI 1: IF Z480 :Then -1Z62 : Else:1Z62:IfEndLbI 2:If KZ57:Then Z57A:Z
7、1L:Z23U:Z24V:Z31W :1045P:1045Q : 0G:IfEndLbI 3:IfKZ1:Then Z1A :Z2L :Z19U :Z20V:Z29W:1045P:Z46Q : Z62G: IfEndLbI 4:IfKZ2:Then Z2A :Z4L:Z25U:Z26V:Z32W:Z46P:Z46Q : Z62G: IfEndLbI 5:fKZ4:Then Z4A :Z5L :Z27U:Z28V:Z33W :Z46P:1045Q : Z62G: IfEndLbI 6:IfKZ5:Then Z5A :Z5+1000L:Z21U:Z22V :Z30W:1045P :1045Q :
8、0G : IfEnd6子程序名:JDYS(功能:输入交点要素、显示交点要素及主点坐标)Cls :BP?H:HZ57:K(JD)?K:KZ41 :X(JD)?X :XZ42:Y(JD)?Y:Y Z43:LS1?B:BZ44 :LS2?C:C Z45: ?R:R Z46:(ZH)FWJ?M:MZ47:(Z-,Y+)?O:OZ48:Z47+Z48Z49:Prog 1:Prog2Cls :T1=:T2=:L=:LY=: Locate 4,1, Z50 : Locate 4,2, Z51: Locate 4,3,Z52 : Locate 4,4, Z53Cls :E=: Locate 7,1, Z54C
9、ls :K(QD)=:X=:Y=:FWJ=Locate 7,1,Z57:Locate7,2,Z23 :Locate 7,3, Z24 :Locate 7,4, Z31Cls :K(ZH)=:X=:Y=:FWJ=:Locate7,1,Z1:Locate 7,2,Z19 :Locate 7,3, Z20 :Locate 7,4, Z29Cls :K(HY)=:X=:Y=:FWJ=:Locate 7,1,Z2:Locate 7,2,Z25 :Locate 7,3, Z26 :Locate 7,4, Z32Cls :K(QZ)=: Locate 7,1,Z3Cls :K(YH)=:X=:Y=:FWJ=
10、:Locate 7,1,Z4:Locate 7,2,Z27 :Locate 7,3, Z28 :Locate 7,4, Z33Cls :K(HZ)=:X=:Y=:FWJ=:Locate 7,1,Z5:Locate 7,2,Z21 :Locate 7,3, Z22 :Locate 7,4, Z307子程序名:1(功能:计算交点要素)If Z480 :Then -1Z55 : Else 1Z55 : IfEnd : Z55* Z48Z56Z44 2 24Z46-Z44(4)2688Z46 (3) Z6Z45 2 24Z46- Z45(4)2688Z46 (3) Z7Z442-Z44(3)240Z4
11、62 Z8Z452-Z45(3)240Z462 Z9Z8+( Z46+Z7-( Z46+Z6)cos(Z56)sin(Z56)Z50Z9+( Z46+Z6-( Z46+Z7)cos(Z56)sin(Z56)Z51Z46* Z56180+( Z44+ Z45) 2Z52Z46* Z56180-( Z44+ Z45) 2Z53(Z46+(Z6+Z7)2)cos(Z562)-Z46Z54Z41-Z50Z1Z1+Z44Z2Z2+Z532Z3Z1+Z52-Z45Z4Z4+Z45Z58子程序名:2(功能:计算主点坐标及切线方位角)Z42-Z50cos(Z47)Z19: (直缓坐标)Z43-Z50sin(Z
12、47)Z20Z47Z : 360Frac(Z+360)360Z29(方位角)Z42+Z51cos(Z49)Z21: (缓直坐标)Z43+Z51sin(Z49)Z22Z49Z: 360Frac(Z+360)360Z30(方位角)Z1-Z57L(HZ57为前直线起点桩号)Z42-( Z50+L)cos(Z47)Z23(前直线起点坐标)Z43-( Z50+L)sin(Z47)Z24Z47Z : 360Frac(Z+360)360Z31(方位角)Z44Z12:Z44Z13:Prog3Z4-Z1L:90(2L-Z44)Z46Z11Z46sin(Z11)+Z8Z14:Z46(1-cos(Z11)+Z6Z1
13、5Z19+Z14cos(Z47)-Z55Z15sin(Z47)Z27(圆缓点坐标)Z20+Z14sin(Z47)+Z55Z15cos(Z47)Z28Z47+Z55Z11Z: 360Frac(Z+360)360Z33(方位角)Z2-Z1L:90(2L-Z44)Z46Z58Z46sin(Z58)+Z8Z14:Z46(1-cos(Z58)+Z6Z15Z19+Z14cos(Z47)-Z55Z15sin(Z47)Z25(缓圆点坐标)Z20+Z14sin(Z47)+Z55Z15cos(Z47)Z26Z47+Z55Z58Z: 360Frac(Z+360)360Z32(方位角)9子程序名:3(主点坐标计算辅助
14、程序)If Z12=0 :Then 0Z14: 0Z15:ElseZ12- Z12(5)40(Z46*Z13)2+ Z12(9)3456(Z46*Z13)(4) Z14Z12(3)6(Z46*Z13)-Z12(7)336(Z46*Z13)(3)+Z12(11)42240(Z46*Z13)(5)Z15IfEnd程序说明:1、进入程序:1.JD ZFS 2. ZHADAO ZFS?选1为交点法正反算(以后操作均为交点法计算),选2为线元法正反算(以后操作均为线元法计算)2、ZHONG SHU JS 2. JS?选1重输参数,选2直接进入交点法或线元法正反算(参数为已输过的参数)3、参数输入:一、交
15、点法已知数据输入:BP?上一交点ZH桩号K(JD)?交点桩号X(JD)?交点X坐标Y(JD)?交点Y坐标LS1 ?第一缓和曲线xxLS2 ?第二缓和曲线xxR ?圆曲线半径(ZH)FWJ?交点前(即前交点至本交点也即ZH点)的正切线方位角(Z-,Y+)?本交点处线路转角(左转为负,右转为正,度分秒输入)交点法计算要素显示:T1=第一切线长T2=第二切线长L=曲线总长LY=圆曲线长E=曲线外距K(ZH)=直缓点桩号K(HY)=缓圆点桩号K(QZ)=曲中点桩号K(YH)=圆缓点桩号K(HZ)=缓直点桩号二、线元法已知数据输入:K0?KN? R0? RN?F0?X0? Y0?ZX?分别为线元起点桩号
16、、终点桩号、起点半径、终点半径、起点切线方位角、起点X坐标、起点Y坐标、线元转向。4、XC ? YC?输入置镜点即测站的X,Y坐标5、1.ZS 2.FS选1正算选2反算程序线元判断原则:(1)以道路中线的前进方向(即里程增大的方向)区分左右;(2)当所求点位于中线时,Z=0;当位于中线左侧时,Z取负值;当位于中线右侧时,Z取正值。(3)当线元为直线时,其起点、终点的曲率半径为无穷大,以10的45次代替输入10x45。(4)当线元为圆曲线时,无论其起点、终点与什么线元相接,其曲率半径均等于圆弧的半径。(5)当线元为完整缓和曲线时,起点与直线相接时,曲率半径为无穷大,以10的45次代替输入10x4
17、5;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径为无穷大,以10的45次代替输入10x45;与圆曲线相接时,曲率半径等于圆曲线的半径。(6)当线元为非完整缓和曲线时,起点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。终点与直线相接时,曲率半径等于设计规定的值;与圆曲线相接时,曲率半径等于圆曲线的半径。6、循环计算部份:输入与显示简单说明JD ZS KX+XXX?或ZHADAO ZS KX+XXX?输入所求的桩号(交点法或线元法)Z ?输入所求点距中线的边距(在中线输零,左负右正)RJ?输入边桩时左右边桩连线与线路前进方向中桩切线的右交角(当输入数字0时进入下一个桩号计算输入)X =、Y =计算得出的所求点的左、中、右的X Y坐标QF(Z)= 计算得出所求点的中桩切线方位角F= 计算得出置镜点到测点的方位角S= 计算得出置镜点到测点的水平距离JD FS KN+?交点法反算时需输入反算点所在(前直线,前缓和段、圆曲线、后缓和段、后直线)线元中的任一点桩号(定位线元用)X=反算输入所求点的X坐标Y=反算输入所求点的Y坐标K=计算得出求点所对应的里程Z=计算得出求点到所对应的里程的垂直距离(负就是左边,正就是右边)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1