[QGIS教學系列]利用QGIS+Temporal controller製作時序地圖動畫

關鍵字: #Animation #GIS #QGIS #Temporal controller #Plugins

[QGIS教學系列]利用QGIS+Temporal controller製作時序地圖動畫

今天我要分享如何利用QGIS製作時序地圖動畫。時序動畫是一種可以展示空間數據隨時間變化的視覺化方法,非常適合用來分析和呈現一些具有時間屬性的主題,比如地震、氣候變化、人口遷徙等等。在這篇文章中,我將以台灣的地震數據為例,向你展示如何用QGIS的Temporal controller插件來製作一個精彩的時序熱區動畫。

首先,這次會採用地震數據作為練習,這些數據可以從中央氣象局的網站上下載,或者你也可以自己收集和整理,下面會提供練習檔案。

「地震數據」應該包含地震發生的「時間」、「位置」、「規模」等,並保存為csv格式文件方便我們進行匯入。
接著需要在QGIS中導入這些數據,並將它們轉換為點圖層。你可以通過菜單【圖層】->【添加圖層】->【添加文本分隔符圖層】來實現這一步驟。

在彈出的對話框中,選擇你的csv文件,並設置好分隔符、編碼、幾何類型等參數。

***需特別注意的是,QGIS能夠識別出特定資料形式的時間資料。例如,如果你的時間字段是“2021/01/01 12:34:56”,並且對於時間相關的資料型態有兩種分別為「Date」、「Datetime」,前者以天為單位後者可以精確到秒。

1. 收集包含時間欄位的資料集(地震資料為例)

練習資料下載

首先打開我們的地震資料(如下圖),其中屬性資料包含了「經緯度座標」以及「地震日期」,藉由這兩欄資料我們就可以進行地震熱區的時序動畫資料,其他屬性資料可以依照個人目的進行分析。

其中地震日期是我根據QGIS時間格式進行標準化後的結果,原始資料為「地震時間」,由於日、月沒有補0成兩位數,會造成QGIS判斷錯誤,我之前也寫過一篇教學是利用QGIS自製表達式進行格式轉換處理,有興趣的朋友可以看以下連結!

                                                                    台灣地震時序資料
台灣地震時序資料

2. 將資料導入QGIS當中並確保時間資料有被正確識別

***QGIS 3.30可以在導入CSV資料時手動指定欄位資料型態***

再來我們將地震資料導入QGIS當中,按下Ctrl+Shift+T可以快速開啟導入頁面,相關導入設定可以參考下圖

CSV載入
編碼採用:Big5 ; X,Y利用經緯度欄位設定 ;地震日期可以手動指定Date(QGIS3.30)
成功導入地震資料
成功導入地震資料
確認[地震日期]為QDate資料型態
確認[地震日期]為QDate資料型態

3.利用Temporal controller進行專案輸出

接下來需要設置時序動畫的參數,這就要用到Temporal controller插件了。
這個插件是QGIS 3.14版本以後內置的一個功能,可以讓你控制時間軸上的圖層顯示和播放,位置如下圖紅框。

工具列

***如果你沒有看到這個插件的面板,你可以通過菜單【視圖】->【面板】->【Temporal controller】來打開它。

使用Temporal controller前,我們必須先指定圖層中的時間戳欄位,我們點擊圖層兩下打開Properties->切換到Temproal頁面,進行以下設定:

使用Temporal controller前,我們必須先指定圖層中的時間戳欄位,我們點擊圖層兩下打開Properties->切換到Temproal頁面,進行以下設定:

接著我們切換到Style頁面,進行熱區樣式的設定,這邊可以參考我以下的設定:

著色方式切換成[Heatmap];色階可以自行選擇;半徑維持預設10單位;透明度調整為50%

Style setting

接著我們打開Temporal controller功能,並按下方紅框處的重新整理讀取正確時間。下圖的時間軸可以滑鼠拉取並觀看數據的累積變化,同時可以選擇不同尺度的時間間隔,例如天、周、月、年等。

時序熱區

接著我們可以按下右下方的存檔按鈕,可以將動畫依照時間間隔存成png或是jpg進行保存,同時可以選擇要輸出的範圍,最後可以將利用影像剪輯軟體或是線上GIF產生器將時序圖合併進行動畫製作!

動畫輸出
成果檔案

結語

今天簡單的示範了如何使用QGIS進行時序地圖動畫的製作,透過動畫進行空間資訊的時空間變化可以帶給觀眾更直觀且有趣的體驗!

今天的分享就到這裡了,希望你們會喜歡,如果覺得內容有趣的話也可以追蹤我的YT頻道以及FB專業,會分享有趣的地圖製作!

分享