GIS中座標系定義及轉換

 

1. 橢球體、基準面及地圖投影

 

GIS中的座標系定義是GIS系統的基礎,正確定義GIS系統的座標系非常重要。GIS中的座標系定義由基準面和地圖投影兩組參數確定,而基準面的定義則由特定橢球體及其對應的轉換參數確定,因此欲正確定義GIS系統座標系,首先必須弄清地球橢球體(Ellipsoid)、大地基準面(Datum)及地圖投影(Projection)三者的基本概念及它們之間的關係。

 

基準面是利用特定橢球體對特定地區地球表面的逼近,因此每個國家或地區均有各自的基準面,我們通常稱謂的北京54座標系、西安80座標系實際上指的是我國的兩個大地基準面。我國參照前蘇聯從1953年起採用克拉索夫斯基(Krassovsky)橢球體建立了我國的北京54座標系,1978年採用國際大地測量協會推薦的1975地球橢球體建立了我國新的大地座標系--西安80座標系,目前大地測量基本上仍以北京54座標系作爲參照,北京54與西安80座標之間的轉換可查閱國家測繪局公佈的對照表。 WGS1984基準面採用WGS84橢球體,它是一地心座標系,即以地心作爲橢球體中心,目前GPS測量數據多以WGS1984爲基準。

 

上述3個橢球體參數如下:

 

橢球體與基準面之間的關係是一對多的關係,也就是基準面是在橢球體基礎上建立的,但橢球體不能代表基準面,同樣的橢球體能定義不同的基準面,如前蘇聯的Pulkovo 1942、非洲索馬里的Afgooye基準面都採用了Krassovsky橢球體,但它們的基準面顯然是不同的。

 

地圖投影是將地圖從球面轉換到平面的數學變換,如果有人說:該點北京54座標值爲X=4231898,Y=21655933,實際上指的是北京54基準面下的投影座標,也就是北京54基準面下的經緯度座標在直角平面座標上的投影結果。

 

2. GIS中基準面的定義與轉換

 

雖然現有GIS平臺中都預定義有上百個基準面供用戶選用,但均沒有我們國家的基準面定義。假如精度要求不高,可利用前蘇聯的Pulkovo 1942基準面(Mapinfo中代號爲1001)代替北京54座標系;假如精度要求較高,如土地利用、海域使用、城市基建等GIS系統,則需要自定義基準面。

 

GIS系統中的基準面通過當地基準面向WGS1984的轉換7參數來定義,轉換通過相似變換方法實現,具體算法可參考科學出版社1999年出版的《城市地理信息系統標準化指南》第76至86頁。假設Xg、Yg、Zg表示WGS84地心座標系的三座標軸,Xt、Yt、Zt表示當地座標系的三座標軸,那麼自定義基準面的7參數分別爲:三個平移參數ΔX、ΔY、ΔZ表示兩座標原點的平移值;三個旋轉參數εx、εy、εz表示當地座標系旋轉至與地心座標系平行時,分別繞Xt、Yt、Zt的旋轉角;最後是比例校正因子,用於調整橢球大小。

 

 

MapX中基準面定義方法如下:

 

Datum.Set(Ellipsoid, ShiftX, ShiftY, ShiftZ, RotateX, RotateY, RotateZ, ScaleAdjust, PrimeMeridian)

 

其中參數: Ellipsoid爲基準面採用的橢球體;

ShiftX, ShiftY, ShiftZ爲平移參數;

RotateX, RotateY, RotateZ爲旋轉參數;

ScaleAdjust爲比例校正因子,以百萬分之一計;

PrimeMeridian爲本初子午線經度,在我國取0,表示經度從格林威治起算。

 

美國國家測繪局(National Imagery and Mapping Agency)公佈了世界大多數國家的當地基準面至WGS1984基準面的轉換3參數(平移參數),可從http://164.214.2.59/GandG/wgs84dt/dtp.html下載,其中包括有香港Hong Kong 1963基準面、臺灣 Hu-Tzu-Shan 基準面的轉換3參數,但是沒有中國大陸的參數。

 

實際工作中一般都根據工作區內已知的北京54座標控制點計算轉換參數,如果工作區內有足夠多的已知北京54與WGS84座標控制點,可直接計算座標轉換的7參數或3參數;當工作區內有3個已知北京54與WGS84座標控制點時,可用下式計算WGS84到北京54座標的轉換參數(A、B、C、D、E、F):x54 = AX84 + BY84 + C,y54 = DX84 + EY84 + F,多餘一點用作檢驗;在只有一個已知控制點的情況下(往往如此),用已知點的北京54與WGS84座標之差作爲平移參數,當工作區範圍不大時精度也足夠了。

 

從Mapinfo中國的URL(http://www.mapinfo.com.cn/download)可下載到包含北京54、西安80座標系定義的Mapinfow.prj文件,其中定義的北京54基準面參數爲:(3,24,-123,-94,-0.02,0.25,0.13,1.1,0),西安80基準面參數爲:(31,24,-123,-94,-0.02,0.25,0.13,1.1,0),文件中沒有註明其參數的來源,我發現它們與Mapinfo參考手冊附錄G"定義自定義基準面"中的一個例子所列參數相同,因此其可靠性值得懷疑,尤其從西安80與北京54採用相同的7參數來看,至少西安80的基準面定義肯定是不對的。因此,當系統精度要求較高時,一定要對所採用的參數進行檢測、驗證,確保座標系定義的正確性。

 

3. GIS中地圖投影的定義

 

我國的基本比例尺地形圖(1:5千,1:1萬,1:2.5萬,1:5萬,1:10萬,1:25萬,1:50萬,1:100萬)中,大於等於50萬的均採用高斯-克呂格投影(Gauss-Kruger),又叫橫軸墨卡託投影(Transverse Mercator);小於50萬的地形圖採用正軸等角割園錐投影,又叫蘭勃特投影(Lambert Conformal Conic);海上小於50萬的地形圖多用正軸等角園柱投影,又叫墨卡託投影(Mercator),我國的GIS系統中應該採用與我國基本比例尺地形圖系列一致的地圖投影系統。

 

在MapX中座標系定義由基準面、投影兩部分參數組成,方法如下:

 

CoordSys.Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude],

[StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor],

[FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform])

 

其中參數:Type表示投影類型,Type爲1時地圖座標以經緯度表示,它是必選參數,它後面的參數都爲可選參數;

Datum爲大地基準面對象,如果採用非地球座標(NonEarth)無需定義該參數;

Units爲座標單位,如Units爲7表示以米爲單位;

OriginLongitude、OriginLatitude分別爲原點經度和緯度;

StandardParallelOne、StandardParallelTwo爲第一、第二標準緯線;

Azimuth爲方位角,斜軸投影需要定義該參數;

ScaleFactor爲比例係數;

FalseEasting, FalseNorthing爲東僞偏移、北僞偏移值;

Range爲地圖可見緯度範圍;

Bounds爲地圖座標範圍,是一矩形對象,非地球座標(NonEarth)必須定義該參數;

AffineTransform爲座標系變換對象。

 

相應高斯-克呂格投影、蘭勃特投影、墨卡託投影需要定義的座標系參數序列如下:

 

高斯-克呂格:投影代號(Type),基準面(Datum),單位(Unit),

中央經度(OriginLongitude),原點緯度(OriginLatitude),

比例係數(ScaleFactor),

東僞偏移(FalseEasting),北緯偏移(FalseNorthing)

 

蘭勃特: 投影代號(Type),基準面(Datum),單位(Unit),

中央經度(OriginLongitude),原點緯度(OriginLatitude),

標準緯度1(StandardParallelOne),標準緯度2(StandardParallelTwo),

東僞偏移(FalseEasting),北緯偏移(FalseNorthing)

 

墨卡託: 投影代號(Type),基準面(Datum),單位(Unit),

原點經度(OriginLongitude),原點緯度(OriginLatitude),

標準緯度(StandardParallelOne)

 

在城市GIS系統中均採用6度或3度分帶的高斯-克呂格投影,因爲一般城建座標採用的是6度或3度分帶的高斯-克呂格投影座標。高斯-克呂格投影以6度或3度分帶,每一個分帶構成一個獨立的平面直角座標網,投影帶中央經線投影后的直線爲X軸(縱軸,緯度方向),赤道投影后爲Y軸(橫軸,經度方向),爲了防止經度方向的座標出現負值,規定每帶的中央經線西移500公里,即東僞偏移值爲500公里,由於高斯-克呂格投影每一個投影帶的座標都是對本帶座標原點的相對值,所以各帶的座標完全相同,因此規定在橫軸座標前加上帶號,如(4231898,21655933)其中21即爲帶號,同樣所定義的東僞偏移值也需要加上帶號,如21帶的東僞偏移值爲21500000米。

 

假如你的工作區位於21帶,即經度在120度至126度範圍,該帶的中央經度爲123度,採用Pulkovo 1942基準面,那麼定義6度分帶的高斯-克呂格投影座標系參數爲:(8,1001,7,123,0,1,21500000,0)。

 

那麼當精度要求較高,實測數據爲WGS1984座標數據時,欲轉換到北京54基準面的高斯-克呂格投影座標,如何定義座標系參數呢?你可選擇WGS 1984(Mapinfo中代號104)作爲基準面,當只有一個已知控制點時(見第2部分),根據平移參數調整東僞偏移、北緯偏移值實現WGS84到北京54的轉換,如: (8,104,7,123,0,1,21500200,-200),也可利用 AffineTransform座標系變換對象,此時的轉換系數(A、B、C、D、E、F)中A、B、D、E爲0,只有X、Y方向的平移值C、F ;當有3個已知控制點時,可利用得到的轉換系數(A、B、C、D、E、F)定義 AffineTransform座標系變換對象,實現座標系的轉換,如:(8,104,7,123,0,1,21500000,0,map.AffineTransform),其中AffineTransform定義爲AffineTransform.set(7,A、B、C、D、E、F)(7表示單位米);當然有足夠多已知控制點時,直接求定7參數自定義基準面就行了。

 


北京54座標到西安80座標轉換小結

1、北京54和西安80是兩種不同的大地基準面,不同的參考橢球體,因而兩種地圖下,同一個點的座標是不同的,無論是三度帶六度帶座標還是經緯度座標都是不同的。
2、數字化後的得到的座標其實不是WGS84的經緯度座標,因爲54和80的轉換參數至今沒有公佈,一般的軟件中都沒有54或80投影系的選項,往往會選擇WGS84投影。
3、WGS84、北京54、西安80之間,沒有現成的公式來完成轉換。
4、對於54或80座標,從經緯度到平面座標(三度帶或六度帶)的相互轉換可以藉助軟件完成。
5、54和80間的轉換,必須藉助現有的點和兩種座標,推算出變換參數,再對待轉換座標進行轉換。(均靠軟件實現)
6、在選擇參考點時,注意不能選取河流、等高線、地名、高程點,公路儘量不選。這些在兩幅地圖上變化很大,不能用作參考。而應該選擇固定物,如電站,橋樑等。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章