關(guān)于GPS坐標轉(zhuǎn)換(轉(zhuǎn))(一)說到轉(zhuǎn)換,我不得不先提幾個概念: 1. 84坐標系――美國的GPS就用這個坐標系,也就是說我們從GPS接收過來的地心大地坐標就是在這個坐標系下的; 2. 54坐標系――中國常用的坐標系,一般來說,我們就是要得到該坐標系下的平面直角坐標; 3. 地心大地坐標――就是經(jīng)緯度表示的大地位置數(shù)據(jù)(B、L、H); 4. 地心直角坐標--是以地心為原點,但表示方式采樣直角坐標(X、Y、Z); 5. 平面直角坐標――不用多解釋了,就是我們平常用來表示位置的坐標(x、y、z); 6. 橢球參數(shù)――地心大地坐標轉(zhuǎn)換到地心直角坐標需要使用的參數(shù); 7. 七參數(shù)――不同橢球系下的地心直角坐標互換所使用到的參數(shù); 8. 投影參數(shù)――同一橢球系下,地心大地坐標轉(zhuǎn)換為平面直角坐標所使用的參數(shù); 9. 四參數(shù)――同一橢球系下,不同平面坐標系之間的轉(zhuǎn)換所使用的參數(shù)。 有了以上概念,只要知道轉(zhuǎn)換過程就OK了。下面我就不羅嗦了,直接用方向線來說明過程,其中我以常用的北京54坐標系作為目標坐標系: 從GPS中接收到84坐標系下的地心大地坐標 ↓ 使用84坐標系的橢球參數(shù)轉(zhuǎn)換為84坐標系下的地心直角坐標 ↓ 使用七參數(shù)轉(zhuǎn)換為54坐標系下的地心直角坐標 ↓ 使用54坐標系的橢球參數(shù)轉(zhuǎn)換為54坐標系下的地心大地坐標 ↓ 使用投影參數(shù)轉(zhuǎn)換為54坐標系下的平面直角坐標 ↓ 使用四參數(shù)轉(zhuǎn)換為其它區(qū)域坐標系下的平面直角坐標 (二) 下面說一下84坐標系下的地心大地坐標如何使用84坐標系的橢球參數(shù)轉(zhuǎn)換為84坐標系下的地心直角坐標。 先來看看84坐標系的橢球參數(shù): 橢圓長半徑A:6378137.000000 橢圓短半徑B:6356752.314245179497 根據(jù)橢圓長短半徑,我們很容易就能算出橢圓第一偏心率e1,計算公式如下: e1 = sqrt(A×A-B×B)/ A; 注意這里sqrt是開方的意思。 OK,上面我們通過一個簡單的公式就計算出了橢圓的第一偏心率e1,下面,我們就利用這個參數(shù)把地心大地坐標轉(zhuǎn)換為地心直角坐標。 已知:B、L、H地心大地坐標 求:X、Y、Z地心直角坐標 計算步驟: 1.參數(shù)N:N=A/sqrt(1-e1×e1×sin(B)×sin(B)); 2.X:X=(N+H)×cos(B)×cos(L); 3.Y:Y=(N+H)×cos(B)×sin(L); 4.Z:Z=(N×(1-e1×e1)+H)×sin(B); 注意:BLH方式表示的大地坐標一下就轉(zhuǎn)換為XYZ表示的直角坐標了。不過大家要注意的是,就是BL這兩個數(shù)值是角度值,在C編程中,cos和sin函數(shù)要用弧度值,這個角度轉(zhuǎn)換問題要注意。 (三) 在84坐標系下如何利用84坐標系的橢球參數(shù)把地心大地坐標轉(zhuǎn)換為地心直角坐標。有了84坐標系下的地心直角坐標就可以考慮如何得到54坐標系下的地心直角坐標了(不一定是54坐標系,不過為了描述方便,我選了54坐標系而已)。 所以這次就講解一下如何把84坐標系下的地心直角坐標轉(zhuǎn)換成54坐標系下的地心直角坐標。 轉(zhuǎn)換的方法有很多,但常用的是七參數(shù)法,這個方法還有一個外文翻譯過來的名稱,但我現(xiàn)在忘記了,也懶得追查,反正是一種空間轉(zhuǎn)換方法,顧名思義,需要七個參數(shù)才能進行轉(zhuǎn)換,七個參數(shù)分別是: △X △Y △Z——三個坐標方向的平移參數(shù); αβγ——三個方向的旋轉(zhuǎn)角參數(shù) k——尺度參數(shù) 這七個參數(shù)不是固定的,而是不同的地區(qū)有不同數(shù)值,知道的當然可以直接填寫,不知道的一般就會找?guī)讉€已知地方坐標的位置獲取GPS采集的坐標再反算這七個參數(shù),如何反算以后我再寫。 閑話少說,有了七參數(shù)后,把84坐標系下的地心直角坐標轉(zhuǎn)換成54坐標系下的地心直角坐標的計算方式是: 已知:84坐標系下的地心直角坐標x,y,z 求:54坐標系下的地心直角坐標X、Y、Z X = △X + k*x - β*z + γ*y + x Y = △Y + k*y + α*z - γ*x + y Z = △Z + k*z - α*y + β*x + z 注意:里面的計算單位不要弄錯,角度就肯定是弧度的,你別用了角度之類的單位,而那個k的尺度參數(shù)單位是ppm,一般坐標都是m為單位,所以k還有除以1000000才能參與計算。 |
|
來自: 嘿嘿天亮了 > 《坐標轉(zhuǎn)換》