從文獻回顧可歸納聚落型態度量大多以點資料分析方法最多,如Ripley’s K 函數、最鄰近分析等。面資料分析方法則較為欠缺,多以景觀指數來處理,或 是以空間自相關來分析聚落間的空間關係。欠缺度量面資料形狀及分布特性的 分析功能,其原因在目前地理資訊系統於面資料形態分析功能還未成熟(周學政 與賴政宏,2017)。
雖然可以藉用景觀指數軟體(如 Fragstats),來分析度量部份面物件型態特徵 (如面積指數、形狀指數等),但也僅能處理網格式資料。其次,該軟體必須獨 立環境操作,無法在GIS 環境內操作,以致於使用者在分析過程無法一次性完 成分析,方便性有限。且其分析功能固定(非開源程式),無法透過二次程式開 發的方式實現新的分析功能。
第一節、模組設計方法
本研究模組開發採用物件導向模組化架構來開發。物件導向式(object oriented,OO)的基本思維單位為物件(object)。物件可以是有形或無形的事物,
且可以用行為、狀態來描述。軟體程式上的物件為一組屬性(或成員變數)與方 法(或成員函式)所構成的基本單位,屬性為一物件特質狀態,而方法則是一物 件的行為動作(陳文冰,2007、吳仁和&資訊管理,2012、陳惠貞,2017)。物件 導向具有9 個優點,包括抽象化、資訊隱藏、包含、模組化、繼承、同質異 型、資訊傳遞、抽象化層次、再用性等(Bennett et al.,1999、引自黃明祥,
2005)。
在本研究開發的模組中,每個函式可以視為一個物件(每個函式均為獨立的 程式單元)。每個函式負責各自的分析功能,函式之間可以呼叫、組合,進而實 現其他或更高級的分析功能之外,也可以避免程式碼重複撰寫與程式執行上的 錯誤。
本研究開發模組主要分析向量面物件的空間型態與分布。因此開發模組的 函式時,回顧了相關面形狀指數與面物件分布相關文獻,並整理開發相應的分 析功能。此外,本研究也試圖發展度量面型態的分析功能。
第二節、模組開發環境
本研究面型態分析模組於ArcGIS 10.5 版本環境下開發而成。由於 ArcGIS 10.0 版本之後,才具有 ArcPy 之功能。加上本模組所調用到 ArcGIS 函式功 能,均為10.0 版本以前就有之功能。因此,本研究模組適用於 ArcGIS Desktop Basic 10.0 以上之環境執行(包含 ArcGIS Desktop Standard、ArcGIS Desktop Advanced 等級版本)。
本研究主要透過PyScripter(for Python 2.7)作為模組程式整合發展環境 (integrated development environment, IDE),透過 ArcGIS 10.5 之 ArcPy 功能來開 發向量面型態分析模組。其IDE 相對優於 Python IDLE 開發環境,其檢查程式 語法錯誤、檢查程式邏輯錯誤、提供參數提示、除錯功能(debug)等功能,能提 高開發者開發程式的效率(Pimpler,2015)。
圖 11:PyScripter 程式整合發展環境
第三節、模組驗證方式
待模組開發完畢之後,要確認模組各函式在運算分析過程中,是否有運算 錯誤。必須經過模組的驗證。本節將分成模組正確性、模組實作應用與驗證模 組可用性加以探討。
一、模組正確性
模組正確性上,可分成兩個部分來驗證。首先,在向量面物件的空間型態 上。本研究擬預先於ArcGIS 先建製不同形狀面物件,如圓形、正方形等,在 透過限模組模組計算之正確性。由於大部分的形狀指數,其標準參考形狀為圓 形或正方形。因此計算完形狀指數需檢查,測試資料圓形或正方形的形狀指數 是否為一或趨近於一,即可判定計算函式是否有誤。
其次在向量面物件的空間分布上,主要驗證盒子維度函式。由於盒子維度 值,透過面物件所佔格子數與格子單位比例值計算而成。由於格子單位比例值 為使用者在輸入函式參數已決定,因此面物件佔格數的正確與否,會影響維度 值的正確性。所以在函式驗證上,透過測試資料檢查計算出來的佔格數是否有 誤,接著透過不同空間分布型態的測試資料,來計算維度值,是否有在值0~2 範圍且有無明顯的差異。
二、模組實作應用範例與驗證可用性
本研究應用實例資料,分別採用第一次與第二次的國土利用調查圖資做為 模組實作分析的對象(如表 6、附錄一)。
第一次國土利用調查圖資,是1993-1994 年當時臺灣省政府地政處委託省 糧食局辦理。完成臺灣省轄內國有林班地以外之全部地區五千分之一國土利用 現況調查資料(土地利用)數化圖檔,但不包括臺北市、高雄市與山地地區。
第二次國土利用調查圖資,是2006-2009 年國土測繪中心執行「國家地理資訊 系統建置及推動十年計畫」之「國土利用調查子計畫」子計畫,以分年度、分 區域方式辦理全國之國土利用調查作業,該成果陸續於2007 年 10 月完成並對
外公佈提供各界使用。
本實例資料範圍,基本上為整個桃園市地區(除了無資料地區)。但為了避 面實例資料在空間分析過程中,產生邊緣效應(edge effect)。尤其在空間自相關 分析中,分析單元會受到鄰域單元的影響,如果分析單元沒有鄰域,將會影響 到統計結果的真實性。故資料範圍除了桃園市,還延伸桃園市外一個鄉鎮,如 圖12。
圖 12:本研究實作案例資料範圍
在模組可用性部分,本模組功能朝幾個方向來開發相關函式,包含面資料 預處理、面物件空間形態、面物件空間分布、指數計算、數據處理等。開發完 模組函式後(模組函式功能,詳見第五章),可直接 import 模組名稱(import Polygon)或 import 模組名稱 form 函式名稱,來導入模組與函式。導入模組、
函式後,透過PyScripter 直接執行模組各函式功能,也可以透過 ArcGIS 內中的 Python 窗口來執行。透過 Python 程式執行各函式或程式,可以免除人工操作 GIS 的時間與精力。透過自動化的方式,可重複、省時且正確的執行分析任 務。
表 6:本研究實作之土地利用資料一覽
土地利用資料 資料年代
(資料調查年度) 土地利用分類數
第一次
國土利用調查 1993 國土利用成果分三級。第一級10 大類,第二級細分
15 類,第三級在細分 93 小類。
第二次
國土利用調查 2008 國土利用成果分三級。第一級9 大類,第二級細分
41 類,第三級在細分 102 小類。
資料來源:國土利用調查成果資訊網