本文呢是主要是借鑒李郎平李大大的博士論文和百度百科,里面還有一點點我自己的理解,希望能幫助自己加深對於坐標系的認識。
李大大的博客:http://blog.sciencenet.cn/u/Brume
一、兩種坐標系
坐標系其實很多,但是大類上分為兩種坐標系——“地理坐標系”和“投影坐標系”
我們一般說的“投影”其實是坐標系的一種參數,有投影變形的稱為“投影坐標系”,沒有“投影”的稱為“地理坐標系”。
地理坐標系進行地圖投影后就變成了投影坐標系。地圖投影(Map Projection)是按照一定的數學法則將地球橢球面上點的經維度坐標轉換到平面上的直角坐標。地圖投影的理論知識請參考其他資料,此處不做敘述。需要說明的是,也有將“坐標系(CoordinateSystem)”稱為“空間參考(Spatial Reference)”的情況,例如在ArcGIS中柵格數據的屬性里面。
坐標系是數據或地圖的屬性,而投影是坐標系的屬性。一個數據或一張地圖一定有坐標系,而一個坐標系可以有投影也可以沒投影。只有投影坐標系才有投影,地理坐標系是沒有投影的。因此,一個數據或一張地圖亦是可以有投影也可以沒投影的。當然,非要較真,把具有地理坐標系的數據顯示在平面地圖上肯定也有一個投影的過程。嚴格來講:我們只能說“數據或地圖的坐標系”和“坐標系的投影”,而不能說“數據或地圖的投影”。也許是大家平時都比較隨意,盡管都是知道二者的區別的,但是卻在很多想說坐標系的時候就隨口說成了投影。因此,當你說“數據的投影”和“投影轉換”時,可以考慮下你是不是想說“數據的坐標系”和“坐標系轉換”。
先抬出重要的總結:地理坐標系經過投影后變成投影坐標系,投影坐標系因此由地理坐標系和投影組成,投影坐標系必然包括有一個地理坐標系。圖1概括了兩種坐標系的聯系:
下面以一個具體示例來初識ArcGIS中的坐標系,其全部參數拷貝在下面。這一示例是一個“投影坐標系(Projected Coordinate System)”,其名稱是“WGS_1984_UTM_Zone_50N”。“WKID”是該坐標系的編號,“ESPG”是“European Petroleum Survey Group”的縮寫,表示其由“歐洲石油調查組織”發布。可知,“WGS_1984_UTM_Zone_50N”這個投影坐標系由兩部分組成:名為“Transverse_Mercator”的“投影(Projection)”和名為“GCS_WGS_1984”的“地理坐標系(GeographicCoordinate System)”。
WGS_1984_UTM_Zone_50N
WKID: 32650Authority: EPSG
Projection:Transverse_Mercator
False_Easting:500000.0
False_Northing:0.0
Central_Meridian:117.0
Scale_Factor:0.9996
Latitude_Of_Origin:0.0
Linear Unit: Meter(1.0)
GeographicCoordinate System: GCS_WGS_1984
Angular Unit:Degree (0.0174532925199433)
Prime Meridian:Greenwich (0.0)
Datum: D_WGS_1984
Spheroid: WGS_1984
Semimajor Axis: 6378137.0
Semiminor Axis: 6356752.314245179
Inverse Flattening: 298.257223563
地理坐標系由三個參數來定義:角度單位(Angular Unit)、本初子午線(Prime Meridian)和大地測量系統(Datum)。地理坐標系“GCS_WGS_1984”使用的角度單位為“度(Degree)”,0.0174532925199433這個數字等於“π/180”,使用的本初子午線為0.0度經線,即格林威治皇家天文台(Greenwich)所在位置的經線,使用的大地測量系統則為“D_WGS_1984”。
地理坐標系的最重要的參數是“大地測量系統(Datum)”,而大地測量系統的最重要的參數是“橢球(Spheroid)”。橢球相同,大地測量系統不一定相同,因為原點(origin)和方位(orientation)可以不同。想象一下,同一個橢球,首先可以固定在三維空間中的任意一個點,並且在固定於某點后還能以三個自由度任意地旋轉其方位(朝向)。當然,具體國家或地區在選擇大地測量系統時,總是選擇與這一國家或地區的地面最吻合的大地測量系統,而不是拍腦袋隨便選的。我們拿到的境內的許多數據使用的都是“D_Xian_1980”大地測量系統,因為“D_Xian_1980”是我們依據我國疆域的地面自己定義出來的,因而較“D_WGS_1984”與我國疆域的地面更吻合。“D_WGS_1984”大地測量系統使用的橢球為“WGS_1984”,而“WGS_1984”橢球的“長半軸(Semimajor Axis)”和“短半軸(Semiminor Axis)”分別為6378137.0和6356752.314245179,其“反扁率(Inverse Flattening)”為298.257223563,等於Semimajor Axis/( Semimajor Axis - Semiminor Axis)。
投影的參數對不同的投影方法有一定差別,在此也不詳述各投影的具體參數。投影坐標系“WGS_1984_UTM_Zone_50N”使用的“投影(Projection)”名為“橫軸墨卡托(Transverse_Mercator)”,然而這個名稱並不能完全准確概括其投影。事實上,投影坐標系“WGS_1984_UTM_Zone_50N”這個名稱中的“WGS_1984”指出了其地理坐標系為“GCS_WGS_1984”,而“UTM_Zone_50N”則指出了其投影。“UTM_Zone_50N”這個名稱指出,其投影方法是“通用橫軸墨卡托(Universal Transverse Mercator,UTM)”,其投影帶為北半球第50帶,這個“Zone_50N”的“中央經線(Central Meridian)”正是117.0度,在“Transverse_Mercator”的參數中得到了體現。舉一反三,“Xian_1980_GK_CM_117E”這個坐標系使用的地理坐標系為“GCS_Xian_1980”,而投影名稱“GK_CM_117E”指出其使用以東經117度為中央經線的“高斯-克呂格(Gauss-Kruger,GK)”投影。投影的另一個重要參數是“東偏(False Easting)”。有些投影會在X坐標值前加上投影帶號,比如:“Xian_1980_GK_Zone_20”的“false_easting”參數為20500000.0,其中20為投影帶號,而“Xian_1980_GK_CM_117E”的“false_easting”參數為500000.0,盡管它們的中央經線都為東經117度。
二、三個半概念
在ArcGIS中,有三個概念容易混淆(另外半個最后揭曉),需要特別進行區分:
1)數據的真實坐標系,簡稱為“真實坐標系”;
2)數據屬性所標稱的坐標系,簡稱為“屬性坐標系”;
3)ArcMap/ArcScene中Layers的坐標系,簡稱為“地圖坐標系”。
數據的真實坐標系是指數據記錄本身所對應的坐標系。比如,國科大雁棲湖校區圖書館在地理坐標系“GCS_WGS_1984”下的經緯坐標大概為(116.679267°E,40.408265°N),在投影坐標系“WGS_1984_UTM_Zone_50N”下的平面坐標為(472786.066803m,4473121.59882m)。假如用一個Point Shapefile數據來記錄國科大雁棲湖校區圖書館的位置。如果使用經緯坐標(116.679267,40.408265)來記錄此位置,那么數據的真實坐標系就是地理坐標系GCS_WGS_1984,如果使用平面坐標(472786.066803,4473121.59882)來記錄此位置,那么數據的真實坐標系就是投影坐標系WGS_1984_UTM_Zone_50N。
數據的真實坐標系是什么,可以通過以下方式進行驗證。在ArcMap中加載這一個Point Shapefile數據,打開其屬性表(Attribute Table),右擊任意已有或新建的數值類型為Double(或Float)的Filed進行“CalculateGeometry”運算,如果數據的真實坐標系為地理坐標系GCS_WGS_1984,那么計算的“X Coordinate of Point”就為116.679267(圖2),如果數據的真實坐標系為投影坐標系WGS_1984_UTM_Zone_50N,那么X坐標值就為472786.066803。
圖2 使用“Calculate Geometry”檢查Point Shapefile數據的“真實坐標系”
對於柵格數據,也有方法判斷其真實坐標系。通常,柵格分辨率數值很小的是地理坐標系,柵格分辨率的數值很大則為投影坐標系。以經常使用的SRTM DEM柵格數據為例。從網上下載的SRTM DEM數據是地理坐標系,其分辨率數值為0.00083333333(圖3),表示其每個柵格的長寬都為0.00083333333度。而0.00083333333度這個距離在國科大的緯度位置大致相當於地面距離81.4520173米。因此,如果使用投影坐標系,讓81.4520173這個數值作為這個緯度位置的SRTM DEM數據的分辨率是合理的選擇。81.4520173是0.00083333333的接近10萬倍(圖3),因此分辨率(Cell Size)是判斷柵格數據的坐標系是地理坐標系還是投影坐標系的重要依據。當然,大尺度的全球柵格數據在地理坐標系下其分辨率數值可以很大,比如1度,而小區域的柵格數據在投影坐標系其分辨率數值也可以很小,比如1米。
數據屬性所標稱的坐標系是指數據文件的屬性所標稱的坐標系。一般來說,我們有兩個入口來查看數據屬性所標稱的坐標系:一種是在Catalog里面右擊該數據文件打開Properties,Shapefile文件可直接在Properties中查看或者修改“XY Coordinate System”,Raster文件可以通過Edit(編輯)“SpatialReference”來打開“XY Coordinate System”進行查看或者修改;另一入口是當把數據加載進ArcMap或ArcScene后,在此數據的Layer Properties的“Source”標簽中查看。第二個入口只能查看而不能修改屬性坐標系。圖4為分別在Shapefile Properties和Layer Properties中查看國科大雁棲湖校區圖書館PointShapefile數據的屬性坐標系。
這里要特別強調的是:數據的真實坐標系和屬性坐標系可以不同,當二者不同時就出現錯誤。例如:數據的真實坐標系為地理坐標系GCS_WGS_1984,而屬性坐標系為投影坐標系WGS_1984_UTM_Zone_50N,或真實坐標系為投影坐標系WGS_1984_UTM_Zone_50N,而屬性坐標系為地理坐標系GCS_WGS_1984,都是錯誤的。類似的,數據的真實坐標系為地理坐標系GCS_WGS_1984,而屬性坐標系為地理坐標系GCS_Xian_1980,或真實坐標系為投影坐標系WGS_1984_UTM_Zone_50N,而屬性坐標系為投影坐標系WGS_1984_UTM_Zone_49N,也都是錯誤的。只要二者不統一,就是錯誤的。在數據處理過程中,誤將屬性坐標系改動,造成屬性坐標系與真實坐標系不符合,是ArcGIS操作的常見錯誤。使數據的屬性坐標系和真實坐標系吻合,是進行所有數據處理和分析的必要前提。
同樣以國科大雁棲湖校區圖書館的Point Shapefile數據為示例說明真實坐標系和屬性坐標系不吻合的情況。如果PointShapefile數據的真實坐標系為地理坐標系GCS_WGS_1984,而將屬性坐標系設置為投影坐標系WGS_1984_UTM_Zone_50N,圖書館點就會跑到赤道附近的印度尼西亞去(圖5)。此時,系統會認為此點在投影坐標系WGS_1984_UTM_Zone_50N中坐標值為(116.679267,40.408265),而在投影坐標系WGS_1984_UTM_Zone_50N中正確的坐標值應為(472786.066803,4473121.59882)。相反,如果Point Shapefile數據的真實坐標系為投影坐標系WGS_1984_UTM_Zone_50N,而屬性坐標系為地理坐標系GCS_WGS_1984,圖書館點則會“跑出地球”。因為系統會認為此點的經緯度為(472786.066803,4473121.59882),地球上的點的經緯度值最大為180度,最小為-180度,因而這兩個經緯度值遠遠超過了180度的最大值。
為何在實際操作中我們一般都不必檢查數據的屬性坐標系是否與真實坐標系吻合呢?這是因為在大多數時候,我們拿到的數據不但有屬性坐標系並且還與真實坐標系是吻合的。一般來說,有兩個明顯的跡象可以判斷數據的屬性坐標系是不對的。一個是將數據加載到ArcMap里面后報錯;另外一個是數據加載到ArcMap里面后盡管沒報錯,但是位置明顯不對。比如上面的例子,位於國科大的點跑到印度尼西亞去了。圖6是將真實坐標系為投影坐標系“Asia_Lambert_Conformal_Conic”的數據的屬性坐標系改為地理坐標系“GCS_WGS_1984”並加載到ArcMap里面后的報錯信息。這個信息是說“數據的范圍(extent)與其空間參考的信息不吻合”。具體來講,投影坐標系“Asia_Lambert_Conformal_Conic”中的坐標值有負值,而負值超出了地理坐標系“GCS_WGS_1984”的范圍(正值)。以下敘述,如無特別說明,都隱含數據屬性坐標系與真實坐標系吻合的假設,並以“數據坐標系”統稱。
ArcMap/ArcScene中Layers的坐標系是指當我們把若干矢量數據或柵格數據加載進ArcMap或ArcScene里面組成“Layers”的時候,這個Layers的坐標系。“地圖坐標系”在ArcMap中可以通過右擊“Layers”打開“Data Frame Properties”后在“Coordinate System”標簽中查看或者修改(圖7),在ArcScene中可以通過右擊“Scene Layers”打開“Scene Properties”后在“Coordinate System”標簽中查看或者修改。
可以想象,一個Layers可以包括多個數據Layer,這些數據Layer的坐標系也可以各不相同。因此,Layers的地圖坐標系可以不同於各Layer的數據坐標系。可以選擇Layers中的某一Layer的數據坐標系作為地圖坐標系,也可以選擇其他任意坐標系,只要這個坐標系的覆蓋范圍能覆蓋所有Layer數據的范圍。當在ArcMap中加載多個數據Layer時,系統會自動將第一個加載進來的有坐標系的數據的坐標系作為Layers的地圖坐標系。為了使所有具有不同坐標系的數據Layer都在同一地圖坐標系下進行顯示等操作,當某個Layer的數據坐標系與Layers的地圖坐標系不同時,系統會自動用一定的算法將數據坐標系(的坐標值)臨時轉換為地圖坐標系(的坐標值)。這種臨時的坐標系轉換,並不改變每個數據本身的坐標系。
如圖8所示:“library”、“library_utm”、“國科大20.tif”和“WorldPhysical Map”等四個Layer的數據坐標系分別為:地理坐標系“GCS_WGS_1984”、投影坐標系“WGS_1984_UTM_Zone_50N”、投影坐標系“WGS_1984_Web_Mercator”和投影坐標系“WGS_1984_Web_Mercator_Auxiliary_Sphere”;Layers的地圖坐標系則使用了“國科大20.tif”這一柵格Layer的數據坐標系(投影坐標系“WGS_1984_Web_Mercator”)。
當數據在與其坐標系不同的地圖中顯示時,會出現“變形”。這種變形是由“臨時的坐標系轉換”引起的。圖9為使用地理坐標系“GCS_WGS_1984”作為Layers的地圖坐標系的情況。可以看出,相較使用“國科大20.tif”的數據坐標系(投影坐標系“WGS_1984_Web_Mercator”)作為地圖坐標系,使用地理坐標系“GCS_WGS_1984”作為地圖坐標系使得“國科大20.tif”這一柵格Layer的變形明顯,其輪廓(覆蓋范圍)在東西經度方向上被拉長了,在南北維度方向則被壓縮了。如果不希望某個Layer出現變形,那么就使用該Layer的數據坐標系作為Layers的地圖坐標系。
如果地圖坐標系與數據坐標系差別很大,數據顯示的變形也會很大。圖10為使用投影坐標系“WGS_1984_UTM_Zone_49N”作為地圖坐標系的情況,圖11為將“國科大20.tif”Layer的右上角放大后的情況。可以看出,“國科大20.tif”這一柵格Layer的變形明顯,整體輪廓和每個柵格都“傾斜”了一個角度。盡管投影坐標系“WGS_1984_UTM_Zone_49N”和 “WGS_1984_UTM_Zone_50N”二者都與“國科大20.tif”這一柵格Layer的數據坐標系“WGS_1984_Web_Mercator”不同。但是,試驗可以發現,使用“WGS_1984_UTM_Zone_50N”作為地圖坐標系的時候,“國科大20.tif”的變形不會這么明顯。原因之一是,坐標系“WGS_1984_UTM_Zone_49N”中投影帶的中央經線為111度,而坐標系“WGS_1984_UTM_Zone_50N”中投影帶的中央經線為117度,后者的投影帶與“國科大20.tif”的范圍更符合。選擇“WGS_1984_Web_Mercator”和“WGS_1984_UTM_Zone_50N”,都會使“國科大20.tif”在投影中的變形更小。
當然,有時在地圖顯示中,出於合理或者美觀的需要,這種“變形”是需要的。例如,我們拿到的行政邊界矢量數據的坐標系是地理坐標系“GCS_Krasovsky_1940”。我們可以就使用地理坐標系“GCS_Krasovsky_1940”作為Layers的地圖坐標系(圖12),但是這樣的顯示和圖9類似地使數據在東西方向被“拉長”。使用地理坐標系作為地圖坐標系,顯示出來的數據與我們在多數時候看到的全國地圖的“形狀”有差異。當我們換為使用投影坐標系“Asia_Lambert_Conformal_Conic”作為Layers的地圖坐標系時,顯示出來的數據就與我們在多數時候看到的全國地圖的“形狀”相仿了(圖13)。如果數據經常需要在不同於自身坐標系的地圖中顯示,可使用“坐標系轉換”讓這種在顯示中的臨時性坐標系轉換變成永久性的,也即改變數據本身的坐標系,這是下一節中將提到的。對於柵格數據,如圖10和圖11這種情況,坐標系轉換后的數據在目標坐標系中顯示時輪廓可能還是“傾斜”的,但數據坐標系變成目標坐標系后的新數據的每個柵格在目標坐標系中將不再“傾斜”(見3.3節)。
地圖坐標系的重要性還體現在:在地圖中編輯要素時,如果需要輸入坐標值,那么此坐標值是相對於地圖坐標系的。例如,在坐標系為“Asia_Lambert_Conformal_Conic”的地圖中編輯坐標系為“GCS_WGS_1984”的Point Shapefile,增加點所需輸入的坐標值就不能再是該點的經緯度,而是該經緯度在坐標系“Asia_Lambert_Conformal_Conic”中對應的坐標值(圖14)。
也許你已經注意到,圖13的地圖坐標系是投影坐標系,但窗口右下角顯示的坐標單位是度而不是米。類似的,圖9的地圖坐標系是地理坐標系,但窗口右下角顯示的坐標單位是米而不是度。這個疑問就引出了那“半個概念”:“地圖顯示單位”。之所以稱為“半個”是因為嚴格來說這不算一個可以與真實坐標系、屬性坐標系和地圖坐標系等並列的“概念”。地圖顯示單位可以在Layers的Properties中的“General”標簽中進行設置(圖15)。地圖單位由地圖坐標系決定,地圖顯示單位可以與地圖單位相同,也可以與地圖單位不同。
3. 四類常用操作
在理解清楚了以上“三個半容易混淆的概念”的基礎上,以下四類常用的坐標系操作就很好理解與熟悉了。
3.1 坐標系選擇、新建與編輯
坐標系的其他操作都會涉及到選擇、新建與編輯等,這些操作可在打開的數據或地圖等的“Properties”窗口中的“Coordinate System”或“XY Coordinate System”標簽中進行(圖16)。
用戶可以從“Favorites”、“Geographic Coordinate System”、“ProjectedCoordinate System”和“Layers”等文件夾中選擇坐標系,或使用“Import”導入其他數據的坐標系。“Layers”文件夾只有當ArcMap或ArcScene中的Layers加載有數據(Layer)時才會顯示出來,而在ArcCatalog中操作則不會出現。另外,使用“Clear”可以清除數據或地圖的坐標系。
用戶也可以根據需要新建坐標系。圖17為新建投影坐標系(ProjectedCoordinate System)的操作窗口。在這一操作窗口中,用戶需要設置投影坐標系的名稱(Name)、投影(Projection)、單位(Linear Unit)和地理坐標系(Geographic Coordinate System)等參數。
右擊任意已有坐標系,點擊“Copyand Modify”,可對已有坐標系進行編輯。坐標系編輯的操作窗口與坐標系新建的操作窗口類似。對於投影坐標系的編輯,用戶也需要編輯投影坐標系的名稱、投影、單位和地理坐標系等參數。
3.2 坐標系定義
坐標系定義是指定義數據的屬性坐標系。也即,將與數據的真實坐標系相同的坐標系賦予給數據的屬性。坐標系定義可以通過兩種方式來實現:一是如圖2所示,在Catalog里面訪問該數據的Properties進行修改(定義);二是使用ArcToolbox ->Projections and Transformations -> Define Project工具(圖18)。如果該數據已有屬性坐標系,數據輸入處會出現警告符號,警告用戶已有屬性坐標系將被覆蓋。這兩種坐標系定義方式的區別是:如果數據在ArcMap或ArcScene中打開(被鎖定)后,那么就不能在Catalog中改變數據的坐標系了,但是仍然可以利用ArcToolbox中的Define Project工具來定義數據的坐標系,除非這一數據同時也在另外的ArcMap、ArcScene或ArcCatalog中被打開使用。
另外,個人以為,“Define Project”工具的名稱使用“Define Coordinate System”更為貼切。因為這個工具是定義坐標系(Coordinate System),而不是定義投影(Project)。有意思的是,“Define Project”工具窗口中“坐標系的輸入框”的名稱是“CoordinateSystem”,而不是“Project”(圖18)。因此,為何ESRI會使用“Define Project”這個工具名,頗令人費解。
3.3 坐標系轉換
坐標系轉換是指轉換數據的真實坐標系。坐標系轉換的前提是數據的屬性坐標系與數據的真實坐標系吻合。矢量數據的坐標系轉換通過ArcToolbox -> Projections and Transformations -> Project工具來實現(圖19),柵格數據的坐標系轉換通過ArcToolbox -> Projectionsand Transformations -> Raster -> Project Raster工具來實現(圖20)。(注:不同ArcGIS版本工具在ArcToolbox中的位置可能略有不同,此處為ArcGIS 10.3中的路徑)。
在選擇好輸入數據,並定義好輸出數據及其坐標系后,用戶有可能被要求定義“Geographic Transformation”。這個“Geographic Transformation”被用於兩個不同地理坐標系(大地測量系統)之間的轉換。只有當輸入坐標系和輸出坐標系擁有不同的大地測量系統時,這個輸入才被要求。在某些情況下,系統會從已有的“Geographic Transformation”中根據輸入和輸出坐標系自動選擇出合理的“Geographic Transformation”(圖20),而某些情況下則需要用戶從已有的“Geographic Transformation”中進行選擇(圖19)。
坐標系轉換理論上可以在任意兩個覆蓋了數據范圍的坐標系之間進行。坐標系轉換可以在地理坐標系與投影坐標系之間,可以在地理坐標系與地理坐標系之間,也可以在投影坐標系與投影坐標系之間。
坐標系轉換包括了兩種過程:1)大地測量系統(地理坐標系)轉換;2)投影(或反投影)。例如,將地理坐標系“GCS_WGS_1984”轉換為投影坐標系“Xian_1980_GK_CM_117E”包括了兩個過程:分別是一個將大地測量系統“D_WGS_1984”轉換為大地測量系統“D_Xian_1980”的過程和一個將地理坐標系“GCS_Xian_1980”投影為投影坐標系“Xian_1980_GK_CM_117E”的過程。再例如,將投影坐標系“WGS_1984_Web_Mercator”轉換為投影坐標系“WGS_1984_UTM_Zone_50N”包括了三個過程:分別是一個將投影坐標系“WGS_1984_Web_Mercator”轉為地理坐標系“GCS_WGS_1984_Major_Auxiliary_Sphere”的過程(反投影),一個將大地測量系統“D_WGS_1984_Major_Auxiliary_Sphere”轉換為大地測量系統“GCS_WGS_1984”的過程和一個將地理坐標系“GCS_WGS_1984”投影為投影坐標系“WGS_1984_UTM_Zone_50N”的過程。
柵格數據的坐標系轉換與矢量數據的坐標系轉換的一個重要不同是:柵格數據的坐標系轉換需要設置柵格分辨率(圖21)。如果是投影坐標系之間或地理坐標系之間的轉換,系統一般會默認分辨率數值不變,如果是地理坐標系與投影坐標系之間的轉換,系統會自動估計出一個合理的分辨率數值。例如第2節中提到的81.4520173米對應於0.00083333333度,也即地理坐標系中的0.00083333333度對應於投影坐標系中的81.4520173米。由於這里的轉換是對數據的真實坐標系的永久性轉換,和在地圖顯示中的“臨時性坐標轉換”不同,柵格數據的坐標系轉換不但使柵格數據的分辨率數值改變,也使新數據在目標坐標系中顯示時其每個柵格不再“傾斜”,盡管其整體輪廓可能還是“傾斜”的(圖21)。
同樣,個人以為,“Project”和“Project Raster”的工具名用“Transfer ”替代“Project”也許更為貼切。因為這兩個工具做的工作是坐標系轉換(Transfer),而不是投影(Project)。另外,ESRI將用於柵格數據坐標系轉換的工具命名為“Project Raster”,卻不將用於矢量數據坐標系轉換的工具命名為類似對應的“Project Feature”,不知有何考慮。
因此,ArcGIS中坐標系定義和轉換的工具名稱(包括Define Project、Project和Project Raster)可能對用戶使用工具和理解坐標系的有關概念有一定誤導。
3.4 坐標系猜測
坐標系猜測是指猜測數據的真實坐標系,並且把數據的屬性坐標系設置為真實坐標系。這在不知道數據的坐標系或數據的屬性坐標系是錯誤的時候是需要的。比如,給你若干點的坐標值,但是不告訴你這些坐標值是在什么坐標系下的坐標值。在這種情況下,最好的方式是向數據的提供方詢問數據的真實坐標系是什么。
如果不得不猜測數據的真實坐標系,其基本原理是根據數據的坐標值特征來猜測。經驗將會很重要。如果數據的坐標值看起來像是經緯度數值,那么認為其真實坐標系為地理坐標系“GCS_WGS_1984”將不會帶來很大誤差。如果數據的坐標值是地面長度(通常數值很大),那么可以基本認為其真實坐標系為投影坐標系。如果知道該數據大概的空間范圍,可以找出該空間范圍內的坐標系正確的任一“參考數據”,將其與屬性坐標系未知的“目標數據”加載於同一地圖中,並將地圖坐標系設置為你懷疑的投影坐標系。當目標數據與參考數據范圍吻合時,可以猜測此懷疑的投影坐標系即為目標數據的真實坐標系,並可輔以其他手段進行驗證。懷疑的投影坐標系可以有很多個,選擇哪些投影坐標系作為懷疑對象,需要基於經驗根據數據的坐標值特征進行判斷。比如,加投影帶號與不加投影帶號的投影坐標系中的數據X坐標值的大小在很多時候是有明顯差異的。
4. 總結
在數據分析之前,進行以下有關坐標系的准備工作是一個良好的習慣:
1)使所有數據都有坐標系定義,也即使所有數據都有屬性坐標系;
2)保證所有數據的坐標系都是正確的,也即使所有數據的屬性坐標系都與其真實坐標系吻合;
3)統一所有數據的坐標系,利用坐標系轉換實現。並且,這種統一的坐標系一般宜為投影坐標系,
因為只有在投影坐標系下才能正確地進行距離、長度、面積、坡度等度量的計算。當然,有時我們做大尺度的工作,比如進行全球尺度的顯示或分析時,一般就用地理坐標系,不用投影坐標系。