5800坐标计算程序+方位角计算方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.主程序TYQXJS
Defm10:Lbl 0: “1.LC=>XY”: “2.XY=>LC”: {V}:V=1=>GOTO 1: ≠> GOTO 2 △
Lbl 1: {DZG}:D:Z”JL=”:G”J=”:Z=0=>G=0:△Prog “QXYS”: Prog “ZSZB” : ”X=”:X ◢”Y=”:Y◢J>360=>J=J-360:△J<0=>J=J+360:△"FWJ=":J→DMS◢
{HU}:H“XC”:U“YC”:I=0:J=0:Pol(X-H,Y-U):J<0=>J=J+360:△“FW=”:J→DMS◢
“S=”:I◢
Prog “SQX”←┘
GOTO 0←┘
Lbl 2: D=***:Z=0:G=0:{MI}:M”XO”:I”YO”: Prog “FSZB”:”D=”:D ◢”JL=”:Z◢Prog “SQX”←┘
GOTO 0←┘
D=有效里程即线路起点里程
2. 正算坐标ZSZB
N=5:P=(1\E-1\R)÷Abs(K-F):Q=Abs(D-F)÷N:S=90Q÷π:J=C+(NPQ+2\R)NS:L=1←┘
X=A+Q÷6×(Cos C+Cos J +4∑(Cos (C+((L+0.5)PQ+2\R)×(L+.5)S),L,0,(N-1))+2∑(Cos (C+((LPQ+2\R)LS,L,1,(N-1)))+ZCos(J+G):←┘
Y=B+Q÷6×(Sin C+Sin J +4∑(Sin (C+((L+0.5)PQ+2\R)×(L+.5)S),L,0,(N-1))+2∑(Sin (C+((LPQ+2\R)LS,L,1,(N-1)))+Z Sin(J+G):←┘
3. 反算坐标:FSZB
Lbl 0:Prog “QXYS” :Prog “ZSZB”:O=J-90:←┘
P= (I-Y)cosO-(M-X) sinO :D=D+P:←┘
AbsP≥0.001=> GOTO 0 :≠> GOTO 1 △←┘
Lbl 1: Z= (I-Y)cosJ-(M-X) sinJ: ←┘
4. 《SQX》高程计算子程序
Prog“SB”:W=Z[1]-Z[2]:W>0=>Z[6]=-1:≠>Z[6]=1△Z[3]:T“T”=Abs(Z[3]W/2) :E“E”=T^2÷2Z[3]:C=D-Z[4]:D≦Z[4]=>Z[7]=Z[1]:≠>Z[7]=Z[2]△Z[5]:AbsC≦T=> “H0”: Z[8]=Z[5]+CZ[7]+Z[6](T- Abs C)^2÷2Z[3] ◢≠> “H0”: Z[8]=Z[5]+CZ[7]
5、曲线元要素数据库:QXYS◢
D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘
D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘
D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘
D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘
D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△┘
……………………………
D≥F=>D<K=> F=**:A=**:B=**:C=**:R=**:K=**E=**△△←┘
(注:如有多个曲线元要素继续添加入数据库QXYS中)
6、《SB》竖曲线数据库
D≥竖曲线起点里程=>Z[1]=?:Z[2]=?:Z[3]=?:Z[4]=?:Z[5]=?△
D≥?=>Z[1]=?:Z[2]=?:Z[3]=?:…………△
TYQXJS(主程序名)
LbI 0:4→Dimz:Cls
"1.SZ→XY"
"2.XY→SZ"?→N:Cls
"XO"?U: "YO"?V: "SO"?O:"FO"?G: "LS"?H: "RO"?P:"RN"?R:?Q
1÷P→C:(P-R)÷(2HPR) →D:180÷π→E
N=2=>Goto 2
LbI 1:Cls:?S
S=0=>Goto 0 (注:當S輸入0時,程序會由LbI 0開始重新運行)
Z:Abs(S-O)→W
Prog"SUB1":Cls
"XS=":X◢
"YS=":Y◢
"FS=":F-90 ?DMS◢
Goto 1
LbI 2:Cls:?X
X=0=>Goto 0 (注:當X輸入0時,程序由會LbI 0開始重新運行)
Y:X→I:Y→J
Prog"SUB2":O+W→S:Cls
"S=":S◢
"Z=":Z◢
Goto 2
注:紅色部可以不要,亦可以要,它的作用是將S或X輸入0時,程序會重新由頭開始運行,(即是可以計算下段線元)
SUB1(子程序名)
0.1739274226→A:0.3260725774→B
0.0694318442→K:0.330009482→L
1-L→F:1-K→M
G+QEKW(C+KWD)→Z[1]
G+QELW(C+LWD)→Z[2]
G+QEFW(C+FWD)→Z[3]
G+QEMW(C+MWD)→Z[4]
A×cos(Z[1])→X (剩號可省略)
X+Bcos(Z[2])→X
X+Bcos(Z[3])→X
X+Acos(Z[4])→X
U+WX→X
Asin(Z[1])→Y
Y+Bsin(Z[2])→Y
Y+Bsin(Z[3])→Y
Y+Asin(Z[4])→Y
V+WY→Y
G+QEW(C+WD)+90→F