附和導(dǎo)線平差程序_第1頁
附和導(dǎo)線平差程序_第2頁
附和導(dǎo)線平差程序_第3頁
附和導(dǎo)線平差程序_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、附和導(dǎo)線平差程序QBASIC由本人在網(wǎng)絡(luò)上收集整理 DECLARE FUNCTION DEG! (X!)DECLARE FUNCTION DMS! (XX!)DECLARE FUNCTION XCHAR$ (XX!, N!)CLSPRINTPRINT " 附和導(dǎo)線平差程序(2.0R)"PRINT " 作者:徐振剛"PRINT " 1999年12月31日"PRINT "功能:本程序可以用來進行一般導(dǎo)線平差計算,包括附和導(dǎo)線、閉合導(dǎo)線和支導(dǎo)線,其中"PRINT " 閉合導(dǎo)線和支導(dǎo)線需對原始數(shù)據(jù)進行一定處理。&

2、quot;PRINT "備注:坐標計算誤差5mm;角度計算誤差0.5s"PRINTREM N -角度個數(shù)(包括已知方位角)REM M -導(dǎo)線邊數(shù)REM H -允許方位角閉合差秒值REM A -方位角(A(0)為起始方位角)REM D -邊長REM X,Y -坐標(X1,Y1;X,Y為已知坐標)REM F0 -方位角允許閉合差REM F1 -導(dǎo)線方位角閉合差REM F3,F4,F-增量閉合差REM K -導(dǎo)線全長相對閉合差1A(I) = A(I - 1) + B(I) + 180IF A(I) > 360 THENA(I) = A(I) - 360END IFNEXT

3、IF0 = H / 3600 * SQR(N - 1): F1 = A(N - 1) - B(N)V = -1 * F1 / (N - 1)FOR I = 1 TO N - 1A(I) = A(I) + V * IIF A(I) > 360 THENA(I) = A(I) - 360END IFNEXT IS = 0: X(0) = X1: Y(0) = Y1FOR I = 1 TO MS = S + D(I)X(I) = X(I - 1) + D(I) * COS(A(I) / PU)Y(I) = Y(I - 1) + D(I) * SIN(A(I) / PU)NEXT IF3 = X

4、(M) - X: F4 = Y(M) - Y: F = ABS(SQR(F3 * F3 + F4 * F4)D = 0FOR I = 1 TO MD = D + D(I)X(I) = X(I) - F3 / S * DY(I) = Y(I) - F4 / S * DNEXT IREM *PRINT "方位角允許閉合差 F0=+/-" XCHAR$(DMS(F0), 6)IF ABS(F1) <= F0 THENPRINT "導(dǎo)線方位角閉合差 F1= " XCHAR$(DMS(F1), 6); " OK!"ELSEPRINT &q

5、uot;導(dǎo)線方位角閉合差 F1= " XCHAR$(DMS(F1), 6); " OVER LIMIT!"END IFPRINT "相對閉合差:"PRINT TAB(5); "F3=" F3, "F4=" F4, "F=" F, "K=1/" S / FPRINT "改正后方位角:"FOR I = 0 TO N - 1PRINT TAB(5); "A(" I; ")=" XCHAR$(DMS(A(I), 6

6、)NEXT IPRINT "改正后坐標:"FOR I = 0 TO MPRINT TAB(5); "X(" I; ")=" XCHAR$(X(I), 4), TAB(30); "Y(" I; ")=" XCHAR$(Y(I), 4)NEXT IPRINT TAB(5); "X(" M; ")=" XCHAR$(X(M), 4), TAB(30); "Y(" M; ")=" XCHAR$(Y(M), 4)OPEN &q

7、uot;DXPC.OUT" FOR OUTPUT AS #1PRINT #1, " 導(dǎo)線平差"PRINT #1, TAB(25); DATE$, TIME$PRINT #1,PRINT #1, "方位角允許閉合差 F0=+/-" XCHAR$(DMS(F0), 6)IF ABS(F1) <= F0 THENPRINT #1, "導(dǎo)線方位角閉合差 F1= " XCHAR$(DMS(F1), 6); " OK!"ELSEPRINT #1, "導(dǎo)線方位角閉合差 F1= " XCHAR$

8、(DMS(F1), 6); " OVER LIMIT!"END IFPRINT #1, "相對閉合差:"PRINT #1, TAB(5); "F3=" F3, "F4=" F4, "F=" F, "K=1/" S / FPRINT #1, "改正后方位角:"FOR I = 0 TO N - 1PRINT #1, TAB(5); "A(" I; ")=" XCHAR$(DMS(A(I), 6)NEXT IPRINT #

9、1, "改正后坐標:"FOR I = 0 TO MPRINT #1, TAB(5); "X(" I; ")=" XCHAR$(X(I), 4), TAB(30); "Y(" I; ")=" XCHAR$(Y(I), 4)NEXT IPRINT #1, TAB(5); "X(" M; ")=" XCHAR$(X(M), 4), TAB(30); "Y(" M; ")=" XCHAR$(Y(M), 4)CLOSE #1R

10、EM *PRINTPRINT "詳細數(shù)據(jù)資料業(yè)已備份到 JHFY.OUT。"PRINTPRINT "按 ESC鍵 返回主菜單."DOLOOP UNTIL INKEY$ = CHR$(27)RUN "MAIN.BAS"ENDREM 將度分秒轉(zhuǎn)換成度FUNCTION DEG (X)D = INT(X)M = INT(X - D) * 100)S = INT(X - D - M / 100) * 1000000) / 100DEG = D + M / 60 + S / 3600END FUNCTIONREM 將度轉(zhuǎn)換成度分秒FUNCTION

11、 DMS (XX)IF XX < 0 THENX = -XXELSEX = XXEND IFD = INT(X)M = INT(X - D) * 60)S = (X - D - M / 60) * 3600IF XX >= 0 THENDMS = D + M / 100 + S / 10000ELSEDMS = -1 * (D + M / 100 + S / 10000)END IFEND FUNCTIONREM 以字符串形式輸出保留 N 位小數(shù)的 XFUNCTION XCHAR$ (XX, N)X = ABS(XX)R = INT(X)F = INT(X - R) * 10 N + .5)TEMP$ = MID$(STR$(F), 2)WHILE LEN(TEM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論