




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、GDGM-QR-03-077-A/0GuangdongCollege of Industry & Commerce畢業論文Graduation Paper題目:基于VB的測量坐標系統的轉換The Coordinate systemConversion based on VB系 別: 測繪信息遙感工程系班 級: 08級(2)班學生姓名:學 號: 指導老師:完成日期:2011年5月14日指導教師評語:初評成績:指導教師簽名:年 月 日畢業論文(設計)評審小組意見:終評成績:組長簽章:年 月 日備注目錄目錄3第一章緒論1第二章坐標系統32.1坐標系統簡介3天球坐標系32.1.2 地球坐標系4
2、2.2參心系與地心系52.3 常用的坐標系統6大地坐標系統6、WGS84坐標系6、ITRF框架7、BJ54坐標系8坐標系9、新BJ54坐標系9、CGCS2000坐標系統102.4 地方獨立坐標系10第三章坐標轉換的理論基礎123.1 大地坐標系統與空間直角坐標系統的轉換原理123.2 空間直角坐標系統的相互轉換原理13第四章基于VB的坐標轉換154.1 VB簡介154.2系統開發語言的選擇VB6.0154.3 利用VB實現空間直角坐標系統的相互轉換17第五章結論255.1大地坐標(BLH)對平面直角坐標(XYZ)255.2 北京54全國80及WGS84坐標系的相互轉換255.3 任意兩空間坐標
3、系的轉換26參考文獻27致謝28摘要測量學是一門古老而富有生命力的學科,其應用范圍很廣,在國民經濟和國防建設中發揮著十分重要的作用。隨著現代科技的發展,測量學也得到了迅猛的發展。特別是計算機科學技術、航空航天科學技術、激光技術、遙感技術、圖像處理技術及模式識別等的發展,對測繪科學的發展產生了巨大的推動作用。 坐標系統是測量非常重要的,測量坐標系統的種類繁多。正是因為坐標系統的繁多,對測量工作造成了很大的影響。本文主要論述測繪中常用的坐標系統;坐標系統轉換的原理以及基于VB對坐標系統轉換的實現步驟等。關鍵字:坐標系統;北京1954-坐標系統;西安1980坐標系統;世界大地坐標系WGS-1984;
4、轉換;VB第一章緒論測量的發展可以追溯到兩千多年以前,從人們確認地球是個圓球并實測它的大小開始,大體可分為:古代大地測量、經典大地測量和現代大地測量三個階段。從二十實際中期莫洛琴斯基發展斯托克司理論后的200期間,大地測量發展更為迅速!人造地球衛星技術快速發展,使其在空間科學、氣象、遙感、通訊、導航、地球科學、地球動力學、天文學、大地測量、資源勘查、災情預報、環境監測、以及軍事科學諸領域中得到了廣泛的應用。為了說明點的位置、運動的快慢、方向等,必須選取其坐標系。在參照系中,為確定空間一點的位置,按規定方法選取的有次序的一組數據,這就叫做“坐標”。在某一問題中規定坐標的方法,就是該問題所用的坐標
5、系。坐標系的種類很多,常用的坐標系有:笛卡爾直角坐標系、平面極坐標系、柱面坐標系(或稱柱坐標系)和球面坐標系(或稱球坐標系)等。在一個國家或一個地區范圍內統一規定地圖投影的經緯線作為坐標軸,以確定國家或某一地區所有測量成果在平面或空間上的位置的坐標系統。圖 1-1 為高斯投影坐標系。圖 1-1高斯投影坐標系測繪常用的坐標系統有北京1954坐標系統、西安1980坐標系統、WGS-1984坐標系統以及CGCS2000坐標系統,再加上地方常用的坐標系統。在工程應用中我們經常會遇到已知坐標不是此工程所涉及到的坐標系統,為此大大影響到工程的進度。所以我們急需采用坐標轉換的方法求,把已知點坐標轉換到我們需
6、要的坐標系統中去。這就是坐標轉換的意義。第 二 章 坐標系統2.1坐標系統簡介由物理學可知,為了說明點的位置、運動的快慢、方向等,必須選取其坐標系。在參照系中,為確定空間一點的位置,按規定方法選取的有次序的一組數據,這就叫做“坐標”。天文測量和大地測量工作中,常常把想象的天球和地球(橢球)作為參考系,并在天球和地球(橢球)上簡歷了多種坐標系統。坐標系統是由坐標原點位置、坐標軸的指向和尺度三個要素決定的。坐標系統通常有三種定義方式:理論坐標系統、協定坐標系、協議坐標系。我們在測繪中常用到的是協議坐標系。按描述對向分類,可以把坐標系統分為天球坐標系統和地球(橢球)坐標系統。天球坐標系天球坐標系是利
7、用基本星歷表的數據把基本坐標系固定在天球上,星歷表中列出一定數量的恒星在某歷元的天體赤道坐標值,以及由于歲差和自轉共同影響而產生的坐標變化。常用的天球坐標系:天球赤道坐標系、天球地平坐標系和天文坐標系。在天球坐標系中,天體的空間位置可用天球空間直角坐標系或天球球面坐標系兩種方式來描述。1. 天球空間直角坐標系的定義地球質心O為坐標原點,Z軸指向天球北極,X軸指向春分點,Y軸垂直于XOZ平面,與X軸和Z軸構成右手坐標系。則在此坐標系下,空間點的位置由坐標(X,Y,Z)來描述。2天球球面坐標系的定義地球質心O為坐標原點,春分點軸與天軸所在平面為天球經度(赤經)測量基準基準子午面,赤道為天球緯度測量
8、基準而建立球面坐標。空間點的位置在天球坐標系下的表述為(r,)。天球空間直角坐標系與天球球面坐標系的關系可用圖2-1表示:圖2-1 天球直角坐標系與球面坐標系對同一空間點,天球空間直角坐標系與其等效的天球球面坐標系參數間有如下轉換關系: (2-1) 式中,(2-2)2.1.2地球坐標系地球坐標系有兩種幾何表達方式,即地球直角坐標系和地球大地坐標系。地球直角坐標系的定義地球直角坐標系的定義是:原點O與地球質心重合,Z軸指向地球北極,X軸指向地球赤道面與格林尼治子午圈的交點,Y軸在赤道平面里與XOZ構成右手坐標系。地球大地坐標系的定義地球大地坐標系的定義是:地球橢球的中心與地球質心重合,橢球的短軸
9、與地球自轉軸重合。空間點位置在該坐標系中表述為(L,B,H)。地球直角坐標系和地球大地坐標系可用圖2-2表示:圖2-2 地球直角坐標系和大地坐標系2.2參心系與地心系參心系大地坐標系是一種固定在地球上,隨地球一起轉動的非慣性坐標系。大地坐標系根據其原點的位置不同,分為地心坐標系和參心坐標系。地心坐標系的原點與地球質心重合,參心坐標系的原點與某一地區或國家所采用的參考橢球中心重合,通常與地球質心不重合。我國先后建立的1954年北京坐標系、1980西安坐標系和新1954年北京坐標系,都是參心坐標系。這些坐標系為我國經濟社會發展和國防建設作出了重要貢獻。但是,隨著現代科技的發展,特別是全球衛星定位技
10、術的發展和應用,世界上許多發達國家和中等發達國家都已在多年前就開始使用地心坐標系。 地心系以地球質心為原點建立的空間直角坐標系,或以球心與地球質心重合的地球橢球面為基準面所建立的大地坐標系。以地球質心(總橢球的幾何中心)為原點的大地坐標系。通常分為地心空間直角坐標系 (以x,y,z為其坐標元素)和地心大地坐標系 (以B,L,H為其坐標元素)。地心坐標系是在大地體內建立的O-XYZ坐標系。原點O設在大地體的質量中心,用相互垂直的X,Y,Z三個軸來表示,X軸與首子午面與赤道面的交線重合,向東為正。Z軸與地球旋轉軸重合,向北為正。Y軸與XZ平面垂直構成右手系。2.3常用的坐標系統我國常用的坐標系統有
11、:1大地坐標系統,2、WGS84坐標系,3、ITRF框架4、BJ54坐標系,5.XIAN80坐標系,6、新BJ54坐標系,7、CGCS2000坐標系統2.3.1大地坐標系統大地坐標系統是表示點在大地坐標系中的位置,用經度、緯度和高程表示(1)經、緯度經緯度有天文經緯度和大地經緯度之分。天文經、緯度用表示,以鉛垂線為基準線,用天文測量方法測定。在測量學中常用到的是大地經緯度。大地經、緯度用L、B表示,以地球橢球的發現為計算的基準線,用大地測量的方法計算得到。大地 同一點的天文經緯度和大地經緯度不相同,原因在于同點上的鉛垂線和地球橢球的法線不相重合。兩者產生的夾角稱之為垂線偏差。大地坐標系是采用大
12、地緯度、經度和大地高程來描述空間位置的。緯度是空間的點與參考橢球面的法線與赤道面的夾角;經度是空間的點與參考橢球的自轉軸所在的面與參考橢球的起始子午面的夾角;大地高斯空間的點沿著參考橢球的法線方向到參考橢球面的距離。2.3.2、WGS84坐標系WGS-84的定義:WGS-84是修正NSWC9Z-2參考系的原點和尺度變化,并旋轉其參考子午面與BIH定義的零度子午面一致而得到的一個新參考系,WGS-84坐標系的原點在地球質心,Z軸指向BIH1984.0定義的協定地球極(CTP)方向,X軸指向BIH1984.0的零度子午面和CTP赤道的交點,Y軸和Z、X軸構成右手坐標系。它是一個地固坐標系。WGS-
13、84橢球及其有關常數:WGS-84采用的橢球是國際大地測量與地球物理聯合會第17屆大會大地測量常數推薦值,其四個基本參數長半徑:a=6378137±2(m);地球引力常數:GM=3986005×108m3s-2±0.6×108m3s-2;正常化二階帶諧系數:C20=-484.16685×10-6±1.3×10-9; J2=108263×10-8地球自轉角速度:=7292115×10-11rads-1±0.150×10-11rads-1建立WGS-84世界大地坐標系的一個重要目的,是在世
14、界上建立一個統一的地心坐標系。2.3.3、ITRF框架ITRF,International Terrestrial Reference Frame,國際地球參考框架。它是由國際地球自轉服務局(IERS) 按一定要求建立地面觀測臺站進行空間大地測量,并根據協議地球參考系的定義,采用一組國際推薦的模型和常數系統對觀測數據進行處理,解算出各觀測臺站在某一歷元的坐標和速度場,由此建立的一個協議地球參考框架。它是協議地球參考系(CTRS,Conventional Terrestrial Reference System)的具體實現。CTRS由原點、定向、尺度和時變四個基本元素來定義,各元素定義如下:1)
15、原點定為包括海洋和大氣的地球質量中心;2)定向采用國際時間局(BIH,Bureau International de IHeure)1984.0結果;3)尺度是廣義相對論意義下,局部地球框架的尺度;4)時變遵循地殼板塊運動相對于地球整體無旋轉,即地殼不受剩余地球自轉的影響。ITRF每年通過IERS技術文件向世界各國有關機構公布ITRFyy。年序yy指明了ITRF在框架形成過程中,使用的有效數據所至的最終年代,如ITRF97表明以坐標和速率表示的框架,所利用的有效數據一直到1997年。ITRF采用了VLB I(甚長基線干涉)、SLR(激光測衛)、LLR(激光測月)、DOR IS(多普勒衛星跟蹤和
16、無線電定位系統)和GPS(全球定位系統)等多種空間大地測量技術,它是綜合多個數據分析中心的解算結果,由一系列測站相對于某一參考歷元的坐標和位移速度構成 ,即它是通過一組固定于地球表面而且只作線性運動的大地點的坐標及坐標變化速率組成。2.3.4、BJ54坐標系該坐標系源自于原蘇聯采用過的1942年普爾科夫坐標系。該坐標系采用的參考橢球是克拉索夫斯基橢球,該橢球的參數為:a=6378245 f=1/298.3 BJ54坐標系的缺點: 自 P54建立以來,在該坐標系內進行了許多地區的局部平差,其成果得到了廣泛的應用。但是隨著測繪新理論、新技術的不斷發展,人們發現該坐標系存在如下缺點: 1、 橢球參數
17、有較大誤差。克拉索夫斯基橢球差數與現代精確的橢球參數相比,長半軸約大109m。 2、 參考橢球面與我國大地水準面存在著自西向東明顯的系統性的傾斜,在東部地區大地水準面差距最大達+60m。這使得大比例尺地圖反映地面的精度受到影響,同時也對觀測量元素的歸算提出了嚴格的要求。 3、 幾何大地測量和物理大地測量應用的參考面不統一。我國在處理重力數據時采用赫爾默特19001909年正常重力公式,與這個公式相應的赫爾默特扁球不是旋轉橢球,它與克拉索夫斯基橢球是不一致的,這給實際工作帶來了麻煩。 4、 定向不明確。橢球短半軸的指向既不是國際是普遍采用的國際協議(原點)CIO(Conventional Int
18、ernational Origin),也不是我國地極原點JYD1968.0;起始大地子午面也不是國際時間局BIH(Bureau International de I Heure)所定義的格林尼治平均天文臺子午面,從而給坐標換算帶來一些不便和誤差。 為此,我國在1978年在西安召開了“全國天文大地網整體平差會議”,提出了建立屬于我國自己的大地坐標系,即后來的1980西安坐標系。但時至今日,北京54坐標系仍然是在我國使用最為廣泛的坐標系。2.3.5.XIAN80坐標系1980年西安大地坐標系統所采用的地球橢球參數采用了IAG 1975年的推薦值,它們是: a=6378140 f =1/298.25
19、7 大地原點:我國中部陜西涇陽縣永樂鎮。橢球的短軸平行于地球的自轉軸(由地球質心指向1968.0 JYD地極原點方向),起始子午面平行于格林尼治平均天文子午面,橢球面同似大地水準面在我國境內符合最好,高程系統以1956年黃海平均海水面為高程起算基準。 因1980年國家大地坐標系天文大地網整體平差,而1954年北京大地坐標系屬局部平差,使兩系統的坐標值存在偶然差(也包括局部性系統差)。兩系統間的差異,使地形圖圈廓線位置發生變化,按1980年國家大地坐標系測的圖與按1954年北京坐標系測的圖,在接邊處會產生裂隙,這給實際工作帶來不便。經分析,差值主要來自橢球參數和定位改變而產生的系統差部分。2.3
20、.6、新BJ54坐標系為此,有關部門提出,將全國天文大地網整體平差的結果,通過1980年國家大地坐標系的定位參數dX、dY、dZ(表示克拉索夫斯基橢球中心相對于1975年國際橢球中心的三個坐標分量)和與克拉索夫斯基橢球參數da、d,整體換算到克拉索夫斯基橢球體上,形成一個新的坐標系。有稱為54向80過渡坐標系,有的稱1954年北京坐標系(整體平差轉換值),但習慣上稱新1954年北京坐標系。橢球的幾何參數與克氏橢球一樣,而定位與定向的依據又完全與80坐標系一樣。新54與舊54比較:兩系統同一點坐標的不同主要是由于一個是全國統一平差的結果,另一個是局部平差的結果。新54與80坐標系比較:兩系統同一
21、點坐標的不同主要是由于兩系統定義不同產生的系統差。2.3.7、CGCS2000坐標系統CGCS2000是以ITRF參考框架為基準,通過我國GPS連續運行基準站、空間大地控制網以及天文大地網與空間大地網聯合平差建立的地心大地坐標系統。2000國家大地坐標系的原點為包括海洋和大氣的整個地球的質量中心;2000國家大地坐標系的Z軸由原點指向歷元2000.0的地球參考極的方向,該歷元的指向由國際時間局給定的歷元為1984.0的初始指向推算,定向的時間演化保證相對于地殼不產生殘余的全球旋轉,X軸由原點指向格林尼治參考子午線與地球赤道面(歷元2000.0)的交點,Y軸與Z軸、X軸構成右手正交坐標系。采用廣
22、義相對論意義下的尺度。2.4 地方獨立坐標系在生產實際中,我們通常把控制網投影到當地平均海拔高程面上,并以當地子午線作為中央子午線進行高斯投影建立地方獨立坐標系。地方獨立坐標系隱含一個與當地平均海拔高程對應的參考橢球地方參考橢球。地方參考橢球的中心、軸向和扁率與國家參考橢球相同,其長半徑則有一改正量。設地方獨立坐標系位于海拔高程為h的曲面上,該地方的大地水準面差距為,則該曲面離國家參考橢球的高度為:(2-3)又由獨立坐標系的定義知:(2-4)于是,地方參考橢球和國家參考橢球的關系可以表述為:中心一致: (2-5)軸向一致:(2-6) 扁率相等:(2-7)長半徑有一增量:(2-8) 第三章坐標轉
23、換的理論基礎坐標轉換問題的詳細了解對于測量很重要。首先,我們要弄清楚幾種坐標表示方法。大致有三種坐標表示方法:經緯度和高程,空間直角坐標,平面坐標和高程。我們通常說的WGS-84坐標是經緯度和高程這一種,北京54坐標是平面坐標和高程著一種。現在,再搞清楚轉換的嚴密性問題,在同一個橢球里的轉換都是嚴密的,而在不同的橢球之間的轉換是不嚴密的。舉個例子,在WGS-84坐標和北京54坐標之間是不存在一套轉換參數可以全國通用的,在每個地方會不一樣,因為它們是兩個不同的橢球基準。那么,兩個橢球間的坐標轉換應該是怎樣的呢?一般而言比較嚴密的是用七參數法(包括布爾莎模型,一步法模型,海爾曼特等),即X平移,Y
24、平移,Z平移,X旋轉,Y旋轉,Z旋轉,尺度變化K。要求得七參數就需要在一個地區需要3個以上的已知點,如果區域范圍不大,最遠點間的距離不大于30Km(經驗值),這可以用三參數(莫洛登斯基模型),即X平移,Y平移,Z平移,而將X旋轉,Y旋轉,Z旋轉,尺度變化K視為0,所以三參數只是七參數的一種特例。在本軟件中提供了計算三參數、七參數的功能。在一個橢球的不同坐標系中轉換可能會用到平面轉換,現階段一般分為四參數和平面網格擬合兩種方法,以四參數法在國內用的較多,舉個例子,在深圳既有北京54坐標又有深圳坐標,在這兩種坐標之間轉換就用到四參數,計算四參數需要兩個已知點。更精確的可以提供網格擬合數據,本軟件提
25、供計算和應用四參數的功能,也提供了網格擬合的功能。另外,還有高程擬合的問題,大地水準面模型在國內用戶中很少會用到,但在國際上已經是標準之一。3.1大地坐標系統與空間直角坐標系統的轉換原理設地面點P的坐標為B、L、H,空間直角坐標為X、Y、Z,坐標轉換關系為:(3-1)式中,(3-2)(3-3)e為第一偏心率。由空間直角坐標轉換為大地坐標通常采用下式:(3-4)式中,(3-5)用上式計算大地緯度時,先對式右端的B設定近似值,用逐次趨近法求B值,直到兩次求得的B值之差小于限差為止。3.2空間直角坐標系統的相互轉換原理地心坐標系和參心坐標系之間的轉換,可采用布爾莎7參數模型轉換。假設為參心空間直角坐
26、標向量;為地心空間直角坐標向量;為其間的定位(平移)參數向量;為其間的定向(旋轉)參數向量;則兩種坐標系之間轉換的(布爾莎7參數法)公式為:(3-6)式中為三個坐標軸的旋轉角度參數;dK為尺度比變換參數。上式適用于任意兩個空間直角坐標系統間的相互轉換。若把該式的認為是地面參心坐標系,而是GPS測量用的WGS-84坐標系,則它便是將GPS觀測坐標值向地面參心坐標系轉換的公式,若將地面參心坐標系轉換為地心坐標系,只需將轉換參數的符號改變即可。第四章 基于VB的坐標轉換4.1 VB簡介VB是Microsoft公司于1991年推出的基于窗口的可視化程序設計語言。既繼承了Basic語言易學、易用的優點,
27、其編程系統又引入了面向對象的機制和可視化設計方法。極大地降低了開發Windows應用程序的難度,使程序開發的效率大大提高。VB6.0有三種基本版本:·學習版。是VB6.0的基本版本。·專業版。為專業編程人員提供了一整套功能完備的開發工具,包括學習版的全部功能以及Activex控件、Internet控件等。·企業版。使得專業編程人員能夠開發強大的組內分布式應用程序。該版本包括專業版的全部功能以及Back Office工具。4.2系統開發語言的選擇VB6.0道路放樣程序具有很強的開放性。這兒的開放性是指在開發環境的選擇上可以有VBA、VB、VC.net 、VC+、VC
28、.net、DELPHI、JAVA等多種支持COM標準的開發語言。選用VB 6.0作為系統的開發語言是基于以下特點考慮:(1)面向對象 VB采用了面向對象的程序設計思想。它的基本思路是把復雜的程序設計問題分解為一個個能夠完成獨立功能的相對簡單的對象集合,所謂“對象”就是一個可操作的實體,如窗體、窗體中的命令按鈕、標簽、文本框等。面向對象的編程就好像搭積木一樣,程序員可根據程序和界面設計要求,直接在屏幕上“畫出”窗口、菜單、按鈕等不同類型的對象,并為每個對象設置屬性。(2)事件驅動 在Windows環境下,程序是以事件驅動方式運行的,每個對象都能響應多個不同的
29、事件,每個事件都能驅動一段代碼事件過程,該代碼決定了對象的功能。通常稱這種機制為事件驅動。事件可由用戶的操作觸發,也可以由系統或應用程序觸發。例如,單擊一個命令按鈕,就觸發了按鈕的Click(單擊)事件,該事件中的代碼就會被執行。若用戶未進行任何操作(未觸發事件),則程序就處于等待狀態。整個應用程序就是由彼此獨立的事件過程構成。(3)軟件的集成式開發 VB為編程提供了一個集成開發環境。在這個環境中,編程者可設計界面、編寫代碼、調試程序,直至把應用程序編譯成可在Windows中運行的可執行文件,并為它生成安裝程序。VB的集成開發環境為編程者提供了很大的方便。(4)結構化的程序設計語言 VB具有豐
30、富的數據類型,是一種符合結構化程序設計思想的語言,而且簡單易學。此外作為一種程序設計語言,VB還有許多獨到之處。(5)強大的數據庫訪問功能 VB利用數據控件可以訪問多種數據庫,VB 6.0提供的ADO控件,不但可以用最少的代碼實現數據庫操作和控制,也可以取代Data控件和RDO控件。 (6)支持對象的鏈接與嵌入技術 VB的核心是對對象的鏈接與嵌入(OLE)技術的支持,它是訪問所有對象的一種方法。利用OLE技術,能夠開發集聲音、圖像、動畫、字處理、Web等對象于一體的程序。(7)網絡功能 VB 6.0提供了網絡設計工具。利用這種技術可以動態創建和編輯Web頁面,使用戶在VB中開發多功能的網絡應用
31、軟件。 (8)多個應用程序向導VB提供了多種向導,如應用程序向導、安裝向導、數據對象向導和數據窗體向導,通過它們可以快速地創建不同類型、不同功能的應用程序。 (9)支持動態交換、動態鏈接技術 通過動態數據交換(DDE)的編程技術,VB開發的應用程序能與其他Windows應用程序之間建立數據通信。通過動態鏈接庫技術,在VB程序中可方便地調用用C語言或匯編語言編寫的函數,也可調用Windows的應用程序接口(API)函數。(lO)聯機幫助功能 在VB中,利用幫助菜單和F1功能鍵,用戶可隨時
32、方便地得到所需要的幫助信息。VB幫助窗口中顯示了有關的示例代碼,通過復制、粘貼操作可獲取大量的示例代碼,為用戶的學習和使用提供方便。4.3利用VB實現空間直角坐標系統的相互轉換基于VB程序設計的前提是要有每個坐標系的各項參數和轉換公式,通過第三章的講解,我們已經大概掌握了。首先,打開VB6.0 ,進入VB6.0的主界面,選擇”標準EXE”(如圖4-1)。圖4-1通過坐標的工具欄設計程序的主界面(如圖4-2),圖4-2進入代碼編輯界面,定義大地坐標系統和空間直角坐標系統的坐標大地坐標系統代碼如下:'空間大地坐標系 Public b As Double Public l As Double
33、Public H As Double空間直角坐標系代碼如下:'空間直角坐標系 Public x As Double Public y As DoublePublic Z As Double在整個程序的設計過程中經常會用到關于角度的轉換,所以我們定義了角度轉換的語句:Public Function Angular_Radian(Angular As Double) As Double '度小數化弧度Angular_Radian = Angular * PI / 180End FunctionPublic Function Radian_Angular(Radian As Doub
34、le) As Double '弧度化度小數Radian_Angular = Radian * 180 / PIEnd FunctionPublic Function DMS_Angular(DMS As Double) As Double '度分秒化度小數Dim D As Double, M As Double, S As DoubleDim tDMS As Double, tS As DoubleIf DMS = 0 Then DMS_Angular = 0: Exit FunctiontDMS = DMS * 10000S = Val(Right(CStr(Int(tDMS
35、), 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 / 3600End FunctionPublic Function Angular_DMS(Angular As Double) As Double '度小數化度分秒Dim D As Double, M As Double, S As DoubleD = Int(Angular)M = Int(Angular
36、 - D) * 60) / 100S = (Angular - D - M * 100 / 60) * 3600 / 10000Angular_DMS = D + M + SEnd Function計算計算卯酉圈半徑N如下:Public Function GetN(a As Double, b As Double, RB As Double) As Double '計算卯酉圈半徑NDim e2 As Doublee2 = GetE2(a, b)GetN = a / Sqr(1 - e2 * (Sin(RB) 2)End Function計算公式如下:Public Function Ge
37、tE2(a As Double, b As Double) As Double '計算e2GetE2 = (a 2 - b 2) / a 2End Function在此,最重要的就是坐標轉換的公式了,代碼如下:空間大地坐標系轉換空間直角坐標系(a為地球長半軸,b為地球短半軸)Public Sub BLH_XYZ(RBLH As BLH, a As Double, b As Double) '空間大地坐標系轉換空間直角坐標系(a為地球長半軸,b為地球短半軸)Dim e2 As Double, N As Double'Dim BtoX As New XYZe2 = GetE
38、2(a, b)N = GetN(a, b, RBLH.b)BtoX.x = (N + RBLH.H) * Cos(RBLH.b) * Cos(RBLH.l)BtoX.y = (N + RBLH.H) * Cos(RBLH.b) * Sin(RBLH.l)BtoX.Z = (N * (1 - e2) + RBLH.H) * Sin(RBLH.b)End Sub關于空間直角坐標系轉換空間大地坐標系,我們才用的是迭代法,代碼如下:Public Sub XYZ_BLH(IXYZ As XYZ, a As Double, b As Double) '空間直角坐標系轉換空間大地坐標系(迭代法)Di
39、m e2 As Double, N As DoubleDim tB As Double, tH As Double, Lb As Double, lH As Doublee2 = GetE2(a, b)If IXYZ.x = 0 ThenXtoB.l = PI / 2ElseXtoB.l = Atn(IXYZ.y / IXYZ.x)End IfIf IXYZ.x = 0 And IXYZ.y = 0 ThenXtoB.b = PI / 2N = GetN(a, b, XtoB.b)XtoB.H = IXYZ.Z / Sin(XtoB.b) - N * (1 - e2)ElsetB = Atn(
40、IXYZ.Z / Sqr(IXYZ.x 2 + IXYZ.y 2)mGoTo:N = GetN(a, b, tB)tH = Sqr(IXYZ.x 2 + IXYZ.y 2) / Cos(tB) - NLb = Atn(IXYZ.Z + N * e2 * Sin(tB) / Sqr(IXYZ.x 2 + IXYZ.y 2)If Abs(Lb - tB) > 1E-99 ThentB = LbGoTo mGoToElseXtoB.b = LbN = GetN(a, b, XtoB.b)XtoB.H = Sqr(IXYZ.x 2 + IXYZ.y 2) / Cos(XtoB.b) - NEnd
41、 IfEnd IfEnd Sub根據上述的設計語句,我們可以通過調用函數的方法實現坐標轉換的操作,代碼如下:Public BtoX As New XYZPublic XtoB As New BLHPublic pi As DoublePublic Sub Command1_Click()Dim a As Double, b As Doublea = 6378245b = 6354950Dim pBLH As New BLHDim pXYZ As New XYZIf Option1.Value = True ThenpBLH.b = Val(Me.Text1.Text)pBLH.l = Val(
42、Me.Text2.Text)pBLH.H = Val(Me.Text3.Text)Call BLH_XYZ(pBLH, a, b)pXYZ.x = BtoX.xpXYZ.y = BtoX.ypXYZ.Z = BtoX.ZMe.Text4.Text = Str(pXYZ.x)Me.Text5.Text = Str(pXYZ.y)Me.Text6.Text = Str(pXYZ.Z)End IfIf Option2.Value = True ThenBtoX.x = Val(Me.Text4.Text)BtoX.y = Val(Me.Text5.Text)BtoX.Z = Val(Me.Text6
43、.Text)Call XYZ_BLH(BtoX, a, b)Dim w As DoubleXtoB.l = Radian_Angular(XtoB.l)XtoB.l = Angular_DMS(XtoB.l)XtoB.b = Radian_Angular(XtoB.b)XtoB.b = Angular_DMS(XtoB.b)pXYZ.x = XtoB.bpXYZ.y = XtoB.lpXYZ.Z = XtoB.HpXYZ.x = Format(XtoB.b, "#.00000000 ")pXYZ.y = Format(XtoB.l, "#.00000000 &qu
44、ot;)pXYZ.Z = Format(XtoB.H, "#.00000000 ")Me.Text1.Text = Str(pXYZ.x)Me.Text2.Text = Str(pXYZ.y)Me.Text3.Text = Str(pXYZ.Z)End IfEnd Sub程序設計好之后就是要檢驗坐標轉換是否成功了,我們找來了一個已知點。在空間直角坐標系統下的坐標值:X=2558068.045186Y=423173.403201Z=200在空間大地坐標系統的坐標值為:B=000:00.26961279NL=009:23.59186463EH=-3785303.049735在文本框輸入已知點的坐標,檢測該點在另外一個坐標系的坐標是否正確:首先從空間直角坐標系統轉換到空間大地坐標系統,結果如下(圖4-3):圖4-3基本上滿足該點在空間大地坐標系統中的坐標值。第五章結論工程施工過程中,常常
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北省省級聯測2024-2025學年高二下學期6月期末考試地理試卷(含答案)
- 部編版四年級上冊第五單元《麻雀》教案
- 山東考生歷史題目及答案
- 日語會話類題目及答案
- 平面與立體相交2
- 2023-2024學年湖北省武漢市武昌區高二下學期6月期末考試數學試題(解析版)
- 2025屆廣東省廣州市高三下學期一模考試語文試題(解析版)
- 環境工程經濟分析課件
- 合成樹脂乳液內墻涂料產品質量河南省監督抽查實施細則
- 拖拉機產品質量監督抽查實施細則
- 2025-2030工程監理行業市場深度分析及競爭格局與投資價值研究報告
- GB 10770-2025食品安全國家標準嬰幼兒罐裝輔助食品
- 單病種質量管理實施方案
- Unit9SectionB2a-2e課件-人教版八年級英語下冊
- KRONES灌裝檢測工作原理及工藝參數調整
- SJG 01-2010 深圳市地基基礎勘察設計規范
- 裝修業務居間推廣合同
- 物業維修流程培訓
- 大學美育(同濟大學)學習通測試及答案
- 2024年中考模擬試卷數學(湖南卷)
- 醫院培訓課件:《便攜式血糖儀臨床操作和質量管理》
評論
0/150
提交評論