【正文】
在將來的生活工作中,我將會以他們?yōu)榘駱优ぷ?,誠實做人。 感謝測繪工程專業(yè)同屆的所有同學,他們曾給過我許許多多的幫助,和他 們相處的日子令我終生難忘。感謝老師在百忙之中一絲不茍、不厭其煩的孜孜教誨,感謝老師在我懈怠之時給予我的鞭策和激勵。 首先,感 謝系里的各位領導、各位老師,他們?yōu)榱宋覀冞@些來自全國各地的同學在學校里安心學習、生活,做了大量的工作,正是由于他們面面俱到的工作,才使我順利完成學業(yè),走向社會。采用布爾莎模型進行求解 。詳細方法見第三類。對于這種轉換由于量較大,有條件的話,一般都采用 GPS聯(lián)測已知點,應用 GPS 軟件自動完成坐標的轉換。 其中北京 54坐標系,屬三心坐標系,大地原點在蘇聯(lián)的普而科沃,長軸 6378245m,短軸 6356863,扁率 1/;西安 80 坐標系,屬三心坐標系,大地原點在陜西省徑陽縣永樂鎮(zhèn),長軸 6378140m,短軸 6356755,扁率 1/; WGS84坐標系,長軸 ,短軸 ,扁率 1/。 確定參數(shù)之后,可以用軟件進行轉換,以下提供坐標轉換的程序下載。另一種方法是根據大地坐標經度,如果經度是在 ~ 度之間,那么對應的中央子午線的經度 =( +) /2=117 度,其他情況可以據此 3度類推。對于中央子午線的確定有兩種方法,一是取平面直角坐標系中 Y坐標的前兩位 *3,即可得到對應的中央子午線的經度。橢球參數(shù)就是指平面直角坐標系采用什么樣的橢球基準,對應有不同的長短軸及扁率。常用的方法有三參數(shù)法、四參數(shù)法和七參數(shù)法。其中第 2 類可歸入第三類中。 25 第五章 結論 工程施工過程中,常常會遇到不同坐標系統(tǒng)間,坐標轉換的問題。空間直角坐標系轉換空間大地坐標系 (迭代法 ) Dim e2 As Double, N As Double Dim tB As Double, tH As Double, Lb As Double, lH As Double 21 e2 = GetE2(a, b) If = 0 Then = PI / 2 Else = Atn( / ) End If If = 0 And = 0 Then = PI / 2 N = GetN(a, b, ) = / Sin() N * (1 e2) Else tB = Atn( / Sqr( ^ 2 + ^ 2)) mGoTo: N = GetN(a, b, tB) tH = Sqr( ^ 2 + ^ 2) / Cos(tB) N Lb = Atn(( + N * e2 * Sin(tB)) / Sqr( ^ 2 + ^ 2)) If Abs(Lb tB) 1E99 Then tB = Lb GoTo mGoTo Else = Lb N = GetN(a, b, ) = Sqr( ^ 2 + ^ 2) / Cos() N End If End If End Sub 根據上述的設計語句,我們可以通過 調用函數(shù)的方法實現(xiàn)坐標轉換的操作,代碼如下: Public BtoX As New XYZ 22 Public XtoB As New BLH Public pi As Double Public Sub Command1_Click() Dim a As Double, b As Double a = 6378245 b = 6354950 pi = Dim pBLH As New BLH Dim pXYZ As New XYZ If = True Then = Val() = Val() = Val() Call BLH_XYZ(pBLH, a, b) = = = = Str() = Str() = Str() End If If = True Then = Val() = Val() = Val() Call XYZ_BLH(BtoX, a, b) Dim w As Double = Radian_Angular() = Angular_DMS() 23 = Radian_Angular() = Angular_DMS() = = = = Format(, .00000000 ) = Format(, .00000000 ) = Format(, .00000000 ) = Str() = Str() = Str() End If End Sub 程序設計好之后就是要 檢驗坐標轉換是否成功了,我們找來了一個已知點??臻g大地坐標系轉換空間直角坐標系 (a 為地球長半軸 ,b為地球短半軸 ) Dim e2 As Double, N As Double 39。計算卯酉圈半徑 N Dim e2 As Double e2 = GetE2(a, b) GetN = a / Sqr(1 e2 * (Sin(RB) ^ 2)) End Function 計算 2e 公式如下: Public Function GetE2(a As Double, b As Double) As Double 39。度分秒化度小數(shù) Dim D As Double, M As Double, S As Double Dim tDMS As Double, tS As Double If DMS = 0 Then DMS_Angular = 0: Exit Function tDMS = DMS * 10000 S = Val(Right(CStr(Int(tDMS)), 2)) + tDMS Int(tDMS) M = Val(Left(Right(CStr(Int(tDMS)), 4), 2)) D = Val(Left(Int(tDMS), Len(CStr(Int(tDMS))) 4)) DMS_Angular = D + M / 60 + S / 3600 End Function Public Function Angular_DMS(Angular As Double) As Double 39。度小數(shù)化弧度 Angular_Radian = Angular * PI / 180 End Function Public Function Radian_Angular(Radian As Double) As Double 39。空間大地坐標系 Public b As Double Public l As Double Public H As Double 空間直角坐標系代碼如下: 39。 首先,打開 ,進入 的主界面,選擇 ” 標準 EXE” (如圖 41) 。 VB 幫助窗口中顯示了有關的示例代碼,通過復制、粘貼操作可獲取大量的示例代碼,為用戶的學習和使用提供方便。通過動態(tài)鏈接庫技術,在 VB 程序中可方便地調用用 C 語言或匯編語言編寫的函數(shù),也可調用 Windows 的應用程序接口 (. API)函數(shù)。 ( 8)多個應用程序向導 VB 提供了多種向導,如應用程序向導、安裝向導、數(shù)據對象向導和數(shù)據窗體向導,通過它們可以快速地創(chuàng)建不同類型、不同功能的應用程序。 ( 7)網絡功能 VB 提供了網絡設計工具。 ( 6)支持對象的鏈接與嵌入技術 VB 的核心是對對象的鏈接與嵌入 (OLE)技術的支持 ,它是訪問所有對象的一種方法。此外作為一種程序設計語言, VB還有許多獨到之處。 VB 的集成開發(fā)環(huán)境為編程者提供了很大的方便。 ( 3)軟件的集成式開發(fā) VB 為編程提供了一個集成開發(fā)環(huán)境。若用戶未進行任何操作 (未觸發(fā)事件 ),則程序就處于等待狀態(tài)。事件可由用戶的操作觸發(fā),也可以由系統(tǒng)或應用程序觸發(fā)。 ( 2)事件驅動 16 在 Windows 環(huán)境下,程序是以事件驅動方 式運行的,每個對象都能響應多個不同的事件,每個事件都能驅動一段代碼 —— 事件過程,該代碼決定了對象的功能。它的基本思路是把復雜的程序設計問題分解為一個個能夠完成獨立功能的相對簡單的對象集合,所謂 “ 對象 ” 就是一個可操作的實體,如窗體、窗體中的命令按鈕、標簽、文本框等。這兒的開放性是指在開發(fā)環(huán)境的選擇上可以有 VBA、 VB、 、 VC++、 、 DELPHI、 JAVA 等多種支持 COM 標準的開發(fā)語言。該版本包括專業(yè)版的全部功能以及 Back Office 工具。 企業(yè)版。為專業(yè)編程人員提供了一整套功能完備的開發(fā)工具,包括學習版的全部功能以及 Activex 控件、 Inter 控件等。 學習版。極大地降低了開發(fā) Windows 應用程序的難度,使程序開 發(fā)的效率大大提高。 15 第四章 基于 VB 的坐標轉換 VB簡介 VB 是 Microsoft 公司于 1991 年推出的基于窗口的可視化程序設計語言。 上式適用于任意兩個空間直角坐標系統(tǒng)間的相互轉換。 空間直角坐標系統(tǒng)的相互轉換原理 地心