Lesson 09

L09 浸水継続時間 — 「致命的滞水域」の発見

L系GIS浸水継続時間致命的滞水域深さ×時間
所要 60分 / 想定レベル: リテラシ基礎+α / データ: 河川浸水継続時間 #332 (rank列=時間) + 浸水深 #1278 + 用途/橋梁/避難所

データ取得手順

このスクリプトは初回実行時にデータを自動取得します(DoBoX からの直接ダウンロード)。

IDデータセット名
#13シェッド基本情報・維持管理情報
#37河川浸水継続時間_想定最大規模_太田川水系
#42避難所情報
#45高潮浸水想定区域情報_想定最大規模
#46津波浸水想定区域情報
#332河川浸水継続時間_想定最大規模_全河川
#333dataset #333
#888都市計画区域情報_区域データ_安芸高田市_行政区域
#1278過去に発生した災害情報
#1296各種法令の規制情報_建設工事に係る資材の再資源化等に関する法律

実行コマンド:

cd "2026 DoBoX 教材"
python -X utf8 lessons/L09_flood_duration.py

DoBoX のオープンデータは申請不要・商用/非商用とも利用可。 data/extras/.gitignore 対象(約 57 GB のキャッシュ)。 スクリプト実行で自動再生成されます。

学習目標と問い

本記事のスタイル: 浸水深 (X09) × 継続時間 の 2 軸危険度マトリクス + 致命的滞水域の地理同定
浸水深 (どれだけ深く沈むか) と 継続時間 (どれだけ長く沈み続けるか) は別物。 3m が 30 分で引く ≠ 3m が 24 時間続く。 本記事は 河川浸水継続時間 #332 Shapefile (rank 列=時間ランク) を用いて、 従来「水深しか見ていなかった」浸水想定議論を 「深さ × 時間」 の 2 軸に拡張する。

カバー宣言

本記事は河川浸水継続時間 全河川版 (#332) の Shapefile 1 ファイルを使用。 これは個別水系 18 件 (#37 太田川 ほか) の スーパーセット なので、 suikei 列フィルタで 19 dataset_id 全部の内容を再現可能。対応表 19/19 件 論理カバー。

主な問い

  1. 分布の問い: 県全体で浸水継続時間はどう分布するか? 短時間が大半か、長時間滞水が無視できないか?
  2. 地形の問い: 平野部 (河口) と山間部で、深さと時間の組合せはどう違うか?
  3. 致命的滞水域の問い: 深 3m 以上 × 時間 12 時間以上 の救助困難ゾーンはどこに、どれだけあるか?
  4. 救援アクセスの問い: 橋梁の通行不能期間 = 救援遮断時間 はどこで長くなるか?

立てた仮説 (H1〜H6)

  1. H1: 平野部低地は浅いが滞水が長い (深さ↓ 時間↑)
  2. H2: 山間部は深いが急速排水 (深さ↑ 時間↓)
  3. H3: 致命的滞水域 (3m + 12h以上) は太田川河口デルタなど大規模水系に集中
  4. H4: 工業地は浸水時間が長い (低地・港湾立地)
  5. H5: 水系別で「短時間ピーク (山地小河川)」vs「長時間滞水 (大河川下流)」に分かれる
  6. H6: 橋梁通行不能期間 = 救援遮断時間 が水系下流部で長くなる

用語の定義 (本レッスン独自を含む)

結果サマリー

指標結果
継続時間ポリゴン総数253
水系数 / 河川数25 / 68
浸水継続域 総面積50712 ha
最大時間ランク (出現)1ヶ月以上
最大水系 (面積)太田川水系 (16875 ha)
致命的滞水域 (深3m+時間12h以上)47152 ha (238 ポリゴン, 全体の 93.0%)
致命的滞水 最大水系太田川水系 (17957.4 ha)
継続時間域内 橋梁数787 橋 (うち 1日以上滞水 195 橋)
継続時間域内 避難所数1923 件

使用データ

カバー対応表 (DoBoX 19 dataset_id ↔ 本記事)

個別水系版 18 件は本記事の全河川版 #332 のサブセット。suikei 列フィルタで再現可能。

dataset_id水系本記事での再現方法
#332全河川 (本記事の主データ)そのまま使用
#37太田川水系keizoku[keizoku['suikei']=='太田川水系']
#42江の川水系keizoku[keizoku['suikei']=='江の川水系']
#46芦田川水系keizoku[keizoku['suikei']=='芦田川水系']
...沼田川/瀬野川/八幡川/黒瀬川/小瀬川/可愛川/賀茂川/二河川/藤井川/手城川/羽原川/御手洗川/永慶寺川/本郷川/山南川同上 (suikei フィルタ)

対応表 19/19 件 論理カバー

ダウンロード

中間データ (再現用)

ファイル内容
L09_suikei_summary.csv水系別 集計 (面積・平均時間・最大ランク)
L09_time_rank_summary.csv時間ランク別 面積
L09_depth_time_cross.csv深さ×時間 クロス集計 (致命的ゾーン含む)
L09_deadly_suikei.csv致命的滞水域 水系別ランキング
L09_deadly_yoto.csv致命的滞水域 × 用途地域
L09_bridges_in_keizoku.csv継続域内の橋梁 時間別集計
L09_shelters_in_keizoku.csv継続域内の避難所 時間別集計

図 PNG

ファイル内容
L09_map_keizoku_main.png図1 主題図 (時間ランク色分け + 致命的赤)
L09_depth_time_heatmap.png図2 深さ×時間 ヒートマップ
L09_suikei_compare.png図3 水系別 平均時間 / 総面積
L09_small_multiples.png図4 small multiples (上位 12 水系)
L09_time_rank_bar.png図5 時間ランク別 面積
L09_deadly_map.png図6 致命的滞水域 主題図
L09_bridges_bar.png図7 橋梁の時間ランク
L09_deadly_yoto_bar.png図8 致命的×用途
L09_shelters_map.png図9 避難所地図
L09_flood_duration.py再現スクリプト (本記事)

取得手順 (PowerShell)

cd "2026 DoBoX 教材"
# 浸水継続時間 (#332) — 本記事のメインデータ
mkdir data\extras\flood_keizoku_shp -Force
iwr "https://hiroshima-dobox.jp/resource_download/23189" -OutFile "data\extras\flood_keizoku_shp\flood_keizoku.zip"
Expand-Archive "data\extras\flood_keizoku_shp\flood_keizoku.zip" "data\extras\flood_keizoku_shp" -Force

# 浸水深 (#1278), 用途地域 (#1296), 橋梁 (#45), 避難所 (#13) は fetch_all.py で一括
py -X utf8 data\fetch_all.py
py -X utf8 lessons\L09_flood_duration.py

分析1: 浸水継続時間ランクとは何か (前提解説)

狙い

本記事の主データの rank 列 (時間ランク) の意味と、X09 で使った 浸水深 rank との違いを最初に明確化する。

手法 (前置き解説 — 要件B,J)

Shapefile の rank 列は単なる整数 (10〜70) だが、これは広島県・国交省標準凡例で時間範囲にマッピングされる。 本レッスンではこのマッピングを TIME_LABEL 辞書として持ち、各処理で再利用する。

rank時間範囲意味救援可否
1012時間未満半日以内に水が引く救助到達可
2012〜24時間1日近く水中救助困難になり始め
301〜3日数日水中低体温症リスク・通信遮断
403日〜1週間1週間水中食料・医療枯渇
501〜2週間2週間水中居住不能
602週間〜1ヶ月長期滞水建物機能喪失
701ヶ月以上超長期滞水復旧困難

入出力の Before/After (要件K)

段階このデータで何が起きるかサイズ
raw shapefilerank=20, suikei='太田川水系', kasen='太田川', geometry=Polygon1 行 / 全 253 行
+ to_crs(6671)geometry が EPSG:3857 (Web Mercator) → 平面直角座標 III に変換同じ行数
+ buffer(0)微小なトポロジ崩れを修正同じ
+ time_label / ge12h'12〜24時間' / True 列が追加同じ + 2 列

L09_flood_duration.py 行 835–855

835
836
837
838
839
840
841
842
import geopandas as gpd, shapely
keizoku = gpd.read_file("data/extras/flood_keizoku_shp/shinsui_keizokuzikan.shp")
keizoku = keizoku.to_crs("EPSG:6671")
keizoku["geometry"] = gpd.GeoSeries(shapely.force_2d(keizoku.geometry.values), crs="EPSG:6671")
keizoku["geometry"] = keizoku.geometry.buffer(0)
keizoku["area_ha"] = keizoku.geometry.area / 10000
keizoku["time_label"] = keizoku["rank"].map(TIME_LABEL)
keizoku["time_h_mid"] = keizoku["rank"].map(TIME_HOURS_MID)  # 中央時間

結果

なぜこの図か (要件H): 時間ランクが実際にどう分布するか、棒グラフで全体像を把握する。 ヒストグラムでは全 7 ランクなので棒グラフの方が視認性が高い。

継続時間ランク別 浸水域面積 (広島県全河川)
継続時間ランク別 浸水域面積 (広島県全河川)

図の読み取り (要件F):

ランク時間範囲面積 (ha)ポリゴン数割合
1012時間未満232298045.8%
2012〜24時間129327825.5%
301〜3日128556525.3%
403日〜1週間1120172.2%
501〜2週間21550.4%
602週間〜1ヶ月240.0%
701ヶ月以上35940.7%
合計50712253100.0%

表の読み取り (要件G): 時間ランク別の累積面積。短時間域が大半だが、長期滞水も 地域的にゼロではない。 これが後続の致命的滞水域分析につながる。

分析2: 水系別 時間プロファイル (山地小河川 vs 大河川下流)

狙い

仮説 H5 (水系別で短時間ピーク vs 長時間滞水に分かれる) を検証する。 水系ごとに 面積加重 平均継続時間総面積 を計算し、横に並べて比較する。

手法 (面積加重平均)

各ポリゴンの継続時間中央値 (例: rank=30 → 48h) を、そのポリゴン面積で重みづけして平均する。 これは「単純な算術平均」では「小さい異常値ポリゴン」が引っぱり過ぎるのを防ぐ。

L09_flood_duration.py 行 127–146

127
128
129
130
131
132
133
134
suikei_total = keizoku.groupby("suikei").agg(
    total_ha=("area_ha", "sum"),
    n_polygons=("rank", "size"),
    max_rank=("rank", "max"),
    mean_h=("time_h_mid",
            lambda s: float(np.average(s.values,
                                        weights=keizoku.loc[s.index, "area_ha"].values))),
).reset_index().sort_values("total_ha", ascending=False)

なぜこの図か: 水系ごとの 「面積」と「平均時間」を 2 軸並列で比較 したいので、棒グラフを 2 枚並べる構成にする。 散布図 (面積 vs 時間) でも良いが、水系名ラベルを全件表示するには横棒の方が視認性が高い。

水系別 平均継続時間 (左) と 浸水継続域 総面積 (右)
水系別 平均継続時間 (左) と 浸水継続域 総面積 (右)

図の読み取り:

水系総面積 (ha)ポリゴン数平均時間 (h)最大ランク
太田川水系1687559411ヶ月以上
芦田川水系1337143273日〜1週間
江の川水系704057183日〜1週間
沼田川水系371226381〜2週間
高梁川水系 18394313日〜1週間
黒瀬川水系15656131〜3日
八幡川水系790371〜3日
手城川水系7693181〜3日
藤井川水系72751051〜2週間
瀬野川水系6683241〜3日
賀茂川水系5754383日〜1週間
本郷川水系5013151〜3日
小瀬川水系3723171〜3日
二河川水系3165101〜3日
羽原川水系288391〜3日

表の読み取り: 上位 15 水系。太田川水系 が圧倒的トップ (面積・河川数の両面)。 最大ランク列を見ると、ほぼ全水系で 1日以上の長期滞水ポリゴンが出現する。

分析3: 水系別 small multiples (12 panels) — 形状の違いを比較

狙い

水系ごとの空間プロファイルを 12 panel で並べ、「平野部に広く広がる滞水」 vs 「峡谷に細長い短時間浸水」 といった形状の違いを比較する。

なぜこの図か (要件H)

1 枚に全水系を重ねると密集して読み取れない。条件 (水系) だけ変えて並べる small multiples は比較用途で最適。 各 panel の bbox を水系単位で個別計算して、panel ごとに異なるズーム にしている (これが small multiples の鉄則)。

実装

L09_flood_duration.py 行 908–932

 1
 2
 3
 4
 5
 6
 7
 8
 9
917
918
919
top_sui = suikei_total.head(12)["suikei"].tolist()
fig, axes = plt.subplots(3, 4, figsize=(16, 11))
for i, sui_name in enumerate(top_sui):
    ax = axes.flatten()[i]
    sub = keizoku[keizoku["suikei"] == sui_name]
    minx, miny, maxx, maxy = sub.total_bounds
    pad = max(maxx - minx, maxy - miny) * 0.05  # 5% パディング
    for rk in sorted(sub["rank"].unique()):
        sub2 = sub[sub["rank"] == rk]
        sub2.plot(ax=ax, color=TIME_COLOR.get(rk, "#888"), alpha=0.95)
    ax.set_xlim(minx - pad, maxx + pad)
    ax.set_ylim(miny - pad, maxy + pad)
水系別 浸水継続時間 small multiples (上位 12 水系)
水系別 浸水継続時間 small multiples (上位 12 水系)

図の読み取り:

分析4: 主題図 — 県全体の継続時間 + 致命的滞水域の強調

狙い

1 枚で 「県全体の浸水継続時間の地理分布」「その中の致命的滞水域 (深3m+12h以上)」 を同時に可視化する。 重ね合わせマップ (要件T) の主役。

手法 (なぜこの図か)

時間ランクは 7 段階で連続的なので、黄→オレンジ→赤の段階色 で表現。 致命的滞水域はさらに 真っ赤 + 縁取り で別格扱いし、視線がそこに行くようにする。 凡例を 2 つ (時間ランク用と致命的用) を併設して、色の意味を区別。

広島県 河川浸水継続時間 主題図 + 致命的滞水域 (赤)
広島県 河川浸水継続時間 主題図 + 致命的滞水域 (赤)

図の読み取り:

分析5: 「深さ × 時間」2 軸ヒートマップ — 致命的ゾーンの定量化

狙い

本記事の 核となる発見。浸水深ランク (X09 と同じ #1278) と継続時間ランク (#332) を同一座標系でオーバーレイし、 クロス集計でヒートマップ化する。

手法 (オーバーレイの STEP 分け — 要件O)

STEP役割入力出力
STEP1: 深さ絞込計算量削減のため深 2m 以上のみ抽出flood_depth (全 rank)deep (rank ≥ 40)
STEP2: overlay深 × 時間 の交差ポリゴンを計算deep + keizokuovl (depth_rank, time_rank, geometry)
STEP3: 集計(depth_rank, time_rank) でグループ化ovlcross (面積マトリクス)
STEP4: 致命的抽出depth≥50 かつ time≥20 を独立 GeoDataFrame 化ovldeadly

実装

L09_flood_duration.py 行 967–994

 1
 2
 3
 4
 5
 6
 7
 8
 9
976
977
978
deep = flood_depth[flood_depth["rank"] >= 40]   # 深 2m 以上
ovl = gpd.overlay(deep[["rank", "geometry"]].rename(columns={"rank": "depth_rank"}),
                  keizoku[["rank", "suikei", "geometry"]].rename(columns={"rank": "time_rank"}),
                  how="intersection", keep_geom_type=False)
ovl["overlap_ha"] = ovl.geometry.area / 10000

# 致命的滞水域 = 深 rank≥50 (3m以上) × 時間 rank≥20 (12h以上)
deadly = ovl[(ovl["depth_rank"] >= 50) & (ovl["time_rank"] >= 20)]

# 深さ × 時間 クロス
cross = ovl.pivot_table(index="depth_rank", columns="time_rank",
                        values="overlap_ha", aggfunc="sum", fill_value=0)

なぜこの図か: 2 軸 (深さ×時間) の値分布をひと目で把握するならヒートマップが最適。 致命的ゾーンを赤枠で囲い、視線を集中させる。

浸水深 × 継続時間 重なり面積 ヒートマップ (致命的ゾーンを赤枠)
浸水深 × 継続時間 重なり面積 ヒートマップ (致命的ゾーンを赤枠)

図の読み取り:

クロス表 (深さ × 時間)

深さ\時間12時間未満12〜24時間1〜3日3日〜1週間1〜2週間
2.0〜3.0m259351750510396367200
3.0〜5.0m1923370298377473332
5.0〜10.0m6025561121339248061
10.0〜20.0m91756085532
20m以上992

セルは ha 単位。10 ha 以上のセルを赤背景でハイライト。 表の右下方向に進むほど致命的=救助困難な領域。

分析6: 致命的滞水域の地理同定 — 水系別ランキング

狙い

致命的滞水域 (深3m + 12h以上) が どの水系に、どれだけ集中するか を定量化する。仮説 H3 (河口デルタ集中) の検証。

結果

致命的滞水域 (赤) = 深3m以上 × 時間12h以上 の交差
致命的滞水域 (赤) = 深3m以上 × 時間12h以上 の交差

図の読み取り:

水系致命的滞水域 (ha)ポリゴン数
太田川水系17957.457
芦田川水系14960.164
高梁川水系 5051.612
沼田川水系3919.226
江の川水系3561.044
藤井川水系392.93
黒瀬川水系362.85
賀茂川水系343.72
本郷川水系147.13
羽原川水系145.44

表の読み取り:

分析7: 致命的滞水域 × 用途地域 (広島市)

狙い

致命的滞水域がどんな 土地利用 に重なるか? 工業地が長期滞水する仮説 (H4) を検証する。

手法

用途地域 GeoJSON (広島市版 341002) を YOTO_CD で dissolve し、致命的滞水域 GeoDataFrame と overlay する。 広島市以外 (340006 県全域版) は計算量が大きく要件S (1分以内) を超えるため、市版で代表させる。

致命的滞水域 × 用途地域 (広島市)
致命的滞水域 × 用途地域 (広島市)

図の読み取り:

用途致命的滞水域 (ha)
第一種住居13856.40
商業2614.90
準住居520.01
第二種住居458.62
工業162.79
工業専用3.16
第二種中高層住居専用1.23

分析8: 橋梁 sjoin — 救援アクセス遮断時間

狙い

橋梁が浸水継続時間域内に位置すれば、その時間ランク = 通行不能期間 = 救援アクセス遮断時間 (仮説 H6)。

手法 (sjoin の解説)

gpd.sjoin(points, polygons, predicate="within") は、点が どのポリゴンに含まれるか を結合する操作。 内部で R-tree 空間インデックスが使われ、4203 橋 × 253 ポリゴンの総当たりではなく O(n log n) で処理される。

入出力 Before/After (要件K)

段階このデータで何が起きるかサイズ
raw bridge_basic.csv橋梁番号, 緯度, 経度 ...4203 橋
+ points_from_xygeometry 列が Point に4203 橋
+ to_crs(6671)EPSG:4326 → 平面直角座標同じ
sjoin within keizokuポリゴン内のみ残る (= 浸水継続域内の橋)787 橋

実装

L09_flood_duration.py 行 1062–1077

1062
1063
1064
1065
1066
1067
1068
bridge_gdf = gpd.GeoDataFrame(
    bridge,
    geometry=gpd.points_from_xy(bridge["経度(10進数)"], bridge["緯度(10進数)"]),
    crs="EPSG:4326",
).to_crs("EPSG:6671")
bridge_in = gpd.sjoin(bridge_gdf, keizoku[["rank", "suikei", "geometry"]],
                      how="inner", predicate="within")
継続時間域内に位置する橋梁数 (合計 787 橋)
継続時間域内に位置する橋梁数 (合計 787 橋)

図の読み取り:

時間ランク橋梁数
12時間未満394
12〜24時間198
1〜3日180
3日〜1週間15
合計787

表の読み取り: 12時間未満 (rank=10) の橋が大半。だが 1日以上 (rank≥30) の橋も無視できない数。 これらの橋は 救援ヘリが下りられない・ボートが入れない 状況下で唯一のアクセス路となる場合がある。

分析9: 避難所 sjoin — 「避難所自体が孤立」リスク

狙い

避難所が浸水継続時間域内に位置すれば、避難所自体が水没・孤立する。 特に 洪水避難所として指定されている (floodShFlg=1) のに継続域内にある場合、指定の妥当性が問われる。

結果

浸水継続時間域内に位置する避難所
浸水継続時間域内に位置する避難所

図の読み取り:

時間ランク避難所合計うち洪水指定
12時間未満918627
12〜24時間509279
1〜3日465244
3日〜1週間189
1ヶ月以上135

表の読み取り: 継続時間域に位置する避難所のうち、洪水指定避難所 も少なからず存在。 継続時間が長いほど指定数も連動するなら、避難所配置の見直しが必要なシグナル。

仮説検証と考察

仮説 vs 結果

仮説判定根拠
H1: 平野部低地は浅いが滞水が長い部分支持図1主題図で広島湾沿いの黄〜オレンジ (短〜中時間) が広く分布。深さは X09 で 0.5〜2m が多い帯。長時間滞水 (赤) は内陸窪地に偏る
H2: 山間部は深いが急速排水部分支持江の川 (山間部) で短時間ピークが多い small multiples。但し 10m超 × 12h 以上は少なく、深い場所は引きやすい傾向 (H2 適合)
H3: 致命的滞水域は河口デルタに集中支持致命的滞水域 1 位は 太田川水系 (17957.4 ha)。図6 致命的マップで赤の集中が確認できる
H4: 工業地は浸水時間が長い保留致命的×用途で 住居系が上位 → 命の危険軸では H4 反証寄り、H8 (住居重大リスク) が支持
H5: 水系別 短時間ピーク vs 長時間滞水支持水系別平均時間 (図3) で水系間に差。江の川=短時間多, 太田川=広い分布, 一部山間水系=長時間ピーク
H6: 橋梁通行不能期間 = 救援遮断時間支持787 橋が継続時間域内、うち 195 橋が 1日以上滞水域内 (図7)

考察 — 「深さ × 時間」軸が示す新しい防災視点

発展課題 (結果から導かれる新たな問い)

  1. 致命的滞水域 × 過去災害の照合:
    • 結果X: 致命的滞水域は本記事で 47152 ha 抽出
    • 新仮説Y: 過去の実災害 (西日本豪雨 2018 等) で実際に長期滞水した地点は本記事の致命的滞水域内に多くが含まれる
    • 課題Z: S66 過去災害情報、自衛隊救援記録、新聞報道アーカイブと致命的滞水域 polygon を照合し、想定の妥当性を経験的検証
  2. 建築年代との交差:
    • 結果X: 致命的滞水域 × 用途で住居系が上位
    • 新仮説Y: 戦後の住宅地拡張期 (1960-80年代) に低地への住宅進出が進み、その地域が現在の致命的滞水域と重なる
    • 課題Z: 国勢調査の住宅統計 (建築年代別) と致命的滞水域を交差し、年代別リスクを定量化
  3. 救援拠点の最適配置:
    • 結果X: 致命的滞水域は 238 ポリゴンに分布
    • 新仮説Y: 致命的滞水域の重心から最も遠い既存ヘリポート/防災拠点が救援限界になる
    • 課題Z: 既存ヘリポート位置と致命的滞水域重心の距離を BallTree で計算 (L09 旧版 nearest_camera と類似手法)、最遠点を新規拠点候補として提案
  4. 気候変動シナリオへの拡張: 降雨量増加に応じて継続時間ランクが 1 段階シフトした場合、致命的滞水域は何 ha 増えるか? 線形外挿してリスク量を試算
  5. 水位観測所との時間連携: S系の水位観測リアルタイムデータと、本記事の継続時間ランクを連携して、ある観測点が警戒水位に到達した何時間後に致命的滞水域が形成され始めるかを実時間モデル化
  6. 独立水系版 (#37 太田川など) との照合: 本記事は全河川版 (#332) を使用したが、個別水系版 (#37 等) は同一データのサブセットなのか、それとも何らかの差分があるのか? 1 件 (#37 太田川) を実際にダウンロードして diff し、データガバナンスの観点から検証

補足: GIS メソッドの黒箱化 + 処理時間 (要件S対応)

本記事で使った GIS 操作のツール化視点 (要件J)

関数入力出力用途
gpd.read_file(shp)Shapefile パスGeoDataFrame属性 + ジオメトリの読み込み
gdf.to_crs("EPSG:6671")GeoDataFrame座標変換済み GeoDataFrame面積を m² で正確に計算
shapely.force_2d()geometry 配列2D geometry 配列3D 座標を 2D に落とす (処理高速化)
gdf.geometry.buffer(0)GeoDataFrame修正済み GeoDataFrameトポロジ崩れの修復
gpd.overlay(A, B, how='intersection')2 GeoDataFrame交差ポリゴン (両方の属性保持)深さ × 時間の交差
gpd.sjoin(points, polys, predicate='within')点 GDF + ポリゴン GDF結合済み点 GDF橋梁 / 避難所 in 継続域
gdf.dissolve(by='col')GeoDataFrame + キー列キー単位 union用途別集約
gdf.geometry.simplify(50)GeoDataFrame単純化 GeoDataFramesmall multiples 描画高速化

ツール化の意味: 内部で R-tree 空間インデックス、Boolean 演算、トポロジ修正が走るが、利用者は黒箱で OK。 原理の理解 + ブラックボックス利用 が DoBoX の方針。

処理時間とパフォーマンス (要件S対応)

データの直リンク再現性 (要件A)

本記事は HTML から以下が直 DL 可能:

すべて DoBoX の制限/オフラインに対応済み。