電子報
第137期電子報介紹如何下載開源的衛星影像資料,並利用地理資訊系統 ArcGIS 進行監督式分類,以獲取肉眼無法快速判釋的土地利用分類變化。本篇電子報接續介紹利用地理資訊系統 ArcGIS 與 QGIS 偵測衛星影像於不同時間序列的動態特徵圖像變化,歡迎讀者一同著手嘗試!
Change Detection Wizard 可用來偵測與辨識兩張影像間的變化,若兩時期影像已分類的網格 (raster) 資料在同一位置具類別、像素或時序上的變化,則可透過這項功能進行辨別。首先,可先下載開源的土地利用/土地覆蓋 (Land-use/land-cover, LULC) 圖,以下分步驟進行說明:
➤步驟一:至 ArcGIS Living Atlas of the World 網站的 Sentinel-2 Land Cover Explorer,點選「Download GeoTIFF」並選擇目標圖磚 (tile) 及年份後下載解析度 10 公尺的 Sentinel-2 LULC 檔案 (圖 1)。
➤步驟二:將下載後的 tiff 檔案匯入 ArcGIS,利用「Extract by Mask」功能鎖定特定範圍 (如圖 2 所示的 Range,本文以 2009 年莫拉克颱風後崩塌面積前幾大所在之布唐布那斯溪、楠梓仙溪、新呂武溪為範圍舉例),讓運算更加有效率。同時修改 tiff 檔的各圖例分類顏色與說明,使圖像呈現更貼近 Esri 與 Impact Observatory 合作產出的全球土地利用/土地覆蓋地圖 (圖 2)。


➤步驟三:開啟 ArcGIS 工具列的 Imagery → Change Detection → Change Detection Wizard,方法選擇「Categorical Change」以偵測各土地類別的變化。From Raster 與 To Raster 選擇欲比較的兩個檔案,本文以 2017 年與 2024 年的 LULC 檢視類別的變化 (圖 3),點選「Next」執行下一步。
➤步驟四:「Change Detection Wizard」中的 Filter Method 選擇「Changed only」,僅檢視土地利用類別有改變的網格;接著勾選全部類別,即檢視全部 9 種類別的土地利用變化 (圖 3)。點選「Next」後,命名輸出的檔案名稱與類型,選擇「Run」執行。
➤步驟五:由「Change Detection Wizard」針對 2017 與 2024 LULC 的類別偵測結果,發現總共有 40 種不同的改變方式,因此本文續以「Summary Statistics」功能檢視所有改變至森林類別 (如 Class n → 2 Forest代表由 Class n 轉換為類別 2:森林) 的網格面積,共約35平方公里 (圖 4)。
由此可知,約 2,024 平方公里的目標範圍 (透過 Extract by Mask 框選的Range) 在 2017 年後的 7 年間有約 35 平方公里轉變為森林。


首先點選 QGIS 工具列的 Plugin → Manage and Install Plugin 安裝外掛程式:CCD-Plugin (圖 5),這個程式利用連續變化檢測與分類 (Continuous Change Detection and Classification, CCDC) 演算法建立衛星資料的時序資料模型,並將 CCD 結果視覺化呈現。而由於 CCD-Plugin 是利用 Earth Engine(ee) python API 結合 Google Earth Engine (GEE) 與 QGIS,透過 GEE 檢索衛星影像並執行 CCD 演算法,因此亦須在 QGIS 上安裝外掛程式 Google Earth Engine。

QGIS 安裝的外掛程式 GEE 需要一個 Google Cloud 專案。先於 GEE 登入後進行授權 (圖 6),授權成功後由自己的 Google Cloud Console 選取一個既有專案 (或創建一個專案),將其 ID 輸入 QGIS 中 (圖 7)。


CCD_Plugin 使用 GEE 獲取資料集中的衛星影像特定座標,資料集來源包括Landsat C1、Landsat C2及 Harmonized Sentinel-2,資料集 Landsat C1 與 C2 含有 Landsat 4、5、7、8、9 的衛星資料,解析度皆為 30 公尺;資料集 Harmonized Sentinel-2 含有 Landsat 8/9 與 Sentinel 2A/B,解析度皆為 10 公尺。
本文於 QGIS 中開啟外掛程式後,輸入目標位置 (本範例以 2009 年莫拉克颱風後崩塌面積最大處為例,其位布唐布那斯溪集水區) 的座標 (也可匯入地圖圖層後直接於地圖視窗內點選位置),選擇 Sentinel 2 資料集、欲繪製的光譜或指數圖 (Band/Index to plot) 選植生指數之一的 NDVI (其他還有增強型植生指標 EVI、雙波段 EVI (EVI2)、燃燒指標 NBR 等可選擇)、複選使用於偵測變化的波段或指數 (Bands/Indices for Change Detection),以及時序變化的範圍。點選「Generate」後即可畫出時序變化圖 (圖 8)。
由圖 8 中可以看出目標位置處的 NDVI 值在 2021 年10 月27日出現 break line,意即出現變化點 (break points),代表一個像素在連續的三張影像中皆有發現超過閾值的變化。因此,可載入衛星影像資料,輔助檢視目標位置於特定時間是否有因砍伐森林、洪水或土地型態變化等引起的地表變化。

本文已於上述在 QGIS 安裝外掛程式 GEE,故可透過 Python Console 輸入程式碼以在 QGIS 上顯示衛星影像,如圖 9 所示,在圖層中加入包含特定位置且雲覆比例最低的衛星影像:高雄市桃園區桃源里在 2024 年 7-8 月雲覆量最少的一張 Sentinel-2 真色影像 (true color image)。
另外,當然也可直接在 GEE 的 The Code Editor 上檢視涵蓋特定地點、特定時間範圍內的衛星影像,程式碼與輸入 QGIS 的程式碼大同小異,圖 10 即顯示 2024 年 7-8 月間的 Sentinel 2 衛星影像中,涵蓋目標位置 (120.7639335, 23.2145087) 且雲覆比例最少的一張影像。而比對目標位置於 2009 年莫拉克颱風後的影像與 2021 年 10 月出現 break line 的影像,可發現肉眼可見的植被覆蓋率增加的情形 (圖 11)。



上述兩種工具皆用來偵測衛星影像於不同年份間、不同季節間或突然間的改變,透過 ArcGIS 的 Change Detection Wizard 能夠檢視不同土地利用/覆蓋類別的改變;利用 QGIS 的 CCD-Plugin,其基於 Landsat 與 Sentinel 2A/B 衛星每個波段的資料,透過 CCDC 演算法產出土地利用/覆蓋圖,使用者可檢視地表隨時間的變化,同時還能介接 GEE 上的衛星影像資料一同檢視。
不同的工具各有其特色,讀者可依據自身習慣與目標需求挑選工具,讓特定時間區間的影像資料視覺化為具時間序列趨勢的圖與表,更清晰地呈現隨時間變遷所代表的動態特徵意義!
1. Arévalo, P., Bullock, E. L., Woodcock C. E., & Olofsson, P. (2020) A Suite of Tools for Continuous Land Change Monitoring in Google Earth Engine. Frontiers in Climate. 2: 576740.
2. Zhu, Z., & Woodcock, C. E. (2014) Continuous change detection and classification of land cover using all available Landsat data. Remote Sensing of Environment. 144: 152-171.
3. Esri利用更新後的Sentinel-2衛星資料發表最新土地覆蓋地圖
4. CCD-Plugin on GitHub
5. QGIS-Python Console 檢視衛星影像程式碼 (範例)
6. GEE-檢視衛星影像程式碼 (範例)