QGIS:讓數據隨時間動起來


摘要
時間是空間數據集的重要組成部分。比如在國土空間規划編制中歷年的土地利用變遷,人口遷徙等。除位置信息外,時間可以使用另一個維度來分析和可視化數據。

通過時間序列化的動態展示,呈現出來的數據肯定要比靜態的更加直觀,更加高大上。

如果你有包含時間的數據集或者有多份和時間相關的數據,可以使用QGIS中的TimeManager插件輕松地將其可視化。 通過TimeManager,可以查看和導出特定時間間隔之間的“切片”數據,這些時間間隔可以合並為動畫。

先上效果圖:

image

本次演示使用海上海盜事件進行重點分析,創建熱圖可視化並創建動畫,以了解過去20年中海盜熱點的變化情況。

QGIS 版本:QGIS3.8以上版本。

順便可以學到的知識

  1. 使用Heatmap渲染器插件快速顯示密集點數據
  2. 創建和使用自定義地圖投影

示例數據獲取

美國國家地理空間情報局的海上安全信息門戶提供了所有海盜盜版的數據文件。下載Shape格式文件,包含有幾個矢量層。為了方便起見,直接從下面下載上述圖層:

ASAM_shp.zip    
ne_10m_land.zip

安裝插件

菜單:插件‣管理和安裝插件...。搜索並安裝TimeManager插件。

安裝插件


開始

  1. 在“ QGIS Browser面板”中,找到保存下載數據的目錄。( 解壓ne_10m_land.zip后的選擇ne_10m_land.shp層。 解壓到ASAM_shp.zip。選擇asam_data_download / ASAM_events.shp。)

加載數據

  1. 加載圖層后,可以看到代表盜版位置事件的各個點。 有成千上萬的事件點,呈現效果不理想。這時候需要使用熱力圖進行可視化數據。 選擇ASAM_events圖層,然后單擊“圖層”面板中的“打開圖層樣式面板”按鈕。 單擊單一符號下拉菜單。

設置樣式

  1. 在渲染器選擇下拉列表中,選擇“Heatmap”。接下來,從“色階”選擇器中選擇Viridis色階。

創建熱力圖

  1. 將“半徑”值調整為5.0(這個值根據實際數據密度情況調整)。在底部,展開“Layer Rendering”,並將“不透明度”調整為75.0%。這樣可以使熱點具有良好的視覺效果,並且能看到底圖的國家級形狀區划。

熱力圖調整

  1. 現在可以對這些數據進行動畫處理,顯示盜版事件的年度地圖。轉到插件‣TimeManager‣切換可見性。

可見性切換

  1. 在TimeManager面板中,單擊Setting。

單擊Setting

  1. 在“時間管理器設置”窗口中,單擊“添加圖層”按鈕。

添加突出

  1. 源數據包含dateofocc屬性-代表事件發生的日期。插件將使用此字段來確定每個時間段渲染的點。選擇“ ASAM_events”作為“圖層”,選擇“ dateofocc”作為“開始時間”。結束時間設置為與開始時間字段相同。單擊確定。

設置時間字段

  1. 返回“時間管理器設置”窗口,單擊“確定”。

確定

  1. 單擊TimeManager面板中的電源圖標以啟用該插件。將時間范圍設置為1年。啟用后,將在ASAM_events圖層旁邊看到一個過濾器圖標。 TimeManager的工作原理是根據選定的字段和指定的時間段將過濾器應用於圖層效果上。

過濾

注解

TimeManager不支持臨時圖層哦,如果是臨時圖層,需要將臨時圖層保存一下。

  1. 現在可以觀看動畫了。單擊“播放”按鈕以查看年度海盜時間熱點動畫。

動畫

  1. 現在,動畫的每一幀,日期都顯示在右下角。修改時間,我們將其更改為顯示地圖所代表的年份。在“時間管理器”面板中單擊“設置”。單擊時間管理器設置對話框中的時間顯示選項。

時間顯示設置

  1. 將“字體大小”調整為25。將“日期時間”格式更改為%Y。時間格式應以Python語法中的時間格式指定。 %Y是4位數字年份的短代碼。Placement direction(放置方向)更改為NW(西北)。單擊確定。

時間格式調整

  1. 返回“時間管理器設置”對話框,勾選[循環]動畫復選框。也可以修改樣式和調整樣式以使動畫從頭開始繼續播放時。單擊確定。

循環

  1. 現在,時間標簽將在左上角顯示動畫的年份。現在,我們可以導出動畫,但是默認的地圖投影是EPSG:4326,可以存儲源數據,對於這樣的全局可視化來說並不理想,地圖很扁,一點也不美觀,推薦使用Equal Earth Projection,可以從視覺上效果更好。轉到設置‣自定義投影...

打開自定義投影

  1. 在“自定義坐標參考系統定義”對話框中,單擊 ** [+] ** 按鈕。輸入“Equal Earth”作為名稱。在“參數”框中輸入以下定義。需要以PROJ格式指定參數。輸入參數后,單擊“確定”。
+ proj = eqearth + datum = WGS84 + wktext

image

  1. 在QGIS主窗口中,單擊右下角的“當前CRS”顯示。

當前CRS

  1. 搜索“Equal Earth”查找並選擇新定義的投影。單擊確定。

搜索“Equal Earth”

  1. 地圖轉換為“Equal Earth”投影。現在准備導出動畫。導出之前,請確保將“時間管理器”面板中的時間滑塊設置為開始位置。動畫的導出將從時間滑塊的當前位置開始。單擊“時間管理器”面板中的“導出視頻”按鈕。

導出視頻

  1. 在“導出視頻”對話框中,單擊“選擇輸出文件夾”,然后選擇目錄。選擇“Frames only”選項,然后單擊“確定”開始導出過程。

開始導出視頻

  1. 導出完成后,出目錄中看到每年的PNG圖像。現在,根據這些圖像創建GIF動畫。從單個圖像幀創建動畫有很多選項。可以使用http://gif.55.la/,網站速度很快,打開網站,然后單擊“選擇文件”,然后選擇所有.png文件。主要不要選擇.pgw文件哦,選擇前可以按照時間對png進行排序。選擇后,點擊上傳並創建GIF!按鈕。

制作gif

  1. 完成該過程后,單擊“保存”按鈕將GIF下載。

image

歡迎掃碼關注我:

若海軟件科技


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM