牛 亮 杜艷琴
(陜西華地勘察設計咨詢有限公司,陜西 西安710020)
在很多行業中都會用到地圖,如土地利用規劃圖、現狀圖等。對于地圖中空間信息都是基于某個坐標系統進行量算的。在現實中,數據存在不同的坐標系統,如西安80坐標系、北京54坐標系,WGS84坐標系以及獨立地方坐標及各種城建坐標。即使是同一坐標系,其坐標的表示方式又有空間直角坐標、大地坐標、平面坐標等。因此需要將地圖數據從一種坐標系轉換成另外一種坐標系才能滿足工作的需要,如何進行坐標轉換并保證信息缺失較少或轉換后的地圖精度能滿足工作需要?
坐標系轉換包括不同的參心坐標間的轉換,地心坐標系間的轉換,參心坐標系與地心坐標系間的轉換、相同坐標系的直角坐標(XYZ)與大地坐標(BLH)之間的坐標轉換,還有大地坐標與高斯平面坐標之間的轉換等。
本文主要研究的是不同橢球參考系下的空間直角坐標轉換問題。傳統方法主要有三參數和七參數轉換法,其中精度較高的是七參數法。目前比較成熟的轉換模型有布爾沙-沃爾夫模型、莫洛金斯基模型及中國的武測模型等。這些模型從形式上看略有差別,但轉換結果是一樣的。這類模型共有7個轉換參數,即三個平移參數,三個旋轉參數和一個尺度參數,根據具體情況可以減少這些參數以簡化計算,這樣就產生了三參數法和七參數法。一般情況下可以根據三個公共點坐標求出七個轉換參數。
WGS84與西安80坐標的轉換步驟:
1)(B,L)84—(X,Y,Z)84,空間大地坐標到空間直角坐標的轉換。
2)(X,Y,Z)84—(X,Y,Z)80,坐標基準的轉換,三參數法、七參數法。
3)(X,Y,Z)80—(B,L)80,空間直角坐標到空間大地坐標的轉換。
4)(B,L)80—(x,y)80, 高斯投影正算。
其中,第二步中轉換參數的計算是最關鍵的,通常是在工作區內,利用三個以上已知點的西安80坐標和所測的WGS84坐標,通過布爾沙-沃爾夫模型、莫洛金斯基模型及中國的武測模型等來求解七參數。在ArcGIS中提供了三參數和七參數轉換法。
ArcGIS空間校正(spatial adjustment)是將沒有坐標信息、坐標丟失或者被修改的數據校正到一定坐標下的過程。
該方法的原理:在需要轉換坐標區域獲取相同控制點的WGS84坐標和西安80坐標,一般來說可以通過GPS接收機采集WGS84坐標,而控制點的西安80坐標必須是已知的,可從測繪部門獲取,也可從西安80坐標地圖上選取。通過動態投影的方法將WGS84坐標的矢量數據定義坐標轉為80坐標(在ArcGIS中改變定義坐標并不改變坐標值)。將兩種坐標的控制點加載到ArcMAP中,并利用空間校正工具建立兩種坐標間的一對一鏈接文件,最后利用鏈接文件并選擇校正方法對已進行過動態投影的WGS84矢量數據進行校正。這樣就完成了將WGS84坐標轉換成西安80坐標的過程。
實現步驟如下:
1)控制點坐標獲取;
2)動態投影:建立個人數據庫并建立坐標系統為WGS84的數據集,導入80坐標系的矢量數據,再導出坐標定義為WGS84坐標的矢量數據 (注意導出的必須是數據框或者是要導入的要素數據集的選項);
3)建立西安80坐標和WGS84坐標的控制點要素層,并輸入相應的坐標數據;
4)建立WGS84坐標到西安80坐標的控制點一對一的鏈接文件;
5)選擇校正方法并對已經動態投影的矢量數據進行空間校正。
其中,該過程的關鍵步驟是第四、五步,控制點坐標必須是相同控制點一對一對應,鏈接方向是WGS84坐標到西安80坐標。還有校正方法必須選擇正確,不同情況下選擇不同的校正變換方法。
在ArcGIS 10中只需兩步就能夠從WGS84坐標轉換為西安80坐標。以陜西省基準地價數據庫(以下簡稱省數據庫)為例詳述轉換過程。省數據庫不同市、縣(區)采用的坐標系統并不統一,有些為北京54坐標系,有些為地方獨立坐標系,更多的地方所采用的西安80坐標系,為了項目需要,在此我們將省數據庫的坐標系統一轉為WGS84坐標。
由于Google Earth影像圖 (簡稱影像圖)上的坐標為WGS84坐標,因此,根據影像圖和矢量圖上選取同名點作為轉換坐標的控制點。
七參數轉換法步驟如下:
1)計算七參數
ArcGIS軟件本身不能計算七參數,需借助COORD軟件。求七參數時要注意源坐標和目標坐標的選擇,源坐標為經緯度,目標坐標為XY坐標,在求七參數是可以反過來求,輸入WGS84坐標后再輸入西安80坐標,求得七參數再求其相反數即是80坐標轉換成WGS84坐標的七參數。
2)創建七參數地理坐標轉換
在ArcGIS10中打開ArcToolbox中的數據管理工具->投影和變換中打開創建自定義地理(坐標)變換工具。在地理(坐標)變換名稱中輸入一個轉換名稱,如xian80TOwgs84_咸陽市區;在輸入地理坐標系中輸入源坐標系名稱,在輸出地理坐標系中輸入目標坐標系名稱;在方法中選擇COORDINATE_FRAME或者POSITION_VECTOR,然后輸入之前求解的七參數。
3)對源數據進行坐標轉換
在ArcGIS10中打開投影工具。輸入要轉換的數據及轉換后的名稱,并在輸出坐標系中輸入要轉換成的坐標系統如:Xian_1980_3_Degree_GK_Zone_36。在地理(坐標)變換中選擇剛才自定義的地理變換xian80TOwgs84_咸陽市區。點擊確定完成坐標轉換。
這種方法的關鍵是在谷歌地球和源矢量數據上找同名點,位置越精確,其精度越高,實現步驟如下:
1)動態投影
建立數據庫并建立坐標系統為WGS84的數據集,導入西安80坐標系的源矢量數據,再導出矢量數據(導出的必須是數據框或是要導入的要素數據集的選項),這樣導出的矢量數據的定義坐標就變為WGS84坐標系統。
2)控制點坐標的選取
在數據庫中建立坐標系統為西安80坐標的控制點要素層。根據谷歌地圖影像及源矢量圖找其同名點,在谷歌地圖上用新建地標工具標定控制點(如圖1所示),同時將源矢量數據作為地圖在ArcGIS上的80控制點要素層上標定相同位置點。控制點選取時位置要選在明顯地物點上,并分布均衡。將谷歌地圖上標定的控制點保存為ArcGIS可以識別的KML格式的數據,這樣就可以將選取的同名點坐標同時顯示在ArcGIS。
3)矢量數據的空間校正
根據選取的同名點,利用空間校正工具建立一對一的鏈接關系,方向為西安80坐標指向WGS84坐標。
在鏈接表中將殘差較大的點刪除,如果剩余四個點殘差仍較大時,則需重新選取控制點,直到殘差滿足精度要求為止。
校正方法一般選擇仿射變換,利用控制點形成的鏈接文件對已進行過動態投影的源矢量數據進行空間校正,這樣就完成了西安80坐標向WGS84坐標的轉換
為了檢驗轉換效果,可以將轉換好的數據生成KMZ文件,在谷歌地球中加載和影像圖對比,以查看轉換后矢量數據與影像是否能套合(如圖 2)。

圖1 控制點標定

圖2 轉換結果
上述兩種方法均可以實現坐標轉換,精度也可以滿足要求。但從其過程來看,兩種方法的工作效率不同。七參數轉換方法需要專門的軟件計算七參數,中間的步驟較多,較為復雜,花費的時間較長,效率較低,且對源數據的精度要求較高,而且不適用于地方獨立坐標。而空間校正的方法效率則較高,且簡單易行,任何坐標都可以轉換,即使源數據發生了偏移也可以保證坐標正確轉換,這也是實際工作中采取的方法,經實踐證明只要源矢量數據坐標精度高的情況下坐標轉換的精度較高。