隨著自然資源部的成立以及“建立國家空間規劃體系”的提出,無論是國土規劃還是城鄉規劃都在向統一的空間規劃體系轉變升級。作為統一空間規劃體系的重要事件,2018年7月1日起,自然資源部全面啟用2000國家大地坐標系,以此作為統一空間規劃的一致性空間參考體系,對于城鄉空間規劃的空間參考要求也將會越來越高,城鄉規劃師也需要逐步學會如何將多元數據在不同空間參考下進行轉換,尤其是轉換為國家2000大地坐標系,這就是作者撰寫本文的初衷,本文命名為《空間規劃師的坐標轉換手冊》,其實更像是一個入門介紹,并不像手冊那么深入完善的面面俱到,主要是怕寫的太深又把我們規劃師朋友講糊涂,本文重點是想讓規劃師能看懂,能理解坐標系及其轉換的原理,但我還是保留了這個名字,一是本文主要針對城鄉規劃師,二是希望規劃師朋友們能把它像手冊一樣收藏,有需要的時候就想手冊一樣把它打開看看能夠解決疑惑。
本文不是一篇專業的坐標系理論學術文章,而是試圖盡量避開參數堆疊,通過規劃師能理解的語境(作者本人也是規劃出身的業余GISer),對坐標系的原理進行簡化講解,并對坐標系定義和轉換的方法進行概括梳理,以便規劃師在日常工作中需要的時候參考閱讀。
作為一名城鄉規劃師,在傳統的CAD+SU+PS的套路下,對坐標系的定義是弱化了的,甚至是完全忽略的,通常認知里,只有測繪和地信相關專業才會關注空間參考坐標系的定義,也只有他們才懂坐標系轉換,對于規劃設計專業的朋友來講,一是看不懂各種復雜的坐標系參數,二是不會GIS,不知道如何進行坐標轉換操作,看到各類介紹坐標系知識的文章和教材是非常晦澀的,通過閱讀本文,規劃師可以初步理解坐標系及不同坐標系之間的轉換原理,結合專業的學術專著及論文可進一步深入學習研究。
一、坐標系的原理概述
1.1坐標系的相關原理
(1)坐標系
無論是在抽象的數學幾何空間還是在現實的地理空間中,我們要確定一個要素(點、線、面、體或者地理對象)的空間位置,都要定義一個坐標系作為空間參考,然后以這個坐標系下的坐標值去描述要素的空間位置。
對于同一空間要素,定義不同的坐標系,其空間參考位置就會存在差異,對應的其坐標值也就不一樣,如圖1.1、圖1.2就是同一個要素點M在兩個不同坐標系下的坐標值描述,在A坐標系的空間參考下,M點的坐標值為(3,2),在B坐標系下M點的坐標值為(4,3)。
▲圖1.2對點要素定義空間參考(坐標系)B所獲得的坐標值(4,3)
(2)坐標轉換
正如上文所述,M點在A、B兩個不同的坐標系空間參考下,其坐標值是不一樣的,假設當前M點的空間參考為坐標系A(如為西安80坐標系),其對應坐標值為(3,2),現根據某些要求(如現在國家要求統一轉換至國家大地2000坐標系),需要將其空間參考轉變為坐標系B(假設為國家大地2000坐標系),那么對應的坐標值也將會轉變為(4,3),這里有兩種方法可以實現:
第一種方法就是保持坐標系A的空間位置不變,將M點移動到坐標系A下的(4,3)的位置后從新將坐標系A強制性定義為坐標系B,如下圖1.3所示;
▲圖1.3 坐標轉換方式一:移動要素
第二中方法是保持M位置不變,將坐標系A向左、向下分別移動一個單位,及將坐標系A變換為坐標系B,則M的坐標值也會變成(4,3)。
▲圖1.4 坐標轉換方式二:移動坐標系
以上就是簡化后的坐標和坐標系變換的基本原理,然而實際的地理坐標和坐標系變換要復雜的多,這是因為一方面地球表面不是上圖中簡單的規則圖面,另一方面地理坐標線也不是上圖中簡單的直角坐標系,具體請參閱相關專業文檔,本文僅做簡單院里講解,便于規劃師入門理解。
(3)坐標轉換變形
以上兩種坐標轉換方法都只有平移變換,其都有個前提,就是A、B兩個坐標系的坐標尺度和單位是一致的,這就是我們常見的地理坐標系向地理坐標系轉換,投影坐標系向投影坐標系之間轉換的簡化原理。
另外一種情況是兩個坐標系之間的坐標尺度和單位不一致,如下圖1.4、圖1.5所示,坐標系B的Y軸刻度是坐標軸A的一半,也就是坐標刻度尺寸不一樣,因此Y軸方向同樣距離在坐標系B下會比坐標系A顯示效果進行收縮顯示,最后導致圖形顯示變形。這就是我們在坐標轉換中常見會遇到的變形,常見于地理坐標系與投影坐標系之間的轉換,因為地理坐標系的單位是角度單位(度、分、秒),而投影坐標系的坐標單位為公制單位(米、千米等)。
對于地理要素坐標轉換而言,除了縮放變形之外,通常還伴有旋轉扭曲變形。
▲圖1.5 坐標轉換變形
根據以上的分析,我們在進行地理空間要素坐標變換時通常會涉及到平移、縮放、旋轉幾類操作,對應的變換參考量選擇就可能會有4個參考量(3個平移參考量,1個縮放因子參考量,沒有旋轉變形)或者7個參考量(3個平移參考量、3個旋轉角度參考量、1個尺度縮放因子參考量),這就是我們常見的4參數、7參數坐標轉換的來源。
2.2 地理要素空間參考坐標系分類
(1)地理坐標系
我們知道地球是不規則橢球體,在進行地理要素定位描述時,通常會用一個最接近于地球形狀及其表面的規則橢球體對齊進行擬合,然后再基于這個橢球體構建一個球體坐標,也就是我們常說的地理坐標系,該坐標系的坐標原點為擬合橢球體的球心,也就是最接近于地球球心的點,通常有地球質心或幾何中心,地球表面的點通過經緯度來表示,其坐標值的單位為度、分、秒,根據球心的不同通常有地心坐標系(WGS84)或參心坐標系(Xian80)等。地理坐標系通常用來表示地物的位置,不太適合用來測量地物的長度、面積等尺度大小。
(2)投影坐標系
在日常工程設計中,我們除了了解地理要素的位置之外,通常還需要了解地理要素的長度、面積等尺度大小,也需要了解不同地理要素之間的距離等屬性,測量單位通常為米、千米等公制單位,因此就需要將地理坐標系轉換為以公制(米、千米等)單位為坐標系單位的投影坐標系,這個過程就是地圖投影。
前面我們講到,不同坐標系之間的轉換存在變形,尤其是地理坐標系向投影坐標系之間轉換,加上地球表面的復雜性,因此地理坐標系向投影坐標系轉換過程中必然存在復雜的變形,同時也就會產生不同程度的誤差,為了減少這種誤差以提高測繪的準確性,不同地域、不同尺度下就有不同的地圖投影方法,以減少轉換變形和誤差,提高測繪精度,因此也就有不同的投影坐標系了。換個說法就是不同尺度或不同地域會用最接近于其對應地球表面的的球面去擬合地球球面,然后再進行投影變換,以得到最接近于真實情況的地球表面地物的坐標值。這就是地圖投影及投影坐標系的意義所在。
(3)我國常見坐標系
在我國的測繪及相關地理信息產品中,常見的坐標系有:
WGS84地理坐標系(通常會用UTM橫軸墨卡托對其進行投影)
北京54坐標系(包含地理坐標系及其對應的投影坐標系)
西安80坐標系(包含地理坐標系及其對應的投影坐標系)
國家大地2000坐標系(包含地理坐標系及其對應的投影坐標系)
地方獨立坐標系(常用于局部區域的空間參考)
另外還有兩類坐標系,分別為GCJ02、BD09坐標系,也就是我們常說的火星坐標系和百度坐標系,常見于國內網絡地圖產品,其中百度地圖相關產品使用的是百度坐標系、國內其他地圖產品用到的是火星坐標系,這兩類坐標系都是在國家大地坐標系基礎上做了二次變形,而且其變形參數是保密的。(注意,Google地圖所用的是WGS84世界地理坐標系)
【TIPS】
關于各種不同地理坐標系及投影坐標系的參數可通過網絡自行查閱,本文不再贅述,以免又把大家講暈。
【END】
二、ArcGIS中的動態投影
在講下一步之前,我們在這里先簡單說一下ArcGIS中的動態投影,這對于理解坐標系空間參考也是非常重要的知識點。
動態投影就是在ArcGIS中,每一個地理數據框架(MXD文件)可以有一個獨立于數據的空間參考坐標系,而這個坐標系可以與數據的坐標系相同,也可以不相同;不同數據之間的坐標系也可以相同,也可以不同,只要是同一個地理空間范圍的數據并定義了正確的坐標系,那么在同一個地理數據框架(MXD)文件中,他們就能正確的空間疊加顯示和分析。
如圖2.1,為某地區衛星影像圖,其空間參考坐標系為WGS84的地理坐標系。
▲圖2.1 WGS84坐標系數據
如圖2.2,為相同地區的現狀用地圖斑,其空間參考坐標系為西安80投影坐標系。
▲圖2.2 西安80坐標系數據
如圖2.3,當我們將上述圖2.1、2.2所示兩個不同數據加載到同一個MXD圖層框架中時,兩個不同坐標系不同的數據圖層能自動對齊,這就是ArcGIS中神奇而又強大的動態投影。
▲圖2.3 動態投影顯示數據
三、為什么要統一使用2000坐標系
要求《國土資源部 國家測繪地理信息局關于加快使用2000國家大地坐標系的通知》(國土資發〔2017〕30號),2018年7月1日起,將在全系統各類自然資源空間數據全面使用2000國家大地坐標系。
那為什么要統一使用2000國家大地坐標系呢,根據前文的描述,我們定義坐標系的目的是通過數學方法擬合表示地理空間,不同坐標系就是采用不同的數學描述方法對地理空間(某一區域地球表面)進行擬合,不同坐標系也就是說不同的數學描述方法對地理空間的擬合精度是不一樣的,我們在坐標系設計的時候就是盡可能的優化和修正這個數學方法,讓它更接近于我們真實的地理空間,簡單理解,2000大地坐標系就是比原來北京54和西安80能夠更好擬合我國國土地理空間的一種坐標系,使用2000大地坐標系對我國自然地理要素進行空間位置和尺度描述時比原來的北京54和西安80更準確,因此我們現在需要使用精度更高更準確的2000大地坐標系。
四、各類坐標系轉換2000坐標系的方法
在我們日常的規劃設計中,會遇到各種空間數據類型,歸納起來主要包括矢量、柵格兩大類,不同的數據數據或許有坐標系,或許沒有定義坐標系,即使定義了坐標系也可能是各種不同的坐標系,在這里引用我在另一篇推文里面關于坐標系定義和投影變換操作邏輯圖(詳情見《說說投影和坐標系那些事兒》),請將圖中最后的"目標坐標系"替換為的2000坐標系即為轉換2000坐標系的邏輯思路。
▲圖4.0 | 坐標系和投影操作總體流程圖
(注意圖中黑色線條是針對單個數據的流程,藍色線條流程是針對多個數據的流程)
既然都要轉換為2000坐標系,就要分別進行闡述,本文根據各類坐標系的轉換方法,總體上將數據分為三大類,分別是已知坐標系及坐標參數的數據,已知坐標系但是未知坐標系參數的數據以及未知坐標系的數據,下面分別針對本文描述的三大類數據及其轉換方法進行闡述。
4.1已知坐標系及坐標系參數
已知坐標系及坐標參數就是指我們拿到一個數據,我們明確知道其坐標系為某一特定坐標系,而且有可能在其數據屬性中已經定義了對應的坐標系信息,即使沒定義,我們根據知道的坐標系信息也可以對其定義準確的坐標系(對于數據的坐標系定義請參考《說說投影和坐標系那些事兒》),這類數據常見于之前國土、林業等部門提供的Shapefile格式數據,一般為我國之前使用的北京54及西安80坐標系,另外在網上下載的公開影像圖、數字高程DEM等數據也會有公開的WGS84坐標系,對于這類數據,其轉換方法較為簡單,因為北京54、西安80以及國家大地2000坐標系的坐標參數都是內置于ArcGIS系統中的,其坐標系之間的轉換可以通過ArcGIS自動完成。
(1)如圖4.1.1,原始數據“衛星影像圖”坐標系為WGS84地理坐標系,現在需要將其轉換為國家2000大地坐標系。
▲圖4.1.1 原始WGS84坐標系數據
(2)如圖4.1.2,設置數據框圖層的坐標系為我們需要轉換的目標坐標系——國家2000大地坐標系,此處應該選"投影坐標系-Gauss Kruger-CGCS2000-CGCS2000 3 Degree GK CM 102E",設置完點擊“確認”即可(有警告提示請點“是”)。
▲圖4.1.2 設置數據框坐標系屬性
【TIPS】
1、CGCS2000跟西安80、北京54一樣都是采用的高斯克格的分帶投影方法,但這并不代表他們的坐標系參數一樣,因為除了投影方法,還有他們的橢球體以及基準面是不一樣的,可以按前文理解就是他們的坐標系參考原點和坐標軸的位置是不一樣的。
2、這里選擇CGCS2000 3 Degree GK CM 102E的原因是因為我們所選擇的區域正好位于經度東經102度附近,所以在實際應用中請根據實際數據所在區域選擇離其最近的中央經線投影帶即可。(末尾的102E即表示該投影帶對應的中央經線)
【END】
(3)如圖4.1.3,在數據層上"右鍵數據導出數據",在導出數據設置對話框按圖中將空間參考設置為“數據框(當前)”,也就是我們之前定義的國家2000大地坐標系,這就是我們需要轉換的目標坐標系,按此設置后點擊保存即可,導出的數據會自動完成坐標轉換。
▲圖4.1.3 按目標坐標系導出數據
(4)如圖4.1.4,我們打開轉換完成后的數據屬性,查看其坐標系信息,已經成功轉換為我們的國家2000大地坐標系。
▲圖4.1.4 轉換成果數據
通過對比,可以發現轉換后的數據與轉換前的數據完全重疊,似乎并沒有變化,這正是因為兩個數據都是定義了“正確”的坐標系,ArcGIS通過動態投影將該地理空間數據進行了正確的空間參考表達,因此兩個數據必然能夠完全重疊。
這種對于已知坐標系及其參數的數據坐標系轉換是相對簡單的轉換方法,所以我們拿到數據首先就看其有沒有原始坐標系,如果有的話我們就可以直接按這種方法進行坐標系轉換。
一般情況下,WGS84、北京54、西安80幾種坐標系都可以按這種方法轉換為國家2000大地坐標系。
4.2已知坐標系但未知坐標系參數
已知坐標系但是未知坐標系參數是指我們能夠判斷某一個數據對應的坐標系,但是由于保密等原因,其坐標系參數是不公開的,所以即使我們知道是某一個坐標系,也不能將這個坐標系定義到數據上,火星坐標系和百度坐標系就屬于這一類,出于保密要求,他們都是在國家標準大地坐標系基礎上做了偏移和變形的,而且偏移和變形參數屬于保密信息,所以我們無法在GIS系統中直接對其定義相應的坐標系。
對于這兩類坐標系的轉換本文介紹兩種方法,分別為手動矯正、配準和第三方輔助法。
(1)手動矯正、配準
手動矯正、配準是指在不知道數據的空間參考坐標系的前提下,強制對其定義為國家2000坐標系,然后通過手動移動、變形等操作將其對齊到正確位置上。
在ArcGIS中針對矢量和刪格數據,分別使用空間矯正和地理配準來實現數據的手動矯正和配準。具體操作方法參照本公眾號歷史推文,本文不再贅述:
《“空間校正”在坐標變換中的應用》、《“地理配準”在坐標變換中的應用》
(2)第三方輔助法
第三方輔助法是指通過第三方工具實現坐標系的轉換,該類工具網上較多,使用比較多的有城市數據派和南京師范大學張海平博士開發的GeoSharp、未來交通實驗室開發的萬能坐標轉換工具等;另外,網上還有很多基于JAVA、Python語言的轉換代碼。針對第三方工具請參考對應使用手冊和幫助文件,對于轉換代碼需要一定編程基礎,本文作為面向大部分規劃師的教程,不做深入介紹,如果有興趣的可以自行研究。
本文推薦在小范圍內的少量數據可以使用手動矯正和地理配準的方法進行坐標系轉換,對于數據量大,精度要求相對較高建議使用第三方工具或者代碼法進行轉換。
需要說明的是,常見的第三方工具及公開代碼通常只能將火星坐標系或百度坐標系轉換為WGS84地理坐標系,我們通常需要在此基礎上按前文所述再將其轉換為我們需要的國家2000大地坐標系。
4.3未知坐標系(必然未知坐標系參數)
未知坐標系是指事先無法知道數據本身的坐標系信息,甚至也無法從數據的坐標值大概判斷其坐標系信息。
(1)獨立坐標系
獨立坐標系是各地方制定的更符合當地擬合精度要求的坐標系,由于不同地方對應不同的獨立坐標系,因此我們是很難對獨立坐標系進行統一的參數定義和屬性描述,況且獨立坐標系的參數都是保密的,因此我們也是無法對數據進行獨立坐標系的定義,此類坐標系的正確轉換方法是交由當地測繪信息主管部門進行轉換,然后再進行使用。在無法識別其是否為獨立坐標系或者無法交由相關部門轉換的情況下就只能將其作為未知坐標系進行轉換處理。
(2)其他未知坐標系
在規劃設計項目中,我們還經常會遇到各類成果JPG甚至是PDF格式的圖紙,這類圖件就完全不具有空間參考坐標系了,如果我們要將他納入GIS信息系統中對其進行空間位置定義,就需要對其定義一個坐標系,以便其識別準確的地理位置。
針對以上的未知坐標系,如果需要將其轉換為國家2000坐標系也是先將其定義為2000坐標系,然后通過空間矯正(矢量數據)或地理配準(刪格數據)的方式進行坐標系變換。
具體操作方法參照本公眾號歷史推文,本文不再贅述:
《“空間校正”在坐標變換中的應用》、《“地理配準”在坐標變換中的應用》
五、總結
坐標系和投影變換的概念和操作一直是GIS學習中的重難點,甚至有人將其形容為規劃專業學習GIS的壁壘,尤其是在地信和測繪專業的語境中對坐標系和地圖投影的介紹都會涉及到各種參數,這對于規劃專業的學生或者從業者來講無異于看天書,然而對于規劃師來講,如果不能很好的理解坐標系和地圖投影的原理以及轉換方法,在GIS學習和使用過程中必然會遇到各類莫名其妙的問題,而現在隨著自然資源部的成立,以后對于城鄉規劃中的地理空間參考的重視程度和要求必然會越來越高,統一使用2000坐標系就是一個重要的標志性事件,本文試圖通過這次契機,以理論解釋和實際操作相結合的形式,讓規劃師能夠更好的理解空間參考坐標系的含義,并能夠在ArcGIS中方便快捷的完成規劃設計項目中的坐標轉換,以此進一步幫助規劃師理解坐標系的含義,激發GIS學習的興趣和積極性。
當然,由于作者能力有限,文中難免有錯誤和不足,本文僅作為規劃師入門學習坐標系和投影變換的建議參考操作手冊,系統的理論知識還請查閱相關專業書籍或教程,在坐標轉換過程中或者針對本文有任何疑問或者問題請在本公眾號(UGISER)留言或者直接添加后臺微信號(UGISER0084)咨詢,由于是非商業運營,后臺回復可能不及時,敬請諒解!