跳至內容
QGIS
GeoAI
AI Edit

如何在 QGIS 中模擬洪水(5 種方法,免費與付費)

洪水中的貝桑松航拍視圖,杜河的棕色洪水覆蓋著碼頭與河畔公園。

要在 中呈現洪水,你有五種選擇,而且可以清楚分成幾類:其中兩種會提供可測量的淹水範圍,一種會提供工程分析答案,另外兩種會提供具有說服力的影像。最快的可測量方法,是使用數位高程模型並在 raster calculator 中設定閾值,大約需要五分鐘。最具說服力的影像,是生成的航拍視圖,大約需要一分鐘。兩者不能互相替代,而這篇文章主要是為了避免混淆它們。

簡短答案

其中三種方法會提供一張你可以測量的洪水地圖。另外兩種會提供一張你無法測量的洪水影像

你需要的內容方法你會得到什麼
法律認可的洪水區域Géorisques PPRI 或 TRI layer一張地圖,免費,幾分鐘
可測量的大致淹水範圍高程模型加上閾值一張地圖,免費,5 分鐘
真正研究所需的深度與流速水力模型一張地圖,數天,需要專業人員
只要有東西可展示,地點不限ChatGPT、Gemini 或 Midjourney一張影像,沒有座標
在自己的場址上展示內容AI Edit,我們的 plugin一張保持在地圖上的影像

開始之前

以下所有內容都使用同一個畫面:貝桑松市中心的杜河 600 m 河段,左側是位於台地上的老城區,右側河岸則有碼頭、露天游泳池與河畔公園。

Aerial view of the Doubs through central Besançon, with dense old town on the left bank, quays, moored boats, a bridge and an open-air pool on the right bank.
The starting point. IGN BD ORTHO, read 31 August 2026. The river runs at 242 m, the quays at 242, the old town on its terrace at 245. Only the wooded slope in the top corner reaches 260.

你還需要地面高度。在法國,IGN 的 RGE ALTI 透過 Géoplateforme 提供服務,要求使用 image/x-bil;bits=32 格式,就能取得真實的高程數值,而不是高程的影像。在這個畫面中,高程從河道的 240.9 m 延伸到林地斜坡上的 260.1 m,高差達 19 m。先測量這一點,因為它決定了這些方法是否值得採用。在此之前,我曾用同樣的方式框選 Nemours,結果在相同大小的正方形範圍內只有 6.3 m 高差,地形太平,這些方法都無法呈現任何效果。

注意這 19 m 中有多少實際位於城區內。碼頭位於 242 m,而老城區所在的台地位於 245 m,因此歷史中心比河面高出三公尺,而不是二十公尺。以下所有內容都取決於這一點。

The same frame as an elevation model, with the river channel almost black, the quays purple, and the high ground orange and pale yellow.
The same frame as ground height. Black is the channel at 241 m, purple the quays, orange and pale yellow the rising ground. This one layer drives three of the five methods.

方法 1:Géorisques 的官方洪水地圖

在建立模型之前,先確認答案是否已經存在。由法國政府部門與 BRGM 管理的 Géorisques,發布 PPRI 災害區域,以及針對 124 個法國高洪水風險地區的洪水指令地圖。資料分為三個災害等級,以 shapefile 及 WMS、WFS 服務形式提供,採用開放授權。直接將 WFS 載入

**適合使用:**問題涉及法規,或有人會問國家認定哪些地方容易淹水。**跳過它:**你的場址不在涵蓋範圍內,或你需要一個尚未有人繪製的情境。

方法 2:高程模型與閾值

五分鐘答案。載入高程模型,開啟 raster calculator,保留所有低於水位的像元。在這裡,("dem@1" <= 244) / ("dem@1" <= 244) 會在淹水地面上產生由 1 組成的 layer,其他地方則不會有內容。將它設為藍色,疊加在航拍照片上。

The same aerial view with a translucent blue layer covering the river, the quays and the riverside park at a water level of 244 m.
Water level set to 244 m, two metres above the channel. The quays and the riverside park go under, the old town on its terrace stays dry.

它可以測量:這個 layer 有面積,你也可以統計其中包含的內容。但在向任何人展示之前,還有兩個值得了解的粗略之處。

**第一,它是浴缸模型。**它會填滿線以下的每個像元,不管洪水是否真的能抵達那裡。那兩塊孤立的藍色區域,一塊是頂部的停車場,另一塊是底部的庭院,並不是錯誤:我在 244.1 m 和 243.9 m 處採樣,它們確實低於水位。但它們與河流之間的地面高度為 245 m,因此真實洪水必須爬升一公尺的乾燥地面才能進入。閾值無法知道這一點。它完全不知道哪些像元彼此連通。

第二,將水位提高後,這種粗略性就不再隱晦。

The same view at a water level of 246 m, with blue covering almost the entire frame including streets and building blocks.
The same method at 246 m, two metres higher. Almost the whole frame goes under, because the terrace the town sits on is only at 245 m. Two metres of extra water on the slider is the difference between wet quays and a drowned city centre.

**適合使用:**你需要快速、可測量,並且誠實標示的第一版結果。**跳過它:**這個數字會被引用給任何重要的人。

方法 3:水力模型

HEC-RAS、TELEMAC 或 Iber 會使用河道幾何、糙率與流量,回傳在場址各處變化的水深與流速。這才是真正的洪水研究,也有 bridge 可連接其中幾種模型。

**適合使用:**交付成果是一份研究報告。**跳過它:**你只有三天時間,也沒有水力工程師,而這正是大多數時候的情況。

方法 4:詢問 ChatGPT、Gemini 或 Midjourney

截取地圖畫面,貼到其中任何一個工具,描述洪水,然後取得一張影像。速度很快,而且水的外觀通常很有說服力。但有兩個問題。它們不知道你的地面哪裡高、哪裡低,所以水會流向能讓畫面更好看的地方。而且返回的只是一個沒有座標的普通影像檔,因此永遠無法回到地圖上,與其他內容並列。

**適合使用:**你想營造一種氛圍,用於非正式用途。**跳過它:**任何人都知道這個場址。

方法 5:QGIS 中的 AI Edit(我們的產品)

一個 plugin,能根據文字指示重新繪製你螢幕上的航拍影像,並將結果作為 map layer 返回,準確疊在它所來自的照片上。以下是同一個畫面,要求呈現一場大型洪水,沒有附加任何其他內容。

The same aerial view with brown flood water covering most of the frame, including streets in the old town and ground on the right bank that is well above the river.
A flood prompt on its own. It looks right at a glance, and it is wrong: water has run up the streets of the old town and covered ground on the right bank that stands metres above the river.

現在使用本頁頂部的高程模型作為參考,加入相同的 prompt,並告訴模型讀取它:深色代表低處,亮色代表高處,當地面升高時停止。

A flood covering the whole frame, then the same flood confined to the river corridor with the town on its terrace left dry (after)
A flood covering the whole frame, then the same flood confined to the river corridor with the town on its terrace left dry (before)
BeforeAfter
拖動比較
The same prompt without the elevation model on the left, with it on the right. On the right the water stays in the valley, the edge follows the break in slope, and the old town keeps its dry streets. Drag the handle to compare.

這就是在 內完成這件事,而不是在瀏覽器中完成的全部理由:專案中已經開啟的任何 layer,都可以交給模型作為引導。這裡使用的是高程模型,但同樣也可以使用方法 1 的 Géorisques 災害區域,或方法 2 的輸出結果。

為了誠實起見,還有一件沒有奏效的事情。第三次生成在指示中加入了過多負面規則:「讓每個較亮的區域都完全保持乾燥」,結果返回了原始照片,完全沒有改變。描述水會做什麼,而不是列出它不能做什麼。

**適合使用:**你必須讓不懂得閱讀災害地圖的人看懂一場真實洪水。**跳過它:**交付成果是一個數字。結果是一張影像,除非先將它轉換成形狀,否則其中沒有任何內容可以測量。

應該使用哪種方法

將它們配對使用。方法 1 或 2 會提供你能夠捍衛的淹水範圍,方法 5 會提供人們能理解的影像,而第二者之所以值得信任,只是因為你將第一者餵給了它。絕不要在沒有測量範圍並列的情況下發布生成的洪水影像,並且始終將它標示為模擬。

人們常問的問題

生成的洪水影像可以放入公開文件嗎?

可以,但必須標示為模擬,絕不能當成照片或預報。我們的輸出會標示為 AI 生成,原因就在這裡。將測量出的範圍放在旁邊,讓人們看見數字的來源。

我可以從生成的影像測量淹水面積嗎?

不行。它只是像素。請測量方法 1 或方法 2 的結果,因為它們是真實幾何,並將生成的影像用在它擅長的地方。

閾值應該使用什麼水位?

先從高程模型讀取河道高度,再從那裡逐步向上增加。這裡的河道高度約為 241 m,因此 244 m 代表上升三公尺。不查看實際高度就隨意選擇一個整數,是你意外淹沒整座城鎮的原因。

這在法國以外也有效嗎?

方法有效。資料會改變:你需要一個國家級高程模型,以及所在國家發布的任何災害地圖。其餘部分相同,都是同一個 raster calculator 和同一個 prompt。

Sources

  1. Géorisques,由法國生態轉型部門與 BRGM 管理,2026 年 8 月 31 日閱讀。針對 124 個法國高洪水風險地區的 PPRI 災害區域與洪水指令地圖,三個災害等級,以 shapefile、WMS 與 WFS 形式提供,採用 Licence Ouverte 2.0。
  2. IGN RGE ALTI,透過 Géoplateforme 提供,Licence Ouverte。高程值於 2026 年 8 月 31 日以 image/x-bil;bits=32 格式讀取。
  3. 航拍影像:IGN BD ORTHO,Licence Ouverte。
  4. 所有圖例均於 2026 年 8 月 31 日在 中製作,使用上述所描述的畫面。

完整的 AI Edit 指南涵蓋從頭到尾的 plugin,而如何在 QGIS 中重新設計街道則將同一方法應用到不同工作。QGIS AI hub則連結我們提供的所有指南。

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