本次操作使用的ArcGIS版本為 10.8 。
第Ⅰ部分:試題
一、 案例背景
我們需要制作一幅國際航線圖,圖上需要繪制全球大陸、中國、飛機航線和對應的飛機場。地圖使用的坐標系是 World_Winkel_Tripel_NGS,中央經線東經 150° 。
二、 數據說明(見 “上午A” 文件夾中的 “數據” 文件夾)
- 世界大洲.shp:世界大洲面數據。
- 世界地圖.jpg:一張坐標系是WGS1984,中央經線是東經 150° 的世界地圖。
- 國際航班表.xls:需要在地圖上展示的飛機航線信息表。
- 機場 ICAO 碼.xls:機場 ICAO 碼信息表。
- 世界機場部分.shp:全球部分機場點數據。
三、 分析要求(100分)
-
使世界地圖有正確的坐標值和坐標系(20分)
1)世界地圖.jpg 的坐標系是 WGS1984,中央經線是東經 150° 。
2)請創建一份正確的世界地圖數據,命名為 “世界地圖配准” 。
地理配准時請在世界地圖.jpg的原坐標系下進行,正確位置信息參考世界大洲.shp 。
3)請在工作報告文檔中截圖附上步驟中涉及到的坐標系信息,否則不予得分。 -
數字化中國地圖數據(30分)
為了達到下圖的效果,請參考上一步的世界地圖配准數據結果,數字化所有缺失的中國數據。
-
創建飛機航線線數據和機場點數據(30分)
1)創建國際航班表中的所有航線信息線數據,命名為 “國際航線” 。
2)創建上一步航線中涉及到的所有機場點數據,命名為 “機場數據” 。請在工作文檔報告中截圖附上機場數據的屬性表截圖,截圖中要求能看到機場中文名稱字段和機場數量信息。每個機場只用一個點表示,請勿重復。 -
制作國際航線地圖(20分)
1)地圖的背景請參考下圖樣式:
a)為了完成下圖樣式,根據需要創建缺失的數據。
b)深藍色輪廓線 RGB:42,176,239。
c)淺藍色背景色 RGB:224,242,252。
d)黑色輪廓線 RGB:88,88,88。
e)坐標系為 World_Winkel_Tripel_NGS,中央經線為東經 150° 。地圖背景參考圖2)國際航線數據和機場點數據,請自己選擇合適的符號。 3)不需要排版出圖(無需添加指北針、經緯網、圖名、圖例等信息),請在工作文檔報告中截圖附上最終制圖成果。
第Ⅱ部分:參考解題過程
一、 配置默認地理處理環境
在 “結果” 文件夾下新建文件地理數據庫 “am.gdb” ,並右鍵設為默認地理數據庫。

二、 導入數據並查看坐標系
從【目錄】中拖入 “世界大洲.shp”、“世界機場部分.shp” 和 “世界地圖.jpg” 三個圖層,發現世界機場部分點數據的坐標系為 WGS1984 ,世界大洲面數據的坐標系為 WGS 1984 Web Mercator Auxiliary Sphere ,世界地圖的坐標系為 Unknown 。且數據框的投影坐標系自動與世界大洲的投影坐標系保持一致。


三、 地圖配准
- 更改數據框的投影坐標系
從上一步我們可以發現世界大洲和世界地圖的中央經線不一致,所以看起來左右半球剛好相反。為進行地理配准,需要將世界大洲投影成與世界地圖相同的形狀,這一步可以通過更改中央經線完成。
右鍵【圖層】,選擇【屬性】,打開【坐標系】選項卡,選擇 GCS_WGS_1984 地理坐標系並雙擊進入參數設置界面如下圖 4 所示,更改坐標系名稱為 “GCS_WGS_1984_150” ,並將本初子午線的名稱設置為 “<自定義>” ,經度為 150° 。

之后,打開地理配准工具條並開始地理配准。

- 地理配准並校正
首先打開鏈接表,關閉【自動校正】,然后創建鏈接對,根據題目要求將鏈接對數據保存為 “RMS.txt” 。

設置配准方法為【校正】,並在地圖配准工具條下拉選擇【校正】而不是【更新地理配准】,這樣做的好處是可以保留原始世界地圖數據,並創建新的 "世界地圖配准.tif" 。

下圖 8 為地理配准效果。查看校正結果的坐標系,可以發現校正結果被自動賦上一個坐標系,並且與數據框的坐標系相同。


四、 數字化缺失的中國數據
數字化這一步相對比較容易,首先在文件地理數據庫 “am.gdb” 下新建要素數據集 “China”,要素數據集 China 的坐標系設置為 GCS_WGS_1984,其余設置可以保持默認。然后在要素數據集下面新建要素類 “Border” 和 “Nine_line” ,然后以 "世界地圖配准" 為參照進行矢量化。


五、獲取國際航線與機場數據
首先描述這一步的大致思路,第一需要將 EXCEL 表格導入成屬性表,然后依據 ICAO 字段將 “世界機場部分” 與 "ICAO碼" 進行連接獲取機場的中文名稱。 第二步是要依據機場中文名稱獲取 ”國際航班表“ 中每一條航線的起點和終點的 XY 坐標。第三步即根據 ”XY轉線“ 工具獲取國際航線,最后獲取相關機場數據。
- 獲取機場中文名稱
打開【ArcToolBox】|【轉換工具】|【Excel】|【Excel轉表】工具,將 ”國際航班表“ 和 ”機場ICAO碼“ 導入到文件地理數據庫 "am.gdb" 中。

打開 "世界機場部分" 的屬性表,添加 “中文名” 字段,類型設置為文本。初始化為空值。

連接 “世界機場部分” 與 “機場ICAO碼” 。

再次打開 “世界機場部分” 屬性表,可以看到后邊新增了幾列。右鍵 “中文名”,選擇字段計算器來獲取 “世界機場部分.中文名”,該步驟截圖如下所示:

至此,機場的中文名稱已經獲取完畢,可以取消連接。
- 獲取航線起點與終點的 XY 坐標
第一步,獲取世界機場部分的 XY 坐標:打開【ArcToolBox】|【數據管理工具】|【要素】|【添加XY坐標】工具,輸入為世界機場部分,操作結果如圖 16 所示,最后兩列分別為 "POINT_X" 和 “POINT_Y” 字段。

第二步之前已經獲取每一個機場的坐標,接着在第二步中需要獲取每一條航線的起點和終點的坐標。可以想到,這里需要進行 2 次連接,但是在 ArcGIS 中兩個屬性表無法同時建立 2 個連接。那怎么辦呢?方法就是先將需要的字段提前在 “國際航班表” 中創建好,然后進行第 1 次連接,接着使用字段計算器進行賦值。第 2 次連接之前取消上一步的連接,然后重復上一步的操作,這也算是一個小技巧。
第二步,在國際航班表中添加 4 個字段,類型為雙精度,字段名稱如下圖所示:

將 “國際航班表” 的 “出發城市與機場” 與 “世界機場部分” 的中文名進行第 1 次連接,然后使用字段計算器對上圖中的 “起點POINT_X” 和 “起點POINT_Y” 進行賦值。取消第 1 次連接,然后將 “國際航班表” 的 “目的地城市與機場” 與 "世界機場部分" 的中文名進行第 2 次連接,使用字段計算器對 “終點POINT_X” 和 “終點POINT_Y” 進行賦值。


最后,查看國際航班表:

- 獲取國際航線
上一步中,已經知道每一條航線的起點與終點的 XY 坐標,可以依據此進行 XY 轉線以獲取國際航線。打開【ArcToolBox】|【數據管理工具】|【要素】|【XY轉線】,詳細設置界面如下所示:

大家也可以嘗試一下,如果空間參考選擇為 GCS_WGS_1984_150 ,XY轉線的結果也即國際航線會是什么樣子,具體這里為什么選擇 GCS_WGS_1984 ,歡迎看到這里的小伙伴一起來交流!
- 獲取機場數據
思考一下,相關機場的特征是什么?其實相關機場就是國際航線的端點,而在 ArcGIS 的【按位置選擇】中,可以通過 “接觸源圖層要素的邊界” 來對世界機場部分進行篩選,然而不幸的是,ArcGIS Desktop 10.8 這個版本在使用這個工具時會出現錯誤並且強制退出。最終我用 “與源圖層要素相交” 這一空間選擇方法作為替代,來篩選機場數據,實際效果也是完全一致。

右鍵 “世界機場部分” ,選擇【導出數據】,將所選要素導出到文件地理數據庫 “am.gdb” 中,命名為 “機場數據”。其屬性表如下所示,可見機場中文名稱,並且機場數量為 89 。

六、 制作地圖背景並成圖
- 繪制矩形背景
新建要素數據集 “World”,其坐標系仍然為 GCS_WGS_1984,然后將 “世界大洲.shp” 導入到要素數據集當中,然后新建要素類 “Background” ,打開【編輯器】,設置編輯對象為 “Background”,然后以 “世界地圖配准” 的 4 個頂點為參照繪制出一個矩形。

創建矩形背景之后,無法確定左右邊界是否准確,因此需要更改中央經線,然后對背景進行修理,使縫隙或重疊完全消失。
- 更改中央經線並編輯折點
保存編輯結果並停止編輯,右鍵【圖層】,將數據框的坐標系更改為 GCS_WGS_1984。開始編輯 “Background”,點擊編輯器下拉按鈕,打開【捕捉】。選中編輯器的【選擇】按鈕,選中Background,右鍵點擊【編輯折點】,


當背景圖層完全密合后,保存編輯結果並退出編輯。將數據框的坐標系更改回 GCS_WGS_1984_150 。右鍵圖層設置符號形狀及大小,國際航線地圖的簡單線性投影如下。

- 更改數據框坐標系
右鍵【圖層】,更改數據框坐標系為 Winkel Tripel (NGS - World),雙擊該坐標系以修改 Central_Meridian 為東經 150° 。

國際航線地圖如下:

結尾:參賽收獲及數據下載地址
這道題目一直在使用的坐標系 GCS_WGS_1984 其實只是地理坐標系,那么,為什么它不是投影坐標系卻可以顯示在平面上呢?通過搜索,我后來才明白 ArcGIS 使用一種簡單的普通線性投影 WGS_1984_Plate_Carree 來作為地理坐標系 GCS_WGS_1984 的投影方法,所以這里使用到的 GCS_WGS_1984 都改成 WGS_1984_Plate_Carree 也是可行的,甚至要更可靠一些。
我當時在參加比賽的過程沒能和隊友完成這一道題目,現在來看原因主要是地圖投影。當我們准備地圖配准時,看到世界大洲和世界地圖的左右半球剛好相反,於是我一下就懵了。地圖投影對地理數據的處理真的是太關鍵了,沒有正確的坐標系,后邊的坐標計算都是白搭。此外,修改中央經線這樣的騷操作也是我一開始沒有想到的。不過,比賽結束之后重新完成這道題目給我帶來了更大的收獲。
數據下載地址(提取密碼:zy65)
參考資料:
GIS地圖投影的幾分感想
第十屆全國大學生GIS應用技能大賽上午(試題及參考答案)
路過圖床提供在線圖片支撐。