一、北京54坐標(biāo)到西安80坐標(biāo)轉(zhuǎn)換小結(jié)
1、北京54和西安80是兩種不同的大地基準(zhǔn)面,不同的參考橢球體,因而兩種地圖下,同一個點的坐標(biāo)是不同的,無論是三度帶六度帶坐標(biāo)還是經(jīng)緯度坐標(biāo)都是不同的。
2、數(shù)字化后的得到的坐標(biāo)其實不是WGS84的經(jīng)緯度坐標(biāo),因為54和80的轉(zhuǎn)換參數(shù)至今沒有公布,一般的軟件中都沒有54或80投影系的選項,往往會選擇WGS84投影。
3、WGS84、北京54、西安80之間,沒有現(xiàn)成的公式來完成轉(zhuǎn)換。
4、對于54或80坐標(biāo),從經(jīng)緯度到平面坐標(biāo)(三度帶或六度帶)的相互轉(zhuǎn)換可以借助軟件完成。
5、54和80間的轉(zhuǎn)換,必須借助現(xiàn)有的點和兩種坐標(biāo),推算出變換參數(shù),再對待轉(zhuǎn)換坐標(biāo)進(jìn)行轉(zhuǎn)換。(均靠軟件實現(xiàn))
6、在選擇參考點時,注意不能選取河流、等高線、地名、高程點,公路盡量不選。這些在兩幅地圖上變化很大,不能用作參考。而應(yīng)該選擇固定物,如電站,橋梁等。
二、西安80坐標(biāo)系與北京54坐標(biāo)系轉(zhuǎn)換
西安80坐標(biāo)系與北京54坐標(biāo)系其實是一種橢球參數(shù)的轉(zhuǎn)換作為這種轉(zhuǎn)換在同一個橢球里的轉(zhuǎn)換都是嚴(yán)密的,而在不同的橢球之間的轉(zhuǎn)換是不嚴(yán)密,因此不存在一套轉(zhuǎn)換參數(shù)可以全國通用的,在每個地方會不一樣,因為它們是兩個不同的橢球基準(zhǔn)。那么,兩個橢球間的坐標(biāo)轉(zhuǎn)換,一般而言比較嚴(yán)密的是用七參數(shù)布爾莎模型,即 X 平移, Y 平移, Z 平移, X 旋轉(zhuǎn)(WX), Y 旋轉(zhuǎn)(WY), Z 旋轉(zhuǎn)(WZ),尺度變化(DM )。要求得七參數(shù)就需要在一個地區(qū)需要 3 個以上的已知點。如果區(qū)域范圍不大, 最遠(yuǎn)點間的距離不大于 30Km( 經(jīng)驗值),這可以用三參數(shù),即 X 平移, Y 平移, Z 平移,而將 X 旋轉(zhuǎn), Y 旋轉(zhuǎn), Z 旋轉(zhuǎn),尺度變化面DM視為 0 。
在MAPGIS平臺中實現(xiàn)步驟:
第一步:向地方測繪局(或其它地方)找本區(qū)域三個公共點坐標(biāo)對(即54坐標(biāo)x,y,z和80坐標(biāo)x,y,z);
第二步:將三個點的坐標(biāo)對全部轉(zhuǎn)換以弧度為單位。(菜單:投影轉(zhuǎn)換/輸入單點投影轉(zhuǎn)換,計算出這三個點的弧度值并記錄下來)
第三步:求公共點求操作系數(shù)(菜單:投影轉(zhuǎn)換/坐標(biāo)系轉(zhuǎn)換)。如果求出轉(zhuǎn)換系數(shù)后,記錄下來。
第四步:編輯坐標(biāo)轉(zhuǎn)換系數(shù)。(菜單:投影轉(zhuǎn)換/編輯坐標(biāo)轉(zhuǎn)換系數(shù)。)最后進(jìn)行投影變換,“當(dāng)前投影”輸入80坐標(biāo)系參數(shù),“目的投影”輸入54坐標(biāo)系參數(shù)。進(jìn)行轉(zhuǎn)換時系統(tǒng)會自動調(diào)用曾編輯過的坐標(biāo)轉(zhuǎn)換系數(shù)。
三、地理坐標(biāo)系與投影坐標(biāo)系的區(qū)別
1、首先理解地理坐標(biāo)系(Geographic coordinate system),Geographic coordinate system直譯為地理坐標(biāo)系統(tǒng),是以經(jīng)緯度為地圖的存儲單位的。很明顯,Geographic coordinate system是球面坐標(biāo)系統(tǒng)。我們要將地球上的數(shù)字化信息存放到球面坐標(biāo)系統(tǒng)上,如何進(jìn)行操作呢?地球是一個不規(guī)則的橢球,如何將數(shù)據(jù)信息以科學(xué)的方法存放到橢球上?這必然要求我們找到這樣的一個橢球體。這樣的橢球體具有特點:可以量化計算的。具有長半軸,短
半軸,偏心率。以下幾行便是Krasovsky_1940橢球及其相應(yīng)參數(shù)。
Spheroid: Krasovsky_1940
Semimajor Axis: 6378245.000000000000000000
Semiminor Axis: 6356863.018773047300000000
Inverse Flattening(扁率): 298.300000000000010000
然而有了這個橢球體以后還不夠,還需要一個大地基準(zhǔn)面將這個橢球定位。在坐標(biāo)系統(tǒng)描述中,可以看到有這么一行:
Datum: D_Beijing_1954
表示,大地基準(zhǔn)面是D_Beijing_1954。
有了Spheroid和Datum兩個基本條件,地理坐標(biāo)系統(tǒng)便可以使用。
完整參數(shù):
Alias:
Abbreviation:
Remarks:
Angular Unit: Degree (0.017453292519943299)
Prime Meridian(起始經(jīng)度): Greenwich (0.000000000000000000)
Datum(大地基準(zhǔn)面): D_Beijing_1954
Spheroid(參考橢球體): Krasovsky_1940
Semimajor Axis: 6378245.000000000000000000
Semiminor Axis: 6356863.018773047300000000
Inverse Flattening: 298.300000000000010000
2、接下來便是Projection coordinate system(投影坐標(biāo)系統(tǒng)),首先看看投影坐標(biāo)系統(tǒng)中的一些參數(shù)。
Projection: Gauss_Kruger
Parameters:
False_Easting: 500000.000000
False_Northing: 0.000000
Central_Meridian: 117.000000
Scale_Factor: 1.000000
Latitude_Of_Origin: 0.000000
Linear Unit: Meter (1.000000)
Geographic Coordinate System:
Name: GCS_Beijing_1954
Alias:
Abbreviation:
Remarks:
Angular Unit: Degree (0.017453292519943299)
Prime Meridian: Greenwich (0.000000000000000000)
Datum: D_Beijing_1954
Spheroid: Krasovsky_1940
Semimajor Axis: 6378245.000000000000000000
Semiminor Axis: 6356863.018773047300000000
Inverse Flattening: 298.300000000000010000
從參數(shù)中可以看出,每一個投影坐標(biāo)系統(tǒng)都必定會有Geographic Coordinate System。
投影坐標(biāo)系統(tǒng),實質(zhì)上便是平面坐標(biāo)系統(tǒng),其地圖單位通常為米。
那么為什么投影坐標(biāo)系統(tǒng)中要存在坐標(biāo)系統(tǒng)的參數(shù)呢?
這時候,又要說明一下投影的意義:將球面坐標(biāo)轉(zhuǎn)化為平面坐標(biāo)的過程便稱為投影。
好了,投影的條件就出來了:
a、球面坐標(biāo)
b、轉(zhuǎn)化過程(也就是算法)
也就是說,要得到投影坐標(biāo)就必須得有一個“拿來”投影的球面坐標(biāo),然后才能使用算法去投影!
即每一個投影坐標(biāo)系統(tǒng)都必須要求有Geographic Coordinate System參數(shù)。
3、我們現(xiàn)在看到的很多教材上的對坐標(biāo)系統(tǒng)的稱呼很多,都可以歸結(jié)為上述兩種投影。其中包括我們常見的“非地球投影坐標(biāo)系統(tǒng)”。):
大地坐標(biāo)(Geodetic Coordinate):大地測量中以參考橢球面為基準(zhǔn)面的坐標(biāo)。地面點P的位置用大地經(jīng)度L、大地緯度B和大地高H表示。當(dāng)點在參考橢球面上時,僅用大地經(jīng)度和大地緯度表示。大地經(jīng)度是通過該點的大地子午面與起始大地子午面之間的夾角,大地緯度是通過該點的法線與赤道面的夾角,大地高是地面點沿法線到參考橢球面的距離。
方里網(wǎng):是由平行于投影坐標(biāo)軸的兩組平行線所構(gòu)成的方格網(wǎng)。因為是每隔整公里繪出坐標(biāo)縱線和坐標(biāo)橫線,所以稱之為方里網(wǎng),由于方里線同時又是平行于直角坐標(biāo)軸的坐標(biāo)網(wǎng)線,故又稱直角坐標(biāo)網(wǎng)。
在1:1萬——1:20萬比例尺的地形圖上,經(jīng)緯線只以圖廓線的形式直接表現(xiàn)出來,并在圖角處注出相應(yīng)度數(shù)。為了在用圖時加密成網(wǎng),在內(nèi)外圖廓間還繪有加密經(jīng)緯網(wǎng)的加密分劃短線(圖式中稱“分度帶”),必要時對應(yīng)短線相連就可以構(gòu)成加密的經(jīng)緯線網(wǎng)。1:2 5萬地形圖上,除內(nèi)圖廓上繪有經(jīng)緯網(wǎng)的加密分劃外,圖內(nèi)還有加密用的十字線。
我國的1:50萬——1:100萬地形圖,在圖面上直接繪出經(jīng)緯線網(wǎng),內(nèi)圖廓上也有供加密經(jīng)緯線網(wǎng)的加密分劃短線。
直角坐標(biāo)網(wǎng)的坐標(biāo)系以中央經(jīng)線投影后的直線為X軸,以赤道投影后的直線為Y軸,它們的交點為坐標(biāo)原點。這樣,坐標(biāo)系中就出現(xiàn)了四個象限??v坐標(biāo)從赤道算起向北為正、向南為負(fù);橫坐標(biāo)從中央經(jīng)線算起,向東為正、向西為負(fù)。
雖然我們可以認(rèn)為方里網(wǎng)是直角坐標(biāo),大地坐標(biāo)就是球面坐標(biāo)。但是我們在一副地形圖上經(jīng)常見到方里網(wǎng)和經(jīng)緯度網(wǎng),我們很習(xí)慣的稱經(jīng)緯度網(wǎng)為大地坐標(biāo),這個時候的大地坐標(biāo)不是球面坐標(biāo),她與方里網(wǎng)的投影是一樣的(一般為高斯),也是平面坐標(biāo)
四、GIS中的坐標(biāo)系定義與轉(zhuǎn)換
1. 橢球體、基準(zhǔn)面及地圖投影
GIS中的坐標(biāo)系定義是GIS系統(tǒng)的基礎(chǔ),正確定義GIS系統(tǒng)的坐標(biāo)系非常重要。GIS中的坐標(biāo)系定義由基準(zhǔn)面和地圖投影兩組參數(shù)確定,而基準(zhǔn)面的定義則由特定橢球體及其對應(yīng)的轉(zhuǎn)換參數(shù)確定,因此欲正確定義GIS系統(tǒng)坐標(biāo)系,首先必須弄清地球橢球體(Ellipsoid)、大地基準(zhǔn)面(Datum)及地圖投影(Projection)三者的基本概念及它們之間的關(guān)系。
基準(zhǔn)面是利用特定橢球體對特定地區(qū)地球表面的逼近,因此每個國家或地區(qū)均有各自的基準(zhǔn)面,我們通常稱謂的北京54坐標(biāo)系、西安80坐標(biāo)系實際上指的是我國的兩個大地基準(zhǔn)面。我國參照前蘇聯(lián)從1953年起采用克拉索夫斯基(Krassovsky)橢球體建立了我國的北京54坐標(biāo)系,1978年采用國際大地測量協(xié)會推薦的1975地球橢球體建立了我國新的大地坐標(biāo)系--西安80坐標(biāo)系,目前大地測量基本上仍以北京54坐標(biāo)系作為參照,北京54與西安80坐標(biāo)之間的轉(zhuǎn)換可查閱國家測繪局公布的對照表。 WGS1984基準(zhǔn)面采用WGS84橢球體,它是一地心坐標(biāo)系,即以地心作為橢球體中心,目前GPS測量數(shù)據(jù)多以WGS1984為基準(zhǔn)。
上述3個橢球體參數(shù)如下:
橢球體與基準(zhǔn)面之間的關(guān)系是一對多的關(guān)系,也就是基準(zhǔn)面是在橢球體基礎(chǔ)上建立的,但橢球體不能代表基準(zhǔn)面,同樣的橢球體能定義不同的基準(zhǔn)面,如前蘇聯(lián)的Pulkovo 1942、非洲索馬里的Afgooye基準(zhǔn)面都采用了Krassovsky橢球體,但它們的基準(zhǔn)面顯然是不同的。
地圖投影是將地圖從球面轉(zhuǎn)換到平面的數(shù)學(xué)變換,如果有人說:該點北京54坐標(biāo)值為X=4231898,Y=21655933,實際上指的是北京54基準(zhǔn)面下的投影坐標(biāo),也就是北京54基準(zhǔn)面下的經(jīng)緯度坐標(biāo)在直角平面坐標(biāo)上的投影結(jié)果。
2. GIS中基準(zhǔn)面的定義與轉(zhuǎn)換
雖然現(xiàn)有GIS平臺中都預(yù)定義有上百個基準(zhǔn)面供用戶選用,但均沒有我們國家的基準(zhǔn)面定義。假如精度要求不高,可利用前蘇聯(lián)的Pulkovo 1942基準(zhǔn)面(Mapinfo中代號為1001)代替北京54坐標(biāo)系;假如精度要求較高,如土地利用、海域使用、城市基建等GIS系統(tǒng),則需要自定義基準(zhǔn)面。
GIS系統(tǒng)中的基準(zhǔn)面通過當(dāng)?shù)鼗鶞?zhǔn)面向WGS1984的轉(zhuǎn)換7參數(shù)來定義,轉(zhuǎn)換通過相似變換方法實現(xiàn),具體算法可參考科學(xué)出版社1999年出版的《城市地理信息系統(tǒng)標(biāo)準(zhǔn)化指南》第76至86頁。假設(shè)Xg、Yg、Zg表示W(wǎng)GS84地心坐標(biāo)系的三坐標(biāo)軸,Xt、Yt、Zt表示當(dāng)?shù)刈鴺?biāo)系的三坐標(biāo)軸,那么自定義基準(zhǔn)面的7參數(shù)分別為:三個平移參數(shù)ΔX、ΔY、ΔZ表示兩坐標(biāo)原點的平移值;三個旋轉(zhuǎn)參數(shù)εx、εy、εz表示當(dāng)?shù)刈鴺?biāo)系旋轉(zhuǎn)至與地心坐標(biāo)系平行時,分別繞Xt、Yt、Zt的旋轉(zhuǎn)角;最后是比例校正因子,用于調(diào)整橢球大小。
MapX中基準(zhǔn)面定義方法如下:
Datum.Set(Ellipsoid, ShiftX, ShiftY, ShiftZ, RotateX, RotateY, RotateZ, ScaleAdjust, PrimeMeridian)
其中參數(shù): Ellipsoid為基準(zhǔn)面采用的橢球體;
ShiftX, ShiftY, ShiftZ為平移參數(shù);
RotateX, RotateY, RotateZ為旋轉(zhuǎn)參數(shù);
ScaleAdjust為比例校正因子,以百萬分之一計;
PrimeMeridian為本初子午線經(jīng)度,在我國取0,表示經(jīng)度從格林威治起算。
美國國家測繪局(National Imagery and Mapping Agency)公布了世界大多數(shù)國家的當(dāng)?shù)鼗鶞?zhǔn)面至WGS1984基準(zhǔn)面的轉(zhuǎn)換3參數(shù)(平移參數(shù)),可從 http://164.214.2.59/GandG/wgs84dt/dtp.html 下載,其中包括有香港Hong Kong 1963基準(zhǔn)面、臺灣 Hu-Tzu-Shan 基準(zhǔn)面的轉(zhuǎn)換3參數(shù),但是沒有中國大陸的參數(shù)。
實際工作中一般都根據(jù)工作區(qū)內(nèi)已知的北京54坐標(biāo)控制點計算轉(zhuǎn)換參數(shù),如果工作區(qū)內(nèi)有足夠多的已知北京54與WGS84坐標(biāo)控制點,可直接計算坐標(biāo)轉(zhuǎn)換的7參數(shù)或3參數(shù);當(dāng)工作區(qū)內(nèi)有3個已知北京54與WGS84坐標(biāo)控制點時,可用下式計算WGS84到北京54坐標(biāo)的轉(zhuǎn)換參數(shù)(A、B、C、D、E、F):x54 = AX84 + BY84 + C,y54 = DX84 + EY84 + F,多余一點用作檢驗;在只有一個已知控制點的情況下(往往如此),用已知點的北京54與WGS84坐標(biāo)之差作為平移參數(shù),當(dāng)工作區(qū)范圍不大時精度也足夠了。
從Mapinfo中國的URL(http://www./download)可下載到包含北京54、西安80坐標(biāo)系定義的Mapinfow.prj文件,其中定義的北京54基準(zhǔn)面參數(shù)為:(3,24,-123,-94,-0.02,0.25,0.13,1.1,0),西安80基準(zhǔn)面參數(shù)為:(31,24,-123,-94,-0.02,0.25,0.13,1.1,0),文件中沒有注明其參數(shù)的來源,我發(fā)現(xiàn)它們與Mapinfo參考手冊附錄G"定義自定義基準(zhǔn)面"中的一個例子所列參數(shù)相同,因此其可靠性值得懷疑,尤其從西安80與北京54采用相同的7參數(shù)來看,至少西安80的基準(zhǔn)面定義肯定是不對的。因此,當(dāng)系統(tǒng)精度要求較高時,一定要對所采用的參數(shù)進(jìn)行檢測、驗證,確保坐標(biāo)系定義的正確性。
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系統(tǒng)中應(yīng)該采用與我國基本比例尺地形圖系列一致的地圖投影系統(tǒng)。
在MapX中坐標(biāo)系定義由基準(zhǔn)面、投影兩部分參數(shù)組成,方法如下:
CoordSys.Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude],
[StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor],
[FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform])
其中參數(shù):Type表示投影類型,Type為1時地圖坐標(biāo)以經(jīng)緯度表示,它是必選參數(shù),它后面的參數(shù)都為可選參數(shù);
Datum為大地基準(zhǔn)面對象,如果采用非地球坐標(biāo)(NonEarth)無需定義該參數(shù);
Units為坐標(biāo)單位,如Units為7表示以米為單位;
OriginLongitude、OriginLatitude分別為原點經(jīng)度和緯度;
StandardParallelOne、StandardParallelTwo為第一、第二標(biāo)準(zhǔn)緯線;
Azimuth為方位角,斜軸投影需要定義該參數(shù);
ScaleFactor為比例系數(shù);
FalseEasting, FalseNorthing為東偽偏移、北偽偏移值;
Range為地圖可見緯度范圍;
Bounds為地圖坐標(biāo)范圍,是一矩形對象,非地球坐標(biāo)(NonEarth)必須定義該參數(shù);
AffineTransform為坐標(biāo)系變換對象。
相應(yīng)高斯-克呂格投影、蘭勃特投影、墨卡托投影需要定義的坐標(biāo)系參數(shù)序列如下:
高斯-克呂格:投影代號(Type),基準(zhǔn)面(Datum),單位(Unit),
中央經(jīng)度(OriginLongitude),原點緯度(OriginLatitude),
比例系數(shù)(ScaleFactor),
東偽偏移(FalseEasting),北緯偏移(FalseNorthing)
蘭勃特: 投影代號(Type),基準(zhǔn)面(Datum),單位(Unit),
中央經(jīng)度(OriginLongitude),原點緯度(OriginLatitude),
標(biāo)準(zhǔn)緯度1(StandardParallelOne),標(biāo)準(zhǔn)緯度2(StandardParallelTwo),
東偽偏移(FalseEasting),北緯偏移(FalseNorthing)
墨卡托: 投影代號(Type),基準(zhǔn)面(Datum),單位(Unit),
原點經(jīng)度(OriginLongitude),原點緯度(OriginLatitude),
標(biāo)準(zhǔn)緯度(StandardParallelOne)
在城市GIS系統(tǒng)中均采用6度或3度分帶的高斯-克呂格投影,因為一般城建坐標(biāo)采用的是6度或3度分帶的高斯-克呂格投影坐標(biāo)。高斯-克呂格投影以6度或3度分帶,每一個分帶構(gòu)成一個獨立的平面直角坐標(biāo)網(wǎng),投影帶中央經(jīng)線投影后的直線為X軸(縱軸,緯度方向),赤道投影后為Y軸(橫軸,經(jīng)度方向),為了防止經(jīng)度方向的坐標(biāo)出現(xiàn)負(fù)值,規(guī)定每帶的中央經(jīng)線西移500公里,即東偽偏移值為500公里,由于高斯-克呂格投影每一個投影帶的坐標(biāo)都是對本帶坐標(biāo)原點的相對值,所以各帶的坐標(biāo)完全相同,因此規(guī)定在橫軸坐標(biāo)前加上帶號,如(4231898,21655933)其中21即為帶號,同樣所定義的東偽偏移值也需要加上帶號,如21帶的東偽偏移值為21500000米。
假如你的工作區(qū)位于21帶,即經(jīng)度在120度至126度范圍,該帶的中央經(jīng)度為123度,采用Pulkovo 1942基準(zhǔn)面,那么定義6度分帶的高斯-克呂格投影坐標(biāo)系參數(shù)為:(8,1001,7,123,0,1,21500000,0)。
那么當(dāng)精度要求較高,實測數(shù)據(jù)為WGS1984坐標(biāo)數(shù)據(jù)時,欲轉(zhuǎn)換到北京54基準(zhǔn)面的高斯-克呂格投影坐標(biāo),如何定義坐標(biāo)系參數(shù)呢?你可選擇WGS 1984(Mapinfo中代號104)作為基準(zhǔn)面,當(dāng)只有一個已知控制點時(見第2部分),根據(jù)平移參數(shù)調(diào)整東偽偏移、北緯偏移值實現(xiàn)WGS84到北京54的轉(zhuǎn)換,如: (8,104,7,123,0,1,21500200,-200),也可利用 AffineTransform坐標(biāo)系變換對象,此時的轉(zhuǎn)換系數(shù)(A、B、C、D、E、F)中A、B、D、E為0,只有X、Y方向的平移值C、F ;當(dāng)有3個已知控制點時,可利用得到的轉(zhuǎn)換系數(shù)(A、B、C、D、E、F)定義 AffineTransform坐標(biāo)系變換對象,實現(xiàn)坐標(biāo)系的轉(zhuǎn)換,如:(8,104,7,123,0,1,21500000,0,map.AffineTransform),其中AffineTransform定義為AffineTransform.set(7,A、B、C、D、E、F)(7表示單位米);當(dāng)然有足夠多已知控制點時,直接求定7參數(shù)自定義基準(zhǔn)面就行了。
.userData { BEHAVIOR. url(#default#userdata) }
(http://tieba.baidu.com/f?kz=354009166)