跳至內容
AI Segmentation
QGIS
Tutorial

QGIS 樹冠覆蓋製圖:6 種免費與付費方法

發布於 更新於

同一片公園的三格對比:原始航照影像、植被呈紅色的 NDVI 網格,以及每個樹冠各為一個彩色多邊形的結果。

要用 QGIS 從多光譜影像繪製樹冠,在 Raster > Raster Calculator… 裡建立 NDVI,用 Reclassify by table 切出閾值,再跑 Raster > Conversion > Polygonize (raster to vector)。這樣得到的是覆蓋面,不是單棵樹。另外五種方法涵蓋 LiDAR、開放資料,以及您需要每個樹冠各一個多邊形的情況。

您有什麼方法成本
有近紅外波段的多光譜影像方法 1,NDVI 閾值後向量化免費,QGIS 核心
RGB 影像、沒有顯卡,想要樹冠方法 2,雲端分割模型免費額度,之後需訂閱
LiDAR,或一組 DSM 和 DTM方法 3,樹冠高度模型免費,QGIS 核心
影像,且要分出好幾個類別方法 4,監督式分類免費,一個外掛
範圍很大,且去年的日期也可以方法 5,開放樹冠資料集免費下載
RGB 影像和一張 NVIDIA 顯卡方法 6,地端分割模型免費,需自行找模型

先決定您要的是覆蓋還是樹冠。覆蓋是一整片表面,百分比一下就算出來。樹冠是一顆一顆可數的物件,街道調查或公園盤點要的是這個。

選單路徑、演算法 id、外掛版本和價格,都是在 2026 年 9 月 3 日對著 QGIS 3.44 手冊和各專案自己的頁面讀的。

方法 1:NDVI 閾值

請使用投影坐標系統。這裡每個方法最後都會算面積,而以度為單位算出的面積沒有意義。

NDVI 把綠色植被和屋頂、道路、水分開。打開 Raster > Raster Calculator…,輸入 ("nir@1" - "red@1") / ("nir@1" + "red@1")。

在 QGIS 中顯示法國某村莊的 NDVI 網格,植被偏亮、屋頂偏暗,旁邊的圖層直方圖有兩個波峰。
Sentinel-2 影像的 NDVI。直方圖有兩個波峰,兩峰之間的谷底就是閾值。沒有通用的數值,請讀您自己的影像。

接著跑 Reclassify by table(native:reclassifybytable,空間運算工具箱,網格分析),閾值以上一列、以下一列,輸出資料型態設為 Byte。再把結果向量化。

適用時機: 影像有近紅外波段,而且您要的是覆蓋。

不適用時機: 樹必須和草地或農作物分開。NDVI 做不到,因為三者都是綠的。

方法 2:雲端分割模型

分割模型學過樹冠長什麼樣子,所以它能把一片林子切成可數的物件,而閾值只會回傳一整片。這一種是我們做的,AI Segmentation。這一節講的是我們自己的工具。

在 QGIS 已開啟的影像上框出一個區域,輸入一個單字。多邊形會落在您的專案 CRS 裡,每個都帶有面積和信心度。輸入 tree 會得到每個樹冠一個多邊形,輸入 tree canopy 則得到整片覆蓋。

荷蘭某村莊的航照影像,花園裡和街道旁的每個樹冠都以各自的顏色填滿,成為獨立的多邊形。
在荷蘭某村莊執行一次得到 893 個樹冠,每個都是獨立的多邊形。數字是從圖層上數出來的,不是估計值。

最適合: 在 RGB 影像上要一個樹冠一個多邊形,電腦上沒有 GPU。

價格: 每月免費提供 1.5 km² 地面面積,加 20 個雲端半自動物件,不需信用卡。Pro 方案每月 €39(未稅),包含 100 km² 和 500 個物件。免費試用 Pro 7 天:綁定信用卡,到期前取消就不收費。

執行環境: QGIS 3.22 以後,Windows、macOS 或 Linux。模型跑在我們位於歐盟的伺服器上。

安裝: 從外掛管理員安裝,以電子郵件登入。不需安裝套件,不需下載權重。

強在哪: 簡單的單字測出來表現很好。在 90 天的真實執行中,tree 在 10.5% 的圖磚上沒有偵測到任何結果,orchard 在 716 個圖磚上則是 47.3%,所以外掛會在您花錢之前,先把第二個單字引導回第一個。

弱在哪: 鬱閉林分沒有冠緣可以找,所以 tree 跑下去只會回傳一整片,而不是每棵樹一個多邊形。那裡就用 tree canopy,接受覆蓋。兩種雲端模式都會把影像送到我們的伺服器,只有在您自己電腦上執行的半自動模式不會。

方法 3:從 LiDAR 做樹冠高度模型

高度是唯一能把樹和草地分開的訊號,而 QGIS 可以直接從 LAS 或 LAZ 檔做出兩個表面,用 Export to raster(pdal:exportraster,Point Cloud Conversion)。Attribute 設為 Z。地形那一層,加上過濾表示式 Classification == 2,這在 QGIS 用的 ASPRS 分類裡就是 Ground。表面那一層,用 ReturnNumber == 1 過濾。

在 QGIS 中顯示的樹冠高度模型,從地面高度的綠色漸變到 25 公尺的深紅色,樹冠在平坦的灰色地面上格外突出。
以荷蘭 AHN 0.5 m 資料計算的 DSM 減 DTM,範圍為阿姆斯特丹的 Vondelpark。樹冠因高度而突顯,而非因綠色,因此草地和花園會自動被排除。

在 Raster > Raster Calculator… 用 "dsm@1" - "dtm@1" 相減,圖磚較大時改用 grass:r.mapcalc.simple。依您的規範所定義的樹冠高度重新分類,再向量化。輸出的每個像素都帶有高度值,這是本頁其他方法都給不了的。

適用時機: 您有 LiDAR,或有國家級的 DSM 和 DTM。

不適用時機: 您的點雲尚未分類。QGIS 3.44 沒有地面分類演算法,未分類的點要先在 QGIS 外用 PDAL 處理。

方法 4:監督式分類

為樹、草、屋頂、道路各畫訓練多邊形,再讓分類器給每個像素貼標籤,把樹那一類向量化。dzetsaka 是我今天會裝的那一個。它是 GPL,5.0.11 版,跑在 QGIS 3.0 到 4.99,內建十一種分類器,含 Random Forest 和 SVM。

Semi-Automatic Classification Plugin 名氣更大,波段組合和前處理也包了,但先看版本。9.0.4 版需要 QGIS 3.99,也就是 QGIS 4 系列。在 QGIS 3.44 上您拿到的是 2024 年 11 月的 8.5.0。

適用時機: 樹冠是同一景裡好幾個需要的類別之一。

不適用時機: 您只要樹。畫訓練樣本花的時間比方法 1 還多。

方法 5:開放樹冠資料集

您的區域可能已經有人畫好了。

在 QGIS 中載入巴黎範圍的 Copernicus Tree Cover Density,依樹木覆蓋百分比以淺綠到深綠設色,城市兩側的兩片林地呈現完整的深綠色。
2018 年的 Copernicus Tree Cover Density 圖層,以 WMS 串流載入 QGIS,範圍為巴黎。免費、現成,但當您需要當年度影像時,它就是錯誤的工具。

四個值得知道的。Meta 與 WRI 樹冠高度圖 是全球的,2026 年 3 月起是第 2 版,1.2 m 像素,對空載 LiDAR 的平均絕對誤差是 3.0 m。ETH Zurich 地圖 是 2020 年的 10 m,用 Sentinel-2 和 GEDI 做的,CC BY 4.0。

另外兩個是區域型或歷史型。Copernicus Tree Cover Density 圖層涵蓋歐洲,10 m,從 2018 年到 2024 年每年都有,下載需要 EU Login。Hansen Global Forest Change 是 30 m,從 2000 年開始,所以要看長時間變化就用它。

城市自己也會發。巴黎發了 219,432 棵樹的點,墨爾本發了 2021 年的 57,980 個樹冠多邊形,都是 GeoJSON 網址,貼進 QGIS 就能用。

四個全球網格資料都支援範圍請求,所以用 /vsicurl/ 串流圖磚來看,不要整檔下載。Copernicus 用 WMTS 供應,位址是 https://land.copernicus.eu/en/products/high-resolution-layer-forests-and-tree-cover/tree-cover-density-2018-present-raster-10-m-europe-yearly,年份要自己手動設定。它宣稱自 1984 年以來的每個日期都有資料,但幾乎都是空的。

適用時機: 範圍很大,拍攝日期不必是您自己的。

不適用時機: 您上個月才飛過,或您要的是樹冠。大多是百分比網格,不是可數的物件。

方法 6:地端分割模型

Deepness、Geo-SAM 和 samgeo 在您自己的電腦上執行分割模型。什麼都不外流,也不收錢。

適用時機: 影像不能離開您的電腦。

不適用時機: 您沒有 NVIDIA 顯卡,或不想找模型、要權重、組 Python 環境。

六種方法並排比

您需要什麼方法
用自己的多光譜影像做覆蓋方法 1
RGB 影像上要樹冠,沒有 GPU方法 2
樹冠高度,或把樹和草分開方法 3
樹冠是好幾個類別之一方法 4
範圍很大,要快,不花錢方法 5
要樹冠,什麼都不能外流方法 6

要記住的事

先決定您要覆蓋還是樹冠再選方法,因為那是交付成果的問題,不是影像的問題。

拿得到高度就用高度,不要用顏色,所以有 LiDAR 的地方,LiDAR 樹冠高度模型會贏。

NDVI 把草地、農作物和橡樹看成同一種東西,所以只靠閾值永遠得不到樹。

鬱閉林分沒有冠緣可以找,所以本頁每個方法在那裡都只回傳覆蓋,沒有一個能回傳單株數量。

整個歐洲的覆蓋百分比,Copernicus 圖層免費而且已經做完了,在那個範圍上再跑模型是為同一個答案付兩次錢。

在 QGIS 免費試用,不需信用卡

大家常問的問題

不用外掛,QGIS 能繪製樹冠嗎?

可以,用方法 1、3、5,都是 QGIS 核心加一個下載。得到的是多邊形覆蓋,永遠不是單棵樹冠。

一棵樹一個多邊形,還是一整片一個多邊形?

NDVI 或高度模型切閾值,得到的是覆蓋。只有分割模型能把一片林子切成可數的樹冠,而在方法 2 裡,您輸入的單字決定您拿到哪一種。

樹冠覆蓋百分比怎麼算?

每個多邊形自帶面積,所以把面積欄加總,除以您量好的區域面積。就是一次欄位計算,幾何都打得開、對得到。

NDVI 和 LiDAR 高度模型哪個準?

高度模型,而且差很多。NDVI 把草地和橡樹看成同一種東西,而樹冠高度模型用幾公尺的差距把它們分開。

這些要錢嗎?

方法 1 和 3 到 6,除了您自己的資料什麼都不花,方法 6 再加一張顯卡。方法 2 每月 1.5 km² 免費,之後每月 €39不含稅。

可以直接從 LAS 檔建立樹冠高度模型嗎?

地面高程來自被分類為地面的點,而 QGIS 3.44 沒有可以分類地面的演算法。點雲是未分類的,過濾器什麼都回傳不了,地形跑出來就是平的。

我會拿到哪一版的 Semi-Automatic Classification Plugin?

9.0.4 版需要 QGIS 3.99,也就是 QGIS 4 系列。在 QGIS 3.44 上,外掛管理員給您的是 2024 年 11 月的 8.5.0,所以在怪罪您的樣本之前,先確認實際拿到的是哪一版。

網格轉向量指南 逐步說明每個方法最後都會用到的向量化與清理步驟,QGIS 中的 SAM 文章 比較了執行分割模型的外掛。若要把樹冠高度模型的步驟串成一道指令,而不是逐個圖磚重複,AI Agent 會在您已開啟的專案中執行這些步驟。QGIS AI 專區 涵蓋以上兩者。