GIS中的坐标系定义与转换【转】
?
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的旋轉角;最后是比例校正因子,用于調整橢球大小。
?
美國國家測繪局(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坐標之差作為平移參數,當工作區范圍不大時精度也足夠 了。
?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系統中應該采用與我國基本比例尺地形圖系 列一致的地圖投影系統。
相應高斯-克呂格投影、蘭勃特投影、墨卡托投影需要定義的坐標系參數序列如下:
?
高斯-克呂格:投影代號(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參數自定義基準面就行了。
[ 2007-6-28 10:03:00 | By: 李聞昊 ]
源地址:http://blog.gisforum.net/u/81008/1089.html
轉載于:https://www.cnblogs.com/niceboy/archive/2007/08/09/849561.html
總結
以上是生活随笔為你收集整理的GIS中的坐标系定义与转换【转】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 治标不治本:POI Ptg错误的解决方法
- 下一篇: 基于tomcat5.5的数据库连接池环境