使用 Python工具來建立 Ring map

 

作者已經將 Python 工具開發完成,使用者只要透過工具處理就能夠建立 Ring Map。他們還提供了這個工具在 ArcToolbox 中,另外也包含了練習的檔案,讓使用者練習如何建立一份 Ring map。

 

多時間維度的屬性資要展現在單一的地圖上是較為困難的。一般來說使用者可使用多線性圖表來表達時間的趨勢在不同的空間上的變化,或是直接建立柱狀圖在GIS的地圖上。然而用多線性圖表很難去表達如何呈現時間與空間的關聯性,並且使用柱狀圖有時會有重疊的狀況發生。
 
2008年在華盛頓特區Georgetown大學醫學中心的研究人員提出了採用環形地圖整合多維度或多屬性的資料到單一的地圖上備註


 圖1:開啟一個新的地圖文件(mxd)並且加入 Arizona.shp 和 ringmap 工具到 ArcToolbox 中

 

 

Ring map 是使用一個底圖為中心的圖徵,並且圍繞在周圍的 Ring 與其屬性所表達的內容相對應。資料會隨著時間的變化,例如每周的疾病監測數量、每年癌症發生率/死亡率,或每月的犯罪率,都可以採用 Ring 地圖來展示。其他資料也可以透過合併及使用在觀察不同屬性資料間可能的關聯性。
 
雖然 Ring Map 是一個強大的工具,但卻沒有詳細的步驟可以告訴我們要怎麼去執行。作者開發這樣一個工具讓我們可以在 ArcGIS 10.1 或以上的環境使用這樣的工具。
 
ArcPy 和 Python 語法能透過 ArcToolbox 中找到。這個工具能透過三個步驟來建立一個 Ring Map。第一個步驟是由使用者指定並建立多個 Ring。第二個步驟是建立線圖徵,線圖徵將會連結到 Ring 及相對應底圖的重心位置上。
 

第三個步驟是建立一個索引的欄位,這個欄位可供 Ring Map 作為與其他表單合併的基礎。在這個範例中,癌症的發病率記錄在 Microsoft 的 Excel 表單中,隨著 Ring 的數量增加,計算的時間也會增加。

 


圖2:執行第一個步驟的 Script 具來建立 Rings 到地圖上

 


圖3:執行步驟 2 的 Script 工具建立線性連結底圖到 Ring 上

 

 

 開始練習

 


 

您將需要的軟體工具

  • ArcGIS 10.2 for Desktop ( Advanced 授權)
  • RingMap toolbox和 ArcUser 網站上的範例檔案
  • 使用WinZip來解開壓縮文件

 


 

這個練習使用一個範例的資料集,資料集包括練習的資料及 RingMap 工具箱,你可以從 ArcUser 的網站上下載它們。資料描述從 2006 至 2010 年在亞利桑那州的 15 個縣內年齡標準化的女性乳癌發生率。這些資料是從亞利桑那州衛生服務部所提供。五個 Ring 的建立是基於資料蒐集的年數作為考量。另外你可以從一個公開的空間資料庫中 (Global Administrative Areas) (www.gadm.org) 下載行政區界的 Shapefile 檔案,裡面也已經包含範例的資料集。
 
下載範例資料集集 RingMap 工具箱後,將其解壓縮至本機具有管理權限的目錄下,並建立一個名為 Ringmap_Tutorial 的資料夾。啟動 ArcMap 並且將 Basemap 的資料夾中名為 Arizona_State.shp 的 Shapefile 檔案載入到地圖中。開啟 ArcToolbox,在 ArcToolbox 的視窗中,對著 ArcToolbox 按下滑鼠右鍵,選取 [Add Toolbox],然後選擇在 Ringmap_toolbox 資料夾中的 ringmap 工具箱。這個工具箱包含 3 個 Script,名為 step1、step2、和 step3。
 
點擊 step1 script 來開啟它。在這個 Script 的對話框中,從下拉卷軸的部分選擇 Arizona_State 給 basepolygon 的部分。鍵入 5 給 Ring 數量。設定輸出到 ringmap_exercise 資料夾 並且命名為 Arizona_Ringmap.shp (確認在副檔名的地方有給.shp) 點擊 [OK] 去建立五個 Ring 的多邊形。
 
點擊 step2 script。在這個 script 對話框中從 base polygon 位置下拉卷軸選擇 Arizona_State。從輸入的 Ring Polygon 下拉卷軸選擇 Arizona_Ringmap。設定輸出的位置給線圖徵,將建 ringmap_exercise 的資料夾中並且儲存它為 Arizona_Polylines.shp。
 
點擊 [OK] 來執行這個 Script,並且建立線圖徵,這個線圖徵將會連接 Ring map 到底圖上。
 
點擊 step3 的 script。在這個 Script 的對話框中從 base polygon 下拉卷軸選擇 Arizona_State。在 town 的欄位中選擇 NAME_2 (例如縣的名稱) 並且選擇 Arizona_Ringmap 這個 Ring 多邊形。這個步驟將建立索引的欄位以合併屬性資料。點擊 [OK] 完成操作。
 
一旦運行 step3 後,在 ArcMap 中開啟 Arizona_Ringmap 的屬性表單。TOWNID 是由縣名稱,並且是 Ring 的順序。Ring 數字是由零開始,所以索引被命名為 Santa Cruz_0,是從 Santa Cruz county 內為第一個 Ring。
 
加入 cancerdata.xls,這個在 Ringmap_Tutorial 資料夾中的 Excel 試算表包含了癌症發生的資料,在地圖上選擇名為 data$ 的工作表。
 
在ArcMap table of contents (TOC)中對Arizona_Ringmap按下滑鼠右鍵並選擇Joins and Relates->Joins。藉由TOWNID欄位選取合併Arizona_Ringmap及cancerdata.xls,選擇工作表 data$ 及相對應的欄位以作為合併之用。 點擊 OK。
 
重新打開Arizona_Ringmap屬性表確認Arizona_Ringmap 和 cancerdata.xls 已經成功地被合併再一起了。
 
雙擊在 table of contents ( TOC ) 中的 Arizona_Ringmap 並選擇 Symbology 的頁籤。選擇 Quantities -> Graduated colors 並且設定 classes 的數量到 5,並且將方法選擇分位數法 Quantile。編輯文字標籤(label)和應用色盤來符號化在 2006–2010 年 Arizona 的女性乳癌發生率。內圈的 Ring 為顯示 2006 年,最外圈為顯示 2010 年。應用縣的名稱到文字標籤上並放置合宜的顏色到 Arizona_State 上。


圖4:開啟 Arizona_Ringmap 屬性表單確認 TOWNID 欄位有被建立

 


圖5:Use the TOWNID field to join cancerdata.xls

 


圖6:重新打開 Arizona_Ringmap 屬性表單以確認屬性合併已經成功

 


圖7:使用 graduated color 來符號化事件資料及加入文字標籤到底圖上

 


圖8:最終的癌症發生率資料以醒目的方式來呈現
 


 

關於作者:詹大千 博士

詹大千是台灣中央研究院人文社會科學研究中心地理資訊科學研究專題中心的助理研究員。他的主要研究及興趣集中在空間流行病學和傳染病監測。
王建閔是詹大千老師實驗室兼職的研究助理,主要的研究興趣為 GIS 應用程式的開發。
李永梅是詹大千老師實驗室實驗室全職的 GIS 分析師,其興趣為 GIS 的教育發展

 


 

備  註

此工作是由 Guilan Huang、 Sergio Govoni、Jae Choi、 David M. Harley 以及 James M. Wilson 所共同完成。詳細敘述在“Geovisualizing Data with Ring Maps : Improves comprehension when mapping many varia- bles,”一文中並刊登於ArcUser Spring 2008

 


 

參考文獻

Huang, Guilan, Sergio Govoni, Jae Choi, David M. Hartley, James M. Wilson, "Geovisualizing Data with Ring Maps " ArcUser vol. 10 no. 2, 2008: pp. 54–55.
Stewart, J. E., S. E. Battersby, A. Lopez-De Fede, K. C. Remington, J. W. Hardin, K. Mayfield-Smith. "Diabetes and the socioeconomic and built environment: geovisualization of disease prevalence and potential contextual associations using ring maps," International Journal of Health Geography 2011, vol. 10, no. 18, 2011.
Zandbergen, Paul A., Python Scripting for ArcGIS, Esri Press, 2013.
Arizona Cancer Registry Database Query Module Set Selection.

 


 

作者:詹大千、王建閔、李永梅  ‧  台灣中央研究院人文社會科學研究中心地理資訊科學研究專題中心

譯者:互動國際數位  ‧  台中辦事處  ‧  黃建輝

獲得更多相關資訊,請聯絡:詹大千 博士  ‧  E-mail: 這個 E-mail 地址已經被防止灌水惡意程式保護,您需要啟用 Java Script 才能觀看
詳細原文請參考:http://www.esri.com/esri-news/arcuser/fall-2013/looking-at-temporal-changes

< top >