1.程序說明:測試
DDSG (大地座標轉施工座標)spa
SGDD (施工座標轉大地座標)命令行
↙ (回車命令"EXE")設計
K (施工座標轉換原點在線性上的樁號,若是是起始點爲0)循環
α (施工座標縱軸與大地座標縱軸之間的交角)程序
X0 、Y0 (轉換原點座標)im
注::α、K、X0 和Y0 (建議在編輯程序時把他們的取值輸入到程序裏面,這樣在程序運行時,能夠減小輸入這些數據的步驟,提升數據輸入的準確性,避免因數據輸入出錯而形成計算結果的錯誤)數據
‚: 爲了統一5800裏面的程序字符代碼,下面出來命令語句以外,一切字母均爲大寫。語言
2.程序清單:co
: ZBZH (在新建程序中輸入程序名字「座標轉換」)
‚: 正文
Fix 4 (設置小數點位數4位,能夠不設置)
Lbl 1:〃DDSG=1,SGDD=2,QITA=END〃?→A↙ (輸入1進入大地轉施工計算,輸入2進入施工轉大地計算,若是輸入其餘數就退出ZBZH程序)
While A=1 or A=2:If A=1:Then 〃X(DD)=〃?→X:〃Y(DD)=〃?→Y↙(1.While 判斷A的取值,若是A的取值不是1或者2那麼就要跳過這段程序,進入退出程序的命令行。2.若是輸入1那麼就開始進入大地轉施工座標的計算,這時就要輸入X(DD)和Y(DD),即要轉換點的大地座標)
〃X(SG)=〃: (Y-Y0)sin(α)+(X-X0)cos(α)+K→N◢
〃Y(SG)=〃: (Y-Y0)cos(α)-(X-X0)sin(α)→E◢
Goto 1↙
(計算X、Y的施工座標公式 ,若是施工座標的原點就是線性的起點,就不用K 值參加計算,Goto n,無條件轉移到對應的Lbl n)
IfEnd:〃X(SG)=〃?→M : M-K→X:〃Y(SG)=〃?→Y↙ (若是上面的If判斷爲假,也就是當A≠1時,那麼程序就跳到IfEnd後面的語句。也就是這段計算施工轉大地的座標,而後就輸入X、Y 的施工座標)
〃X(DD)=〃: Xcos(α)-Ysin(α)+X0→N◢
〃Y(DD)=〃: Xsin(α)+Ycos(α)+Y0→E◢
Goto 1↙ (無條件轉移到Lbl 1)
While End↙(結束循環語句,若是程序一開始就輸入一個非1,或者2的數,而後運行程序就會直接跳過While End以前的全部程式,而後結束程序)
〃ZBZH=〉END〃 (結束座標轉換程序)
編者語:
進過最後測試,以及用朋友的另外一種方式編寫的程序檢驗,計算結果相同,此程序是結合咱們如今的工程實際狀況編寫的,須要的朋友能夠把大家工程的一些設計線性參數發給我!我結合大家工程稍作些改動便可。
因爲本人專業知識和學術術語有限,程序中語言不免會出現銜接邏輯不強的問題,以及其餘我沒有發現的問題,還請前輩以及同仁多多指點