1. 程式人生 > >使用ArcGIS實現WGS84經緯度座標到北京54高斯投影座標的轉換

使用ArcGIS實現WGS84經緯度座標到北京54高斯投影座標的轉換

【摘 要】 本文針對從事測繪工作者普遍遇到的座標轉換問題,簡要介紹ArcGIS實現WGS84經緯度座標到北京54高斯投影座標轉換原理和步驟。
【關鍵詞】 ArcGIS 座標轉換 投影變換

  1 座標轉換簡介
  座標系統之間的座標轉換既包括不同的參心座標之間的轉換,或者不同的地心座標系之間的轉換,也包括參心座標系與地心座標系之間的轉換以及相同座標系的直角座標與大地座標之間的座標轉換,還有大地座標與高斯平面座標之間的轉換。在兩個空間角直座標系中,假設其分別為O–XYZ和O–XYZ,如果兩個座標系的原點相同,通過三次旋轉,就可以使兩個座標系重合;如果兩個直角座標系的原點不在同一個位置,通過座標軸的平移和旋轉可以取得一致;如果兩個座標系的尺度也不盡一致,就需要再增加一個尺度變化引數;而對於大地座標和高斯投影平面座標之間的轉換,則需要通過高斯投影正算和高斯投影反算,通過使用中央子午線的經度和不同的參考橢球以及不同的投影面的選擇來實現座標的轉換。
  如何使用ArcGIS實現WGS84經緯度座標到BJ54高斯投影座標的轉換?這是很多從事GIS工作或者測繪工作者普遍遇到的問題。本文目的在於幫助使用者解決這個問題。
  我們通常說的WGS-84座標是指經緯度這種座標表示方法,北京54座標通常是指經過高斯投影的平面直角座標這種座標表示方法。為什麼要進行座標轉換?我們先來看兩組引數,如表1所示:
表1 BJ54與WGS84基準引數
 
這裡寫圖片描述


很顯然,WGS84與BJ54是兩種不同的大地基準面,不同的參考橢球體,因而兩種地圖下,同一個點的座標是不同的,無論是三度帶六度帶座標還是經緯度座標都是不同的。當要把GPS接收到的點(WGS84座標系統的)疊加到BJ54座標系統的底圖上,那就會發現這些GPS點不能準確的在它該在的地方,即“與實際地點發生了偏移”。這就要求把這些GPS點從WGS84的座標系統轉換成BJ54的座標系統了。
  有關WGS84與BJ54的座標轉換問題,實質是WGS-84橢球體到BJ54橢球體的轉換問題。如果我們是需要把WGS84的經緯度座標轉換成BJ54的高斯投影座標,那就還會涉及到投影變換問題。因此,這個轉換過程,一般的GPS資料處理軟體都是採用下述步驟進行的:
  1)(B,L)84——(X,Y,Z)84,空間大地座標到空間直角座標的轉換。
  2)(X,Y,Z)84——(X,Y,Z)54,座標基準的轉換,即Datum轉換。通常有三種轉換方法:七引數、簡化三引數、Molodensky。
  3)(X,Y,Z)54——(B,L)54,空間直角座標到空間大地座標的轉換。
  4)(B,L)54——(x,y)54, 高斯投影正算。
  從以上步驟不難看出,轉換的關鍵是第二步,轉換的引數。鑑於我國曾使用不同的座標基準(BJ54、State80、Correct54),各地的重力值又有很大差異,所以很難確定一套適合全國且精度較好的轉換引數。在WGS-84座標和北京54座標之間是不存在一套轉換引數可以全國通用的,在每個地方會不一樣。
  必須瞭解,在不同的橢球之間的轉換是不嚴密的。那麼,兩個橢球間的座標轉換應該是怎樣的呢?一般而言比較嚴密的是用七引數法,即3個平移因子(X平移,Y平移,Z平移),3個旋轉因子(X旋轉,Y旋轉,Z旋轉),一個比例因子(也叫尺度變化K)。國內參數來源的途徑不多,一般當地測繪部門會有。通行的做法是:在工作區內找三個以上的已知點,利用已知點的BJ54座標和所測WGS84座標,通過一定的數學模型,求解七引數。若多選幾個已知點,通過平差的方法可以獲得較好的精度。如果區域範圍不大,最遠點間的距離不大於30Km(經驗值),這可以用三引數,即只考慮3個平移因子(X平移,Y平移,Z平移),而將旋轉因子及比例因子(X旋轉,Y旋轉,Z旋轉,尺度變化K)都視為0,所以三引數只是七引數的一種特例。北京54和西安80也是兩種不同的大地基準面,不同的參考橢球體,他們之間的轉換也是同理。在ArcGIS中提供了三引數、七引數轉換法。而在同一個橢球裡的轉換都是嚴密的,在同一個橢球的不同座標系中轉換需要用到四引數轉換,舉個例子,在深圳既有北京54座標又有深圳座標,在這兩種座標之間轉換就用到四引數,計算四引數需要兩個已知點。
  2 ArcGIS座標轉換例子
  2.1 應注意問題
  使用ArcGIS如何實現WGS84經緯度座標到BJ54高斯投影座標的轉換呢?在ArcGIS中,這個座標轉換步驟簡化了,使用者只需要兩個步驟就能夠直接從最初的WGS84經緯度座標轉換到BJ54高斯投影座標。這就是ArcGIS的強大之處。
  接下來,我們做一個例子。假設我們已經知道了7引數,應該如何操作呢?在具體的操作前,請大家一定注意以下三點:
  WGS84的經緯度座標值是用度來表示,而不能是度分秒錶示
  七引數的平移因子單位是米,旋轉因子單位是秒,比例因子單位是百萬。
在ArcGIS中,7引數法的名字是Coordinate_Frame 方法。
  有人在用ArcGIS進行不同橢球體間的座標轉換時,轉換出來的結果不對,然後就寫文章說變形如何如何,很可能是由於他們沒有注意上面這三個關鍵的問題造成的。
  2.2 轉換步驟
  a、定義7引數的地理轉換(Create Custom Geographic Transformation)
  在Arctool中開啟Create Custom Geographic Transformation工具,如圖1所示:
這裡寫圖片描述

在彈出的視窗中,輸入一個轉換的名字,如wgs84ToBJ54。在定義地理轉換方法下面,在Method中選擇合適的轉換方法如 COORDINATE_FRAME,然後輸入平移引數、旋轉角度和比例因子,如圖2所示:
這裡寫圖片描述
b、投影變換
  開啟工具箱下的Projections and Transformations>Feature>Project,在彈出的視窗中輸入要轉換的資料以及Output Coordinate System,然後輸入第一步自定義的地理座標系如wgs84ToBJ54,開始投影變換,如圖3所示:
  這裡寫圖片描述

點選“確定”,完成座標轉換。
  3 結束語
  我國現已啟用新的座標系統2000國家大地座標系,2000國家大地座標系與現行國家大地座標系轉換、銜接的過渡期仍需一段較長時期,在實際工作、工程中還遇到不同座標系之間轉換,本文針對在生產中從事測繪工作遇到的座標轉換問題提供解決方法和經驗,希望對同行有所參考。

【參考文獻】
[1] 孔祥元、郭際明、劉宗泉.《大地測量學基礎》.武漢大學出版社,第一版,2001年9月
[2] 李徵航、黃勁鬆.《GPS測量與資料處理》.武漢大學出版社,第一版,2005年3月
[3] MAPGIS使用教程

ARCGIS中北京54轉WGS84的引數精度
在ARCGIS中提供了Beijing_1954_to_wgs_1984_1到Beijing_1954_to_wgs_1984_6等模型,裡面涉及到的引數的來源是否有依據,如果做全國整體的轉換的話,該選哪個?
不同的地方轉換引數應該不一樣,所以沒有個統一的引數。arcgis中提供的Beijing_1954_to_wgs_1984_1到Beijing_1954_to_wgs_1984_6幾種轉換方法應該是針對中國不同地區的,轉換全國的恐怕精度難以保證。你可以用這幾種方法都試試,然後比較一下它們之間的區別。
Beijing_1954_To_WGS_1984_1
內蒙古自治區,陝西省,山西省,寧夏回族自治區,甘肅省,四川省,重慶市
Beijing_1954_To_WGS_1984_2
黑龍江省,吉林省,遼寧省,北京市,天津市,河北省,河南省,山東省,江蘇省,安徽省,上海市
Beijing_1954_To_WGS_1984_3
浙江省,福建省,江西省,湖北省,湖南省,廣東省,廣西壯族自治區,海南省,貴州省,雲南省,香港和澳門特別行政區,臺灣省
Beijing_1954_To_WGS_1984_4
青海省,新疆維吾爾自治區,西藏自治區
Beijing_1954_To_WGS_1984_5 15935 China - Bei Bu Basin 北部灣
Beijing_1954_To_WGS_1984_6 15936 China - Orduz basin 不知道是啥