River Morphodynamics / Python Demo

2次元河床変動シミュレーション

1m標高メッシュ、河川データ、堤防データを利用し、2次元不定流計算と5区分河床材料モデルにより、洪水時の洗掘・堆積傾向を可視化するPythonベースの解析デモです。

洗掘
堆積
流速大

想定する入力データ

  • 1m標高メッシュ DEM
  • 河川範囲ポリゴン、河道中心線、堤防データ
  • 上流流量・下流水位などの境界条件
  • 河床材料の5区分粒度構成

解析モデル

  • 2次元不定流モデル
  • 浅水流方程式による水深・流速計算
  • 掃流砂量の5区分計算
  • Exner式による河床高更新

出力結果

  • 最大水深、流速分布
  • 河床変動量、更新後河床高
  • GeoTIFF、PNG、CSV、GeoPackage出力
  • Web地図・報告書向け図面

サンプル計算結果の切り替え表示

ここではデモ用に作成した小規模格子の結果画像を表示しています。実運用では、計算済みGeoTIFFやCloud Optimized GeoTIFFをWeb表示用に変換して掲載します。

初期地形 DEM
1m標高メッシュを想定したデモ用地形です。河道・高水敷・堤防状の高まりを表現しています。

解析フロー

既存のGISデータをPythonで読み込み、計算格子へ変換したうえで、不定流計算と河床更新を繰り返します。

  1. DEM読込1m標高メッシュをRasterModelGridなどの計算格子へ変換
  2. GISデータ反映河道範囲、堤防、粗度係数、計算対象範囲を設定
  3. 2次元不定流水深・水面高・流速を時系列で計算
  4. 土砂移動5粒径区分の掃流砂量と流向別フラックスを計算
  5. 河床更新Exner式により洗掘・堆積量を反映
  6. 結果出力水深、流速、河床変動量、更新後河床高をGeoTIFF等で出力

Pythonソースサンプル

以下は、実データのDEM・河川範囲・堤防データを入力として、Landlabを用いた2次元不定流計算と5区分河床材料の河床更新へ発展させるためのテンプレートです。

scripts/bed_morph_2d_landlab_template.py Python
読み込み中...

河床材料5区分

デモでは代表粒径を5区分に分け、各区分の存在割合をもとに掃流砂量を計算する構成を想定しています。

区分材料代表粒径
区分1細砂0.5 mm
区分22 mm
区分3細礫10 mm
区分4中礫30 mm
区分5粗礫75 mm

実務適用時の注意

本ページの結果は、河床変動解析の考え方とWeb可視化例を示すためのデモです。実河川へ適用する場合は、流量ハイドログラフ、下流水位、粗度係数、河床材料分布、上流給砂量、観測水位・測量河床高による検証が必要です。

業務データに合わせた解析デモ化

保有しているDEM、河川、堤防、粒度分布データに合わせて、Web表示用の解析結果作成やFastAPI化にも対応できます。

相談する