Lesson 76
非常用電話位置情報 単独 3 研究例分析 — NTT 災害時非常用公衆電話 900 拠点 / 1181 台 を読む
L76非常用電話災害時非常用公衆電話NTT 西日本通信救急ネットワーク最後のセーフティネット通信空白避難所通信救急二重冗長孤立リスク拠点RQ×3Format BgeopandasPOINT (CSV)L62連携 (避難所)L72連携 (緊急輸送道路)災害対策基本法 (1961)NTT 災害時公衆電話制度 (1996)県地域防災計画通信冗長性
所要 55 分 / 想定レベル: 中級 / データ: DoBoX dataset 1457 (CSV × 1, ~107 KB)
データ取得手順
⚠️ このスクリプトは自動取得に対応していません。以下のデータセットを DoBoX から手動でダウンロードし、data/extras/ 以下に保存してください。
| ID | データセット名 |
| #333 | dataset #333 |
| #888 | 都市計画区域情報_区域データ_安芸高田市_行政区域 |
| #1457 | 非常用電話位置情報 |
実行コマンド:
cd "2026 DoBoX 教材"
python -X utf8 lessons/L76_emergency_phones.py
DoBoX のオープンデータは申請不要・商用/非商用とも利用可。
data/extras/ は .gitignore 対象(約 57 GB のキャッシュ)。
スクリプト実行で自動再生成されます。
1. 学習目標と問い
本記事の対象 — 「非常用電話位置情報」 1 件 単独分析
本記事は DoBoX のデータセット 「非常用電話位置情報」 (dataset 1457)
1 件を 単独で取り上げ、 西日本電信電話株式会社 (NTT 西日本) が広島県内に
設置・運用する「災害時非常用公衆電話」 900 拠点 / 計 1181 台を
3 つの独立した研究角度で並列に分析する記事である。
他のシリーズ (避難情報 L62 / トンネル L67 / 緊急輸送道路 L72) と本記事は
合体しない。 RQ2 で県登録避難所 4065 件 (data/shelters.json),
RQ3 で L72 緊急輸送道路 (630 セグ / 2789 km, cached) を
参照するが、 これは「県の通信救急ネットワークの位置付け」 を明らかにする
ための既扱データの従属的参照に留め、 本記事の主軸はあくまで非常用電話
1 dataset の分析である。
重要な前提整理 — 「非常用電話」 の意味:
一般に「非常用電話」 と聞くと
高速道路トンネル内の通報装置
(NEXCO 等が管理する「非常電話」) を想起しがちだが、 本データセット
が対象とする「非常用電話」 は
完全に別物である。
本データの正式名称は
「災害時非常用公衆電話」 (NTT 西日本管理) で、
NTT 西日本が
避難所相当の公共施設 (小中学校 + 体育館 + 行政センター +
公民館 等)に事前設置する公衆電話である。 1 拠点 1〜3 台。 平時は
未開通、 大規模災害発生時に NTT 西日本が遠隔回線開通を行うことで
初めて通話可能となる
「災害時優先回線」。
特徴:
- 通話無料 (硬貨・カード不要) ─ 災害時の被災者が 100 円玉を
持ち歩いていなくても発信可能
- 携帯電話の輻輳・基地局停電・回線断時にも独立稼働 ─ 公衆電話
専用の有線回線 + NTT 局舎バッテリで完全独立
- 1995 年 阪神・淡路大震災での通信インフラ大規模断絶を契機に
NTT が制度化 (1996 年〜)
- 全国の市町村と NTT が事前協定を結び、 災害時の自動回線開通を準備
したがって、 本記事の「非常用電話」 は
「災害時の最後のセーフティネット
(last resort communication)」として機能する公衆電話網であり、
高速道路非常電話とは設置場所・運用主体・回線方式・利用者・全てが異なる。
本記事は学習者がこの混同を避けられるよう、 冒頭で明確に定義する。
「災害時非常用公衆電話」 とは:
NTT 西日本が広島県内に設置する公衆電話の特殊な部分集合で、
900 拠点 / 計 1181 台。 設置先は事前選定された
「災害時に避難所として機能する公共施設」 ─ 小中学校 (体育館を含む)、
公民館・行政センター、 大規模ホール、 高校・大学 等。
通常時は屋内の特定位置 (体育館 / 玄関ホール / 事務室 / MDF 内 等) に
待機状態で設置されており、 利用者からは見えない or 鍵付きキャビネット内に
保管される。
本記事の主要発見 (3 RQ):
- RQ1: 県の通信救急ネットワークは900 拠点 / 1181 台。
公的避難所相当施設に 851 (94.6%)が集中、
最多 福山市 (121 拠点)。
複数台拠点 256 (28.4%)、 中山間山地に
183 (20.3%)。 H1 (強支持) / H2 (強支持)。
- RQ2: 電話 900 拠点のうち県登録避難所 100m 圏内は
730 (81.1%)。 避難所側の通信整備率は
1131/4065 = 27.8%のみ ─
残り 2934 件は通信空白避難所。
H3 (強支持) / H4 (反証)。
- RQ3: 電話 900 拠点のうち L72 緊急輸送道路 1〜2 次 1km 圏内が
661 (73.4%)。 全階層では
758 (84.2%)。 通信救急二重冗長点
(避難所 ∩ L72) は 646 (71.8%)。
H5 (強支持)。
独自に定義する用語 (本記事限定)
- 非常用電話 (本記事の中心概念): NTT 西日本が広島県内に事前設置する
災害時非常用公衆電話のこと (高速道路非常電話とは別物)。 公的避難所
相当施設に 1 拠点あたり 1〜3 台ずつ事前配備され、 平時は未開通、 災害時に
NTT が遠隔回線開通を行う。
- 拠点 (本記事独自): CSV の 1 行に対応する物理建物単位。 1 拠点 = 1 建物。
本データセットには 900 拠点が登録されている。
- 設置台数 (CSV 列名): 1 拠点あたりの非常用電話の台数。 分布は 1〜3 台で、
平均 1.31 台/拠点。 大規模避難所では複数台設置で通話需要を
分散する設計思想。
- 利用場所 (CSV 列名): 建物内の具体的位置 (体育館 / 玄関ホール /
事務室 / MDF 内 等)。 NTT 公式仕様書の「設置場所 (建物名)」 とは別で、
建物内位置を指す。 体育館が最多 (605
拠点) で、 これは「避難所として開設される空間」 と一致。
- 施設種別 (本記事独自分類): CSV の建物名先頭から判定する小学校 / 中学校 /
高校 / 大学 / 保育園 / 公民館 / 行政センター / 体育館 / 文化施設 / 集会所 /
役場 / その他 の 12 分類。 公式分類ではないが、 「公的避難所相当か」 を
判定する独自指標。
- 公的避難所相当施設 (本記事独自): 学校 (小中高大) + 公民館 + 行政センター
+ 体育館 の 7 種を統合した独自カテゴリ。 災害対策基本法上の「指定避難所」 とは
公式には別だが、 物理的にはほぼ重なる。 H1 で量的検証。
- 避難所通信整備率 (本記事独自指標): 県登録避難所のうち 100m 圏内に
非常用電話を持つ割合 = 27.8%。 100% に近いほど
通信冗長性が高く、 低いほど災害時の通信空白避難所が増える。
- 通信空白避難所 (本記事独自): 県登録避難所のうち 100m 圏内に非常用電話を
持たない避難所 = 2934 件。 災害時に携帯電話が
使えなくなると最後のセーフティネットが無い状態となる。 県防災計画の
整備優先候補。
- 通信救急二重冗長 (本記事独自): 電話 + 県避難所 + L72 緊急輸送道路の3 要素
が全て近接する拠点 ─ 通信途絶時にも災害救援車両が物理アクセス可能で、
かつ避難所機能が確保される拠点。 646 拠点 (71.8%)。
県の通信救急網の中核ノード。
- 孤立リスク拠点 (本記事独自): 非常用電話があるが L72 緊急輸送道路 1km 圏外に
位置する 142 拠点 (15.8%)。
災害時に幹線道路からのアクセスが遠く、 復旧支援が遅れやすい中山間奥地の
集落避難所。
- L72 緊急輸送道路 (背景説明): 県地域防災計画で指定された 4 階層
(630 セグ / 2789 km) の災害時生命線道路。 第1次 (高速・
幹線国道) + 第2次 (主要地方道・国道) が主要骨格 = 431 セグ /
2166 km。 RQ3 で 1km バッファ参照。
- 中山間山地 (本記事独自定義): 庄原市・三次市・安芸太田町・安芸高田市・
北広島町・神石高原町・世羅町・府中市の 8 市町。 公式分類ではないが、 地形・
人口密度から「中山間」 と一般に呼ばれる地域。 L72 / L73 / L74 / L75 と同じ
定義を採用。
- 選定一致 (本記事独自): 非常用電話の設置場所と県登録避難所が 100m 圏内に
重なること。 81.1%の一致率は NTT と県防災部門が事実上
連携している制度横断的整備の物理的証拠と読める。
研究の問い (3 RQ)
- RQ1 (主研究): 広島県のNTT 災害時非常用公衆電話の地理分布と設置構造
— 市町 × 施設種別 × 設置台数 × 利用場所はどう描けるか? 900 拠点 /
1181 台を 4 軸で集計し、 「県の通信救急ネットワークの物理形状」 を
初めて系統的に記述する。 H1 (公的避難所相当施設 ≥ 80%) / H2 (複数台拠点
≥ 25%) を検証。
- RQ2 (副研究 1): 非常用電話と県登録避難所 (shelters 4065 件)
との照合 — 避難所通信整備率はどう描けるか? 100m 圏内 sjoin で双方向の
一致率を量化し、 NTT 整備計画 vs 県避難所指定の関係を検証する。 H3 (電話 ⊂
避難所 ≥ 80%) / H4 (避難所通信整備率 < 25%) を検証。
- RQ3 (副研究 2): 非常用電話とL72 緊急輸送道路 (630 セグ /
2789 km) との関連 — 通信救急ネットワークの冗長性はどう描けるか?
非常用電話 900 拠点が L72 第1〜2次の 1km 圏内かを sjoin、 「電話 + 道路」
二重近接拠点を量化する。 H5 (L72 1〜2次 1km ≥ 70%) を検証。
仮説 (5)
- H1 (RQ1, 公的避難所集中): 公的避難所相当施設 ≥ 80%。 NTT 選定 = 県避難所
指定との制度横断的整備仮説。
- H2 (RQ1, 複数台設置): 複数台拠点 ≥ 25%。 拠点規模 ⇔ 通信容量の事前需要
設計仮説。
- H3 (RQ2, 電話 ⊂ 避難所): 電話 ⊂ 避難所 100m ≥ 80%。 NTT vs 県の選定
基準の事実上一致仮説。
- H4 (RQ2, 整備の偏り): 避難所通信整備率 < 25%。 中核避難所限定整備 +
通信空白避難所多数の偏在仮説。
- H5 (RQ3, 通信救急二重冗長): L72 1〜2次 1km ≥ 70%。 通信 + 道路の二重
冗長性確保の幹線道路一致仮説。
到達点
本記事を読み終えると、 (1) 県の NTT 災害時非常用公衆電話 900 拠点 /
1181 台の物理構造を市町・施設種別・設置台数・利用場所の 4 軸で完全に俯瞰、
(2) 県登録避難所 4065 件との一致率と通信空白避難所 2934
件の存在を量的に把握、 (3) L72 緊急輸送道路との 1km 近接率と通信救急二重冗長
646 拠点の特定、 という 3 段階の知識が獲得できる。 これにより県の災害時
通信制度における「最後のセーフティネット (last resort communication) としての
公衆電話網」という制度位置付け、 および「整備済中核避難所 vs 通信空白
避難所」という制度的偏在が研究者視点で見えるようになる。
2. 使用データ
本研究で使う 1 つの dataset (1 リソース) を以下の表に示す。
本データは「非常用電話位置情報」 を 1 つの CSV ファイルで公開する単純構造の
データセット。 NTT 西日本が県と協定を結んで整備した災害時非常用公衆電話の
位置情報を住所 + 緯度経度で提供する。
データセット仕様
| 項目 |
値 |
| dataset_id |
1457 |
| 公式名 |
非常用電話位置情報 |
| 公式説明 |
西日本電信電話株式会社 (NTT 西日本) が管理する非常用電話位置情報 |
| リソース数 |
1 (CSV) |
| リソース ID |
94468 (非常用電話位置情報_2024-08-14) |
| 総サイズ |
110,030 byte (~107 KB) |
| CSV 列 |
建物名, 利用場所, 設置台数, 住所, 緯度 世界, 経度 世界 |
| レコード数 |
900 拠点 (= 建物数, 設置台数合計 1181 台) |
| 座標系 (元) |
WGS84 (EPSG:4326) → 本記事 EPSG:6671 で処理 |
| ライセンス |
クリエイティブ・コモンズ表示 (CC-BY) |
| URL |
https://hiroshima-dobox.jp/datasets/1457 |
| 作成主体 |
西日本電信電話株式会社 (NTT 西日本) |
| 制度的位置付け |
災害対策基本法 (1961) + NTT 災害時非常用公衆電話制度 (1996〜) + 県地域防災計画 (避難所通信) |
1 リソースの内訳
| リソース | 形式 | 役割 | 件数 |
| resource 94468 (非常用電話位置情報_2024-08-14) |
CSV (UTF-8 BOM) |
900 拠点の位置 + 属性 |
900 行 × 6 列 |
CSV 列定義
| 列名 | 例 | 意味 |
| 建物名 | 中島小学校 |
設置施設名 (= 拠点名) |
| 利用場所 | 体育館 |
建物内の具体的位置 (体育館 / 玄関ホール / 事務室 / MDF 内 等) |
| 設置台数 | 2 |
1 拠点あたりの台数 (1〜3 台) |
| 住所 | 〒730-0812 広島県広島市中区加古町10-8 |
郵便番号 + 住所 (一部「広島県」 抜けの揺れあり) |
| 緯度 世界 | 34.386431 |
WGS84 (世界測地系) の緯度。 「世界」 表記は元データの慣習 |
| 経度 世界 | 132.447997 |
WGS84 の経度 |
形式特性の注意点
- 列名「緯度 世界」 「経度 世界」 は全角スペース (U+3000)を含む。
df.columns.str.replace(" ", "") で除去するか、 元のまま
アクセス。
- 住所の郵便番号区切りに半角ハイフン「-」 と全角ダッシュ「ー」 が混在
(例: 「〒729-3431-府中市…」 「〒729-5722ー庄原市…」)。 また「広島県」 表記が
抜けるレコードもあり、 市町抽出は正規表現で頑健に行う必要がある。
- 「利用場所」 列の値は自由記述で、 表記ゆれ多数 (体育館 / 玄関ホール / ホール /
MDF 内 / EPS 内 / 受付カウンタ / 警備室 等)。 605
拠点が体育館で最多。
- 1 dataset = 1 リソース = 1 CSV の最も単純な形式。 ZIP 展開や複数
リソース統合は不要。
- 更新時期は 2024-08-14 (リソース名から判明)。 NTT による整備計画変更で
増減する可能性があるが、 既存運用施設の位置情報は長期的に安定している。
3. ダウンロード (再現用 直リンク)
本記事の再現に必要なすべてを直リンクで提供する。
HTML だけ読めば学習者が完全再現できることが目標 (要件 A)。
生データ (DoBoX 1 dataset, 1 リソース)
このスクリプト本体
中間 CSV (本記事生成、 再利用可)
図 (PNG, 直 DL 可)
4. 【RQ1】 非常用電話の地理分布と設置構造
狙い (RQ1)
RQ1 では「県の通信救急ネットワーク」 の物理構造を初めて系統的に記述する。
具体的には 900 拠点 / 1181 台を市町 × 施設種別 × 設置台数 × 利用場所の
4 軸で集計し、 「電話がどの市町・どの種別施設・何台ずつ・建物のどこに配置されるか」 を
1 枚で俯瞰できるようにする。 H1 (公的避難所相当 ≥ 80%) は「NTT 整備 = 県避難所網と
事実上一致」 の中心仮説、 H2 (複数台拠点 ≥ 25%) は「拠点規模 ⇔ 通信容量」 の事前需要
設計を量的検証する。
手法 — 4 ステップ
- STEP 1: CSV パース + 列名正規化
非常用電話 CSV (UTF-8 BOM, 900 行 × 6 列) を read_csv() で読込み、
列名から全角スペース (U+3000)を除去 → 「緯度世界」 「経度世界」 → 「緯度」
「経度」 に rename する。 設置台数を pd.to_numeric() で整数化。
- STEP 2: 建物名から施設種別判定 (本記事独自分類)
建物名先頭から「小学校」 「中学校」 「高校」 「公民館」 「センター」 「体育館」
等のキーワードを文字列マッチで判定し、 12 種に分類する。 さらに学校 (小中高大)
+ 公民館 + 行政センター + 体育館を統合した「公的避難所相当」フラグを付与。
- STEP 3: 住所から市町抽出 (正規表現の頑健設計)
住所列は郵便番号区切りの揺れ (半角「-」 / 全角「ー」) と「広島県」 抜け
が混在する非整形データ。 4 段階の正規表現で順に「広島市××区」 → 「〇〇市」 →
「〇〇郡〇〇町村」 → 「〇〇町」 を試行し、 マッチした最初を採用する頑健抽出。
- STEP 4: GeoDataFrame 化 + 投影変換 + 4 軸集計
緯度経度 → shapely.geometry.Point → GeoDataFrame に変換、
to_crs("EPSG:6671") で平面直角第 III 系に投影 → 距離・面積が
m 単位で計算可能に。 行政界 GPKG との sjoin で空間判定の市町も併記し、
文字列抽出と空間判定の2 系統の市町情報を保持する。
実装 (主要部のみ抜粋)
↑ L76_emergency_phones.py 行 1515–1635
1
2
3
4
5
6
7
8
9
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571 | import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
import re
# (1) 非常用電話 CSV を読込み (UTF-8 BOM, 列名に全角スペース)
df = pd.read_csv("data/extras/L76_emergency_phones/emergency_phones.csv",
encoding="utf-8-sig")
df.columns = [c.strip().replace(" ", "") for c in df.columns]
df = df.rename(columns={"緯度世界": "緯度", "経度世界": "経度"})
# (2) 建物名キーワードから施設種別を判定 (本記事独自分類)
def building_class(name):
s = str(name)
if "小学校" in s: return "小学校"
if "中学校" in s: return "中学校"
if "高等学校" in s or "高校" in s: return "高校"
if "大学" in s and "短期" not in s: return "大学"
if "公民館" in s: return "公民館"
if "センター" in s or "プラザ" in s: return "行政センター"
if "体育館" in s: return "体育館"
if "ホール" in s or "会館" in s: return "文化施設・ホール"
return "その他"
df["施設種別"] = df["建物名"].apply(building_class)
# (3) 住所から市町を正規表現で抽出 (郵便番号区切りの揺れに対応)
def extract_city(addr):
s = str(addr)
m = re.search(r"広島市(中区|東区|南区|西区|安佐南区|安佐北区|安芸区|佐伯区)", s)
if m: return f"広島市{m.group(1)}"
m = re.search(r"([一-龥ぁ-んァ-ンA-Za-z]+市)", s)
if m: return m.group(1).replace("広島県", "")
m = re.search(r"([一-龥]+郡[一-龥]+[町村])", s)
if m:
m2 = re.search(r"([一-龥]+[町村])$", m.group(1))
return m2.group(1) if m2 else m.group(1)
m = re.search(r"([一-龥]+町)", s)
if m: return m.group(1)
return "不明"
df["市町"] = df["住所"].apply(extract_city)
# (4) 設置台数を整数化 + 公的避難所相当判定
df["設置台数"] = pd.to_numeric(df["設置台数"], errors="coerce").fillna(1).astype(int)
SHELTER_LIKE = {"小学校", "中学校", "高校", "大学",
"公民館", "行政センター", "体育館"}
df["is_shelter_like"] = df["施設種別"].isin(SHELTER_LIKE)
# (5) GeoDataFrame 化 + EPSG:6671 投影変換
geom = [Point(lon, lat) for lon, lat in zip(df["経度"], df["緯度"])]
gdf = gpd.GeoDataFrame(df, geometry=geom,
crs="EPSG:4326").to_crs("EPSG:6671")
# (6) 集計
print(f"総拠点 = {len(gdf)} / 総台数 = {gdf['設置台数'].sum()}")
print(f"複数台拠点 (>=2) = {int((gdf['設置台数']>=2).sum())}")
print(f"公的避難所相当 = {int(gdf['is_shelter_like'].sum())}")
print(gdf.groupby('施設種別').size())
|
結果 1: 県全域 市町別 choropleth (図 1)
なぜこの図か: 22 市町に拠点がどう分布するか主題図 (choropleth)で
俯瞰したい。 棒グラフだけだと地理的偏在 (沿岸都市集中 / 中山間散在) が見えない。
拠点数を市町ポリゴンに塗り分けることで、 NTT 整備の地理的優先順位が一目で分かる。
図 1 から読み取れること:
- 福山市 が最多 (121 拠点) ─
行政区切りで広島市 8 区を分けても各区は 20-50 拠点規模で都市部最重点
- 東広島市 (85) /
呉市 (82) /
庄原市 (47) が上位 ─
福山・東広島・呉の沿岸 3 大都市に集中
- 中山間 (庄原・三次・北広島・神石高原・世羅) は 5-50 拠点と中規模 ─
地形上の散在配置で各集落避難所をカバー
- 22 市町すべてに最低 1 拠点以上設置されている ─ 県全域カバーの
整備方針が物理的に確認
結果 2: 施設種別別 点マップ (図 2)
なぜこの図か: 12 種の施設種別が県内にどう分布するかを県全域地図に
重ねて一目で確認したい。 小学校 (赤) / 中学校 (橙) / 公民館 (青) / 行政
センター (濃青) / 体育館 (緑) で色分けすることで、 「学校網が中心 + 公民館・
行政センターが補完」 の物理形状が直感できる。
図 2 から読み取れること:
- 小学校 (赤, 461 拠点): 県全域に
高密度分布 ─ 校区 = 集落単位の整備で最多施設種別を構成
- 中学校 (橙, 181 拠点): 小学校より
広域カバー (1 中学校 = 複数小学校区) で集落間隔約 2-5km
- 公民館・行政センター (青系, 計 158):
旧町村単位の地域中心施設 ─ 中山間部の集落代表として機能
- 体育館 (緑, 32): 大規模スポーツ
施設 + 学校体育館 ─ 大量収容可能な指定避難所として機能
- 学校系 + 公民館系 + 行政センターで 94.6%を占め、
H1 の中心仮説を地図的にも支持 ─ 「NTT 整備 = 県避難所網」 が物理形状で
確認できる
結果 3: 設置台数 + 施設種別 + 地理クラス 3 角度 (図 3)
なぜこの図か: H1 (公的避難所集中) + H2 (複数台設置) を 3 パネルで多角検証。
(1) 設置台数分布で複数台シェア、 (2) 施設種別棒グラフで公的避難所支配、
(3) 地理クラスで都市部 / 中山間 / 島嶼の整備バランスを 1 枚で見る。
図 3 から読み取れること:
- 左パネル (設置台数): 1 台が 644
拠点で過半数、 2 台 231 + 3 台
25 = 複数台 28.4%。
H2 (≥ 25%) 成立
- 中央パネル (施設種別棒): 小学校 (461)
が圧倒的最多、 2 位中学校 (181)、
3 位 公民館 + 行政センター + 体育館の合計
(190)。
公的避難所相当 = 94.6% ─ H1 (≥ 80%)
成立
- 右パネル (地理クラス): 平野・沿岸都市が
675 (75.0%)で多数 ─
人口集中地域への整備優先。 中山間 20.3% は地形上分散
- 3 軸で見ると非常用電話は「公的避難所相当 × 平野・沿岸都市優先 × 1 台中心」と
整理できる ─ 「集落の中核施設に最低 1 台、 大規模拠点に予備機」 という選定戦略の
物理形
結果 4: 設置台数 バブルマップ (図 4)
なぜこの図か: 拠点ごとの設置台数をマーカーサイズ + 色で表現し、
「複数台拠点」 がどこに集中するかを地図で見たい。 大規模避難所は通常都市中心
(広島市・福山市・東広島市) に分布する仮説が地図で確認できる。
図 4 から読み取れること:
- 3 台 (赤大, 25 拠点): 大規模文化施設 +
総合体育館 + 大規模高校 ─ 都市中心部に集中 (アステールプラザ等)
- 2 台 (橙中, 231 拠点): 中規模学校 + 公民館 +
地域センター ─ 沿岸都市 + 中山間中核施設に分散
- 1 台 (緑小, 644 拠点): 小規模校区学校 +
集落公民館 ─ 県全域に最広範囲分布 = 末端カバレッジ担当
- 分布パターン: 「都市中心 = 3 台拠点 + 中規模 2 台、 周辺集落 = 1 台」
という規模ヒエラルキーが地図で見える ─ 通信容量の事前需要設計の
物理形状
結果 5: 市町・施設・台数・利用場所 詳細表
市町別サマリ (Top 15):
| 市町 |
地理クラス |
拠点数 |
台数合計 |
シェア_% |
| 福山市 |
平野・沿岸都市 |
121 |
142 |
13.44 |
| 東広島市 |
平野・沿岸都市 |
85 |
114 |
9.44 |
| 呉市 |
平野・沿岸都市 |
82 |
107 |
9.11 |
| 庄原市 |
中山間山地 |
47 |
56 |
5.22 |
| 尾道市 |
平野・沿岸都市 |
43 |
56 |
4.78 |
| 三原市 |
平野・沿岸都市 |
40 |
47 |
4.44 |
| 廿日市市 |
平野・沿岸都市 |
38 |
65 |
4.22 |
| 三次市 |
中山間山地 |
38 |
52 |
4.22 |
| 広島市安佐南区 |
平野・沿岸都市 |
32 |
43 |
3.56 |
| 広島市西区 |
平野・沿岸都市 |
32 |
40 |
3.56 |
| 広島市佐伯区 |
平野・沿岸都市 |
31 |
48 |
3.44 |
| 広島市南区 |
平野・沿岸都市 |
31 |
42 |
3.44 |
| 世羅町 |
中山間山地 |
30 |
41 |
3.33 |
| 安芸太田町 |
中山間山地 |
28 |
35 |
3.11 |
| 広島市安佐北区 |
平野・沿岸都市 |
28 |
28 |
3.11 |
市町別 表から読み取れること:
福山市 (121 拠点 /
142 台)が最多、
2 位 東広島市 (85 拠点)、
3 位 呉市 (82 拠点)。
広島市 8 区を合算すると 200 拠点超で県内最大整備地区。
施設種別サマリ:
| 施設種別 |
拠点数 |
台数合計 |
平均台数 |
シェア_% |
| 小学校 |
461 |
528 |
1.15 |
51.2 |
| 中学校 |
181 |
275 |
1.52 |
20.1 |
| 高校 |
18 |
35 |
1.94 |
2.0 |
| 大学 |
1 |
2 |
2.00 |
0.1 |
| 保育・幼稚園 |
1 |
1 |
1.00 |
0.1 |
| 公民館 |
15 |
19 |
1.27 |
1.7 |
| 行政センター |
143 |
199 |
1.39 |
15.9 |
| 体育館 |
32 |
53 |
1.66 |
3.6 |
| 文化施設・ホール |
15 |
19 |
1.27 |
1.7 |
| 集会所・自治会館 |
4 |
4 |
1.00 |
0.4 |
| 役場・庁舎 |
3 |
3 |
1.00 |
0.3 |
| その他 |
26 |
43 |
1.65 |
2.9 |
施設種別 表から読み取れること:
小学校が 461 拠点で最多、
中学校 + 高校 + 大学を合わせた学校系で全体の過半数を占める。 公民館 + 行政センター
(158)
+ 体育館 (32)
を加えると公的避難所相当 = 94.6%。
設置台数分布:
| 設置台数 |
拠点数 |
シェア_% |
| 1 |
644 |
71.6 |
| 2 |
231 |
25.7 |
| 3 |
25 |
2.8 |
設置台数 表から読み取れること:
1 台が 644
(71.6%)で支配的。
複数台拠点が 256 (28.4%)で、 これは大規模避難所での通話需要分散
を反映する。 1 拠点平均 1.31 台。
利用場所 (建物内位置) Top 15:
| 利用場所 |
拠点数 |
台数合計 |
| 体育館 |
605 |
774 |
| 玄関ホール |
40 |
51 |
| ホール |
26 |
36 |
| 事務室・管理室 |
23 |
40 |
| ロビー |
20 |
27 |
| 職員室 |
16 |
16 |
| 受付カウンタ |
14 |
15 |
| 玄関入口 |
8 |
10 |
| 玄関 |
7 |
10 |
| 事務室 |
5 |
5 |
| 校舎 |
4 |
6 |
| 渡り廊下 |
4 |
5 |
| 旧校舎玄関 |
3 |
4 |
| 会議室 |
3 |
3 |
| 校舎玄関 |
3 |
4 |
利用場所 表から読み取れること:
体育館が 605 拠点で圧倒的最多 ─
これは「災害時に避難所として開設される空間」 と一致し、 NTT が避難所運用空間に
電話を直接配置する設計を物理的に支持する。 玄関ホール / 事務室 / MDF 内 等は
建物管理者がアクセスしやすい場所を選定した運用上の合理性を示す。
地理クラス別:
| 地理クラス |
拠点数 |
台数合計 |
シェア_% |
| 平野・沿岸都市 |
675 |
890 |
75.0 |
| 中山間山地 |
183 |
235 |
20.3 |
| その他/不明 |
24 |
38 |
2.7 |
| 沿岸島嶼 |
18 |
18 |
2.0 |
地理クラス 表から読み取れること:
平野・沿岸都市が支配的で、 中山間 20.3%、 沿岸島嶼少数。
これは人口密度に対応する整備配分で、 中山間部は集落散在を反映した低密度配置となる。
施設種別 × 設置台数 クロス:
| 設置台数 |
施設種別 |
1 |
2 |
3 |
|
小学校 |
394 |
67 |
0 |
|
中学校 |
94 |
80 |
7 |
|
高校 |
3 |
13 |
2 |
|
大学 |
0 |
1 |
0 |
|
保育・幼稚園 |
1 |
0 |
0 |
|
公民館 |
11 |
4 |
0 |
|
行政センター |
94 |
42 |
7 |
|
体育館 |
15 |
13 |
4 |
|
文化施設・ホール |
12 |
2 |
1 |
|
集会所・自治会館 |
4 |
0 |
0 |
|
役場・庁舎 |
3 |
0 |
0 |
|
その他 |
13 |
9 |
4 |
クロス 表から読み取れること:
小学校・中学校は 1〜2 台が中心、 行政センター + 文化施設 + 体育館に 3 台が集中
─ 「大規模避難所 = 複数台」 の事前需要設計が施設種別レベルで確認できる。
5. 【RQ2】 県登録避難所との関係 — 避難所通信整備率
狙い (RQ2)
RQ2 では非常用電話 900 拠点と県登録避難所 4065 件の双方向の
位置一致を量化する。 NTT 整備計画 (民間) と県避難所指定 (行政) という
異なる主体が事前選定を行うが、 結果として両者がどれだけ重なるかを 100m 圏
sjoin で測る。 H3 (電話 ⊂ 避難所 ≥ 80%) は「NTT 選定 = 県指定の事実上一致」 を、
H4 (避難所通信整備率 < 25%) は「整備の偏在 + 通信空白避難所の存在」 を量的検証。
手法 — 3 ステップ
- STEP 1: shelters.json (4,065 件) を Point GeoDataFrame 化
data/shelters.json は県防災所管の登録避難所マスタ。 itemEntries の
latitude / longitude から POINT を構築し、 EPSG:6671 に
投影。 緯度経度欠損レコードは除外。
- STEP 2: 100m 双方向 sjoin (避難所 → 電話)
避難所ジオメトリに 100m バッファ → gpd.sjoin() で電話 (POINT) との
包含関係を判定 → 電話側に「最近接避難所一致」 フラグを付与。 同時に逆方向 (電話
バッファ → 避難所 sjoin) で避難所側の通信整備率を算出する双方向検証。
- STEP 3: 市町別 通信整備率 集計
避難所 GeoDataFrame に has_phone フラグを付け、
groupby('city') で市町別の整備率を算出 → 中山間 vs 沿岸都市の整備
偏在を可視化。
実装 (主要部のみ抜粋)
↑ L76_emergency_phones.py 行 1760–1870
1
2
3
4
5
6
7
8
9
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811 | import json
import geopandas as gpd
from shapely.geometry import Point
# (1) shelters.json (県登録避難所 4,065 件) を読込み
with open("data/shelters.json", "r", encoding="utf-8") as f:
sh_raw = json.load(f)
sh_rows = []
for it in sh_raw["items"]:
try:
lat = float(it.get("latitude", "") or "nan")
lon = float(it.get("longitude", "") or "nan")
except ValueError:
continue
if lat != lat or lon != lon: # NaN
continue
sh_rows.append({
"facilityId": it.get("facilityId", ""),
"name": it.get("name", ""),
"city": it.get("municipalityName", ""),
"capacity": it.get("capacity"),
"latitude": lat, "longitude": lon,
})
import pandas as pd
df_sh = pd.DataFrame(sh_rows)
geom_sh = [Point(lo, la) for lo, la in zip(df_sh["longitude"], df_sh["latitude"])]
gdf_sh = gpd.GeoDataFrame(df_sh, geometry=geom_sh,
crs="EPSG:4326").to_crs("EPSG:6671")
# (2) 避難所 100m バッファ → 電話との sjoin (電話側)
gdf_sh_buf = gdf_sh.copy()
gdf_sh_buf["geometry"] = gdf_sh.geometry.buffer(100) # 100m
match = gpd.sjoin(gdf[["seg_id", "geometry"]],
gdf_sh_buf[["facilityId", "geometry"]],
how="left", predicate="within")
gdf["near_shelter"] = gdf["seg_id"].isin(
match.dropna(subset=["index_right"])["seg_id"])
print(f"電話 ⊂ 避難所 100m: "
f"{int(gdf['near_shelter'].sum())}/{len(gdf)}")
# (3) 避難所側 → 電話一致 (RQ2 の双方向検証)
gdf_buf = gdf.copy()
gdf_buf["geometry"] = gdf.geometry.buffer(100)
match_rev = gpd.sjoin(gdf_sh[["facilityId", "geometry"]],
gdf_buf[["seg_id", "geometry"]],
how="left", predicate="within")
gdf_sh["has_phone"] = gdf_sh["facilityId"].isin(
match_rev.dropna(subset=["index_right"])["facilityId"])
print(f"避難所 + 電話保持: "
f"{int(gdf_sh['has_phone'].sum())}/{len(gdf_sh)}")
|
結果 1: 電話 ↔ 避難所 100m 圏 重ね合わせマップ (図 5)
なぜこの図か: NTT 整備の電話 900 拠点と県登録避難所 4065 件を
同じ地図に重ねて、 一致 (緑○) / 電話のみ (赤×) を直接視覚化する。 散布図でなく
県全域マップで見ることで、 「NTT は避難所立地に追従」 という空間相関が直感できる。
図 5 から読み取れること:
- 緑○ (電話 ∩ 避難所 一致, 730 拠点): 電話 900 の 81.1%が
避難所 100m 圏内 ─ NTT 選定 = 県指定の高い一致率を地図で確認
- 赤× (電話のみ, 170 拠点): 避難所 100m 圏外の電話 ─
これらは「県指定外の独自整備」 または「位置データ精度差」 によるもので、 散在的
- 灰小 (避難所のみ, 2934 件): 避難所 4,065 件のうち
電話無しが多数 ─ 中山間部の小規模避難所 + 集会所が大半
- 密度コントラスト: 都市中心 (広島市・福山市・東広島市) では緑○が高密度に並ぶが、
中山間部では緑○がまばらで灰小が大半 ─ 通信空白避難所の地理的偏在を直感的に確認
結果 2: 市町別 避難所通信整備率 (図 6)
なぜこの図か: H4 (整備率 < 25%) を市町別で深掘り。 「県全体の整備率は低い」 と
だけ言ってもどこで偏在しているのか分からない。 棒グラフ (整備率) + 散布図 (避難所数 vs
整備率) の 2 パネルで、 規模 vs 整備率の関係を見る。
図 6 から読み取れること:
- 左パネル (市町別整備率): 県全体 27.8% を中心に上下に分布。
中山間市町では避難所が多いが整備率は10-15% 程度に低迷する傾向
- 右パネル (規模 vs 整備率散布): 避難所数が多い市町 (呉・福山・東広島) は
避難所が大量だが整備率は中程度 (10-15%)、 小規模市町でも整備率は同水準
- 整備率の中央値が低水準: 多くの市町で 10-25%に留まり、 H4 (整備率
< 25%) を市町レベルでも支持 ─ 規模に関わらず「中核避難所のみ整備、 多数の
末端避難所は通信空白」という制度的偏在を確認
- 偏在の意味: NTT は「県の登録 4,065 件全てを整備しない」選択を
しており、 大規模避難所 + 中核施設に集中投資 = 投資効率優先のリソース配分
結果 3: 双方向一致 + 市町別整備率 詳細表
電話側 → 避難所一致 (RQ2 中心):
| カテゴリ |
件数 |
シェア_% |
| 電話 ⊂ 避難所 100m 圏内 (NTT 整備 = 県指定一致) |
730 |
81.1 |
| 電話のみ (避難所 100m 圏外) |
170 |
18.9 |
電話一致 表から読み取れること:
非常用電話 900 拠点のうち県登録避難所 100m 圏内 = 81.1%。
H3 (≥ 80%) 成立。 残り 170
拠点 (18.9%) は避難所外で、 NTT 独自整備または位置データ
精度差。 高い一致率は「事実上の制度横断連携」 を示唆する。
避難所側 → 電話保持 (双方向検証):
| カテゴリ |
件数 |
シェア_% |
| 避難所 + 電話設置 (通信整備済) |
1131 |
27.8 |
| 避難所 + 電話なし (通信空白) |
2934 |
72.2 |
避難所通信整備率 表から読み取れること:
県登録避難所 4065 件のうち電話保持は 27.8%のみ ─
通信空白避難所が 72.2%に達する。 H4 (< 25%)
非成立。 これは「電話 ⊂ 避難所だが、 避難所 ⊄ 電話」
という非対称関係 = 「電話は必ず避難所に、 だが避難所は必ずしも電話を持たない」 という
制度設計を物理的に確認した重要な発見。
市町別 避難所通信整備率 (避難所 ≥ 30 件のみ):
| 市町 |
避難所数 |
電話保持避難所 |
保持率_% |
| 呉市 |
518 |
157 |
30.3 |
| 福山市 |
474 |
215 |
45.4 |
| 東広島市 |
279 |
57 |
20.4 |
| 尾道市 |
273 |
67 |
24.5 |
| 庄原市 |
247 |
22 |
8.9 |
| 広島市安佐南区 |
156 |
45 |
28.8 |
| 広島市安佐北区 |
153 |
34 |
22.2 |
| 広島市西区 |
136 |
43 |
31.6 |
| 江田島市 |
131 |
27 |
20.6 |
| 三原市 |
128 |
37 |
28.9 |
| 広島市南区 |
122 |
36 |
29.5 |
| 府中市 |
120 |
29 |
24.2 |
| 廿日市市 |
120 |
36 |
30.0 |
| 広島市佐伯区 |
117 |
35 |
29.9 |
| 北広島町 |
102 |
27 |
26.5 |
| 坂町 |
94 |
16 |
17.0 |
| 広島市東区 |
89 |
22 |
24.7 |
| 広島市中区 |
88 |
34 |
38.6 |
| 三次市 |
84 |
21 |
25.0 |
| 安芸太田町 |
81 |
7 |
8.6 |
市町別 表から読み取れること:
整備率の中央値は 25.8%、 最大
72.1% (世羅町)、
最小 3.2%。 中山間市町は避難所が多い割に
整備率が低く、 平野・沿岸都市は平均的。 県防災計画の整備優先順位策定の政策素材と
なる定量データ。
6. 【RQ3】 L72 緊急輸送道路との関係 — 通信救急ネットワーク冗長
狙い (RQ3)
RQ3 では非常用電話 900 拠点と L72 緊急輸送道路 (630 セグ /
2789 km) の1km 圏空間連携を量化する。 県の通信救急ネットワーク
は「電話だけ」 でも「道路だけ」 でも機能せず、 両方が近接して初めて「通信途絶 →
救援車両派遣 → 物理アクセス」の災害対応サイクルが完結する。 H5 (L72 1〜2次 1km ≥
70%) は「電話 + 道路の二重冗長性確保」 を量的検証する中心仮説。 さらに「電話 + 避難所
+ L72」 の 3 要素全近接 = 通信救急二重冗長点を独自指標として導出する。
手法 — 4 ステップ
- STEP 1: L72 4 階層 JSON を LineString 化
L72 は 5 つの NDJSON 風ファイル (05_kinkyu_route_01.json〜
05_kinkyu_route_04.json) で配信される。 第1〜4 次の各 LineString
を読込み、 階層情報を付与した GeoDataFrame に統合。 EPSG:6671 に投影。
- STEP 2: 階層別 1km バッファ + union
第1〜2次 (主要骨格) のみを抽出し buffer(1000) で 1km バッファを
生成 → union_all() で県全体の単一ジオメトリに統合。 全階層 (1〜4 次)
も同様に。 これで「主要骨格圏内 / 末端含む全圏内 / 圏外」 の 3 カテゴリ判定が可能に。
- STEP 3: 電話 → L72 包含判定 + 4 カテゴリ クロス
p.intersects(buf12) / p.intersects(buf_all) で
包含判定 → 「第1〜2次 1km 圏内」 「第3〜4次 1km 圏内のみ」 「圏外」 の 3 状態 +
避難所一致との交差で4 カテゴリ クロスを導出 → 通信救急二重冗長点を特定。
- STEP 4: 最近接距離計算 (sindex 高速化)
各電話拠点の L72 までの最近接距離 (km) を計算する際、 全 630 セグメントとの
総当たり距離計算は重い。 gdf_route.sindex の R-tree で 5km 範囲の
候補に絞ってから distance を計算 → 数秒で全 900 拠点を処理。
実装 (主要部のみ抜粋)
↑ L76_emergency_phones.py 行 1917–2024
1
2
3
4
5
6
7
8
9
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966 | import json
import geopandas as gpd
from shapely.geometry import LineString
from pathlib import Path
# (1) L72 緊急輸送道路 4 階層 JSON を読込み LineString 化
L72_DIR = Path("data/extras/L72_emergency_road"
"/340006_emergency_transport_road_20220908T000000")
def load_route_lines(idx):
p = L72_DIR / f"05_kinkyu_route_{idx}.json"
with open(p, "r", encoding="utf-8") as f:
text = f.read()
arr = json.loads("[" + text + "]") # NDJSON 風
return [LineString([(pt["e"], pt["d"]) for pt in seg])
for seg in arr if isinstance(seg, list) and len(seg) >= 2]
records = []
for idx in ["01", "02", "03", "04"]:
for ln in load_route_lines(idx):
records.append({"rank": idx, "geometry": ln})
gdf_route = gpd.GeoDataFrame(records, crs="EPSG:4326").to_crs("EPSG:6671")
print(f"L72: {len(gdf_route)} セグ / "
f"{gdf_route.geometry.length.sum()/1000:.0f} km")
# (2) 第1〜2次のみ抽出 + 1km バッファを union
gdf_route12 = gdf_route[gdf_route["rank"].isin(["01", "02"])]
buf12 = gdf_route12.geometry.buffer(1000).union_all() # 1km
buf_all = gdf_route.geometry.buffer(1000).union_all()
# (3) 電話 ↔ L72 距離ベース判定 + 4 カテゴリ
gdf["near_l72_12"] = gdf.geometry.apply(
lambda p: 1 if p.intersects(buf12) else 0)
gdf["near_l72_all"] = gdf.geometry.apply(
lambda p: 1 if p.intersects(buf_all) else 0)
# (4) 通信救急二重冗長点 (避難所 ∩ L72)
gdf["double_redundant"] = gdf["near_shelter"] & (gdf["near_l72_all"] == 1)
print(f"通信救急二重冗長: {int(gdf['double_redundant'].sum())}/{len(gdf)}")
# (5) 最近接距離 (km, sindex で高速化)
sindex = gdf_route.sindex
geoms = list(gdf_route.geometry)
def nearest_km(p):
bbox = (p.x - 5000, p.y - 5000, p.x + 5000, p.y + 5000)
cands = list(sindex.intersection(bbox)) or list(range(len(geoms)))
return min(p.distance(geoms[i]) for i in cands) / 1000
gdf["dist_l72_km"] = gdf.geometry.apply(nearest_km)
|
結果 1: 電話 + L72 緊急輸送道路 1km 圏 重ね合わせマップ (図 7)
なぜこの図か: 電話拠点と L72 第1〜2次 (赤太線) + 第3〜4次 (緑細線) を
同じ地図に重ね、 さらに第1〜2次の 1km バッファを薄塗で表示することで、
「電話 + 道路の二重冗長」がどこに集中するかを直感的に見せる。 散布図や棒グラフ
では分からない地理的冗長パターンを地図で表現する。
図 7 から読み取れること:
- 第1〜2次 1km バッファ (薄赤塗): 県内主要骨格道路の 1km 圏で、 沿岸国道 +
内陸主要県道に沿って広がる ─ 多数の電話拠点がここに含まれる
- 青○ (1〜2次 1km 圏内, 661 拠点, 73.4%): 主要骨格道路
近接 = 災害時に救援車両がアクセス容易 ─ 通信救急二重冗長の中核
- 橙○ (3〜4次のみ, 97 拠点):
末端アクセス道路のみ近接 ─ 救援には時間がかかるが物理アクセス可能
- 紫× (圏外, 142 拠点): L72 全階層
1km 圏外 ─ 孤立リスク高位拠点 = 災害時に道路アクセスが遠く要警戒
- 地理パターン: 沿岸都市部の電話は青○が多数、 中山間奥地の集落電話は橙○ +
紫×が増える ─ 「中山間奥地ほど通信救急冗長が薄い」 という地形リスクの空間集中を
直接確認できる
結果 2: L72 距離分布 + 通信救急冗長性 4 カテゴリ (図 8)
なぜこの図か: H5 の 1km 閾値の妥当性を示すため、 距離ヒストで 0.5km / 1km / 2km の
閾値ごとの分布を見せる。 同時に「電話 ∩ 避難所 ∩ L72」 の通信救急二重冗長を
4 カテゴリ棒グラフで示し、 H5 と通信救急二重冗長の関係を 1 枚で見せる。
図 8 から読み取れること:
- 左パネル (距離ヒスト): 中央0.26 km、
≤1km 拠点が 758 (84.2%)。
0.5km / 1km / 2km の閾値で分布の段階構造が見える ─ 1km 閾値は実態に即した
合理的線引き
- 右パネル (4 カテゴリ):
電話 ∩ 避難所 ∩ L72 (二重冗長) = 646、
電話 ∩ 避難所のみ (L72 圏外) = 84、
電話 ∩ L72 のみ (避難所外) = 112、
両方圏外 = 58
- 通信救急二重冗長点: 646 拠点 (71.8%) が
避難所 + L72 両方近接 ─ 「県の通信救急ネットワークの中核ノード」として
災害対応の中心拠点となる候補
- 両方圏外: 約 58 拠点が避難所外 + L72 1km 圏外 ─
「孤立リスク高位拠点」として県防災計画の優先警戒対象
結果 3: 階層別 + 距離統計 詳細表
L72 階層別 電話包含 (1km 圏):
| l72_status |
拠点数 |
台数合計 |
シェア_% |
| 第1〜2次 1km 圏内 |
661 |
894 |
73.4 |
| 圏外 (>1km) |
142 |
163 |
15.8 |
| 第3〜4次 1km 圏内のみ |
97 |
124 |
10.8 |
L72 包含 表から読み取れること:
電話 900 のうち L72 第1〜2次 (主要骨格) 1km 圏内 = 73.4%。
H5 (≥ 70%) 成立。 第3〜4次 (末端) を含めると
84.2%に達する。 圏外 = 15.8% は中山間奥地の
孤立リスク拠点。
L72 最近接距離 統計:
| 統計 |
値 |
| 最小 (km) |
0.003 |
| 25% |
0.116 |
| 中央 (50%) |
0.262 |
| 75% |
0.630 |
| 90% |
1.423 |
| 最大 (km) |
10389.116 |
| 平均 (km) |
12.135 |
距離統計 表から読み取れること:
中央値 0.26 km、 90%タイル
1.42 km。 多数の電話拠点が
1km 圏内に収まる一方、 上位 10% は 2km を超える ─ 中山間奥地の孤立傾向を量化。
通信救急冗長性 4 カテゴリ:
| カテゴリ | 拠点数 | シェア_% |
| 電話 ∩ 避難所 ∩ L72 (二重冗長) |
646 |
71.8 |
| 電話 ∩ 避難所のみ (L72 圏外) |
84 |
9.3 |
| 電話 ∩ L72 のみ (避難所外) |
112 |
12.4 |
| 電話のみ (避難所 + L72 両方圏外, 孤立リスク) |
58 |
6.4 |
4 カテゴリ表から読み取れること:
通信救急二重冗長点 (避難所 ∩ L72 全階層) = 646 (71.8%)が
県の通信救急ネットワークの中核を構成。 一方「電話のみ (両方圏外)」 = 孤立リスク
拠点が中山間奥地に存在し、 県防災計画の通信冗長強化対象として要警戒。
7. 仮説検証総合
本研究の H1〜H5 仮説について、 観測値・判定・詳細解説をまとめる。
H1〜H5 仮説検証総合表
| 仮説 |
観測値 |
判定 |
詳細解説 |
| H1 公的避難所相当施設 ≥ 80% (RQ1) |
観測 = 公的避難所相当 (学校 + 公民館 + 行政センター + 体育館) 851/900 (94.6%) |
強支持 |
H1 強支持: NTT 災害時非常用公衆電話 900 拠点のうち、 学校 (小中高大) + 公民館 + 行政センター + 体育館に設置されているのが 851 (94.6%)。 NTT は事前選定段階で 「県の避難所相当施設」を主な設置対象に選んでおり、 そこに災害時に 遠隔開通させる公衆電話を 1〜3 台ずつ事前配備している。 これは 「災害時の 通信インフラ = 県の避難所網と物理的に一致させる」という NTT の選定戦略を 量的に支持する事例。 |
| H2 複数台拠点 ≥ 25% (RQ1) |
観測 = 複数台 (>=2 台) 拠点 256/900 (28.4%) / 総設置台数 1181 (1 拠点あたり平均 1.31 台) |
強支持 |
H2 強支持: 複数台設置拠点が 256 拠点 (28.4%)。 残り 644 拠点 (71.6%) は 1 台のみ。 3 台設置は 25 拠点に限定。 これは 「拠点規模 ⇔ 設置台数」の関係を示唆する: 大規模避難所 (中央公園・大型体育館・複合施設) では災害時の通話需要を分散するため 複数台設置、 小規模学校・公民館は 1 台で十分という「避難収容人数 ⇔ 通信容量」の事前需要設計の物理形。 1 拠点あたり平均 1.31 台 = 「ほぼ 1 台、 一部に予備機」 が県の通信救急網の 設置量基準と読める。 |
| H3 電話 ⊂ 避難所 100m 圏内 ≥ 80% (RQ2) |
観測 = 電話 ⊂ 避難所 100m 730/900 (81.1%) |
強支持 |
H3 強支持: 非常用電話 900 拠点のうち県登録避難所 100m 圏内に 位置するのが 730 (81.1%)。 残り 170 拠点 (18.9%) は避難所 100m 圏外に位置するが、 これらは「避難所未指定だが NTT が独自に整備した拠点」または「位置データ精度差で 100m 閾値を超えた近接施設」を含む。 全体として NTT の選定基準と県の避難所指定が高い一致率を示すことは、 県地域防災計画と NTT 整備計画が制度横断で連携している事実上の証拠と 見なせる。 |
| H4 避難所通信整備率 < 25% (RQ2) |
観測 = 避難所 + 電話保持 1131/4065 (27.8%) |
反証 |
H4 反証: 県登録避難所 4065 件のうち、 100m 圏内に 非常用電話を持つ避難所は 1131 (27.8%)。 残り 2934 件 (72.2%)は 「通信空白避難所」として、 災害時に携帯電話の輻輳・基地局停電が起きると 最後のセーフティネット (NTT 公衆電話) が無い状態となる。 これは「避難所 = 通信整備済」 という直感に反する重要な発見であり、 県防災計画の通信冗長性 の制度的偏在を量的に示す。 整備済の 27.8% は主に「中核 避難所 + 大規模指定施設」 に集中、 小規模集会所・地域センターは未整備が大半。 |
| H5 L72 1〜2次 1km 圏内 ≥ 70% (RQ3) |
観測 = 電話 L72 1〜2次 1km 661/900 (73.4%) / 全階層 758 (84.2%) |
強支持 |
H5 強支持: 非常用電話 900 拠点のうち L72 緊急輸送道路の第1〜2次 (高速・幹線国道・主要地方道) 1km 圏内に位置するのが 661 (73.4%)。 全階層 (1〜4 次) で見ると 758 (84.2%)。 これは「電話 + 道路」 が両方近接する拠点が 多数 = 通信途絶時にも災害救援車両が物理アクセス可能」という通信救急 二重冗長の制度設計を実証する。 つまり、 携帯電話が使えなくなっても、 (1) NTT 公衆電話で通報、 (2) 緊急輸送道路で物理救援、 という 2 経路が 両方確保されている拠点が大半 = 「孤立しにくい配置」。 通信救急二重冗長点 (避難所 ∩ L72) は 646 拠点 (71.8%)に達する。 |
研究全体の主要発見
1. NTT 整備 = 県避難所網との制度横断的一致 (RQ1 + RQ2)
非常用電話 900 拠点のうち 94.6%が公的避難所相当施設、
81.1%が県登録避難所 100m 圏内に位置する事実は、 NTT 西日本
(民間) と県防災所管 (行政) が異なる主体ながら事実上同じ施設群を整備対象に選定
していることを量的に示す。 これは「災害時の最後のセーフティネット (公衆電話) を
避難所に配備する」 という両者の制度横断的合意の物理的証拠。
2. 通信空白避難所 2934 件の偏在発見 (RQ2)
避難所側の整備率は 27.8%のみで、 残り
2934 件 (72.2%)は通信空白
避難所 ─ 携帯電話の輻輳・基地局停電時に最後のセーフティネットを持たない。 これは
「電話 ⊂ 避難所だが避難所 ⊄ 電話」 という非対称関係であり、 県防災計画の整備
優先順位策定の政策素材となる重要な定量発見。
3. 通信救急二重冗長 646 拠点の特定 (RQ3)
電話 + 避難所 + L72 緊急輸送道路の3 要素全近接拠点は
646 拠点 (71.8%)に達し、 これが「県の通信救急ネット
ワークの中核ノード」を構成する。 通信途絶時にも救援車両がアクセス可能 +
避難所機能が確保される「孤立しにくい配置」の物理形 ─ 県の防災基盤の
強靭性を量的に支持する。
4. 孤立リスク高位拠点の地理特定 (RQ3)
L72 全階層 1km 圏外の電話 = 142 拠点 (15.8%)
は中山間奥地の集落避難所に集中し、 災害時に幹線道路アクセスが遠い「孤立リスク
高位拠点」として県防災計画の優先警戒対象。 これらは「電話があっても道路がない」
状態で、 通信救急冗長性を強化する制度設計が必要。
5. 規模ヒエラルキーの物理形 (RQ1)
1 拠点平均 1.31 台、 複数台拠点 28.4%、
3 台拠点 25 ─ 「都市中心 = 3 台 + 中規模 2 台、
周辺集落 = 1 台」 の規模ヒエラルキーが地理的に確認。 これは「避難収容人数 ⇔
通信容量」 の事前需要設計の物理形であり、 大規模避難所での通話需要分散 +
小規模拠点での最低限カバレッジという合理的リソース配分を示す。
6. 「最後のセーフティネット」 という制度的位置付けの量的実証
900 拠点 / 1,181 台のスケールは、 県人口比で見ると1 台あたり約 2,400 人を
カバーする整備密度。 これは「災害時の最後のセーフティネット」として最低限の
通信冗長を確保する数量設計と読める。 1995 年阪神・淡路大震災を契機にした
NTT 制度化以降、 本データセットは県内全市町への整備が完了した時点での
スナップショットとして制度史的にも重要な記録である。
全体サマリ表
| 指標 |
値 |
| dataset |
#1457 非常用電話位置情報 |
| 総拠点数 (RQ1) |
900 |
| 総設置台数 (RQ1) |
1181 |
| 複数台拠点 (>=2 台) (RQ1) |
256 (28.4%) |
| 公的避難所相当施設 (RQ1) |
851 (94.6%) |
| 最多施設種別 (RQ1) |
小学校 (461) |
| 中山間 拠点数 (RQ1) |
183 (20.3%) |
| 最多市町 (RQ1) |
福山市 (121 拠点) |
| H1 (公的避難所相当 ≥ 80%) (RQ1) |
強支持 |
| H2 (複数台拠点 ≥ 25%) (RQ1) |
強支持 |
| 県登録避難所 (RQ2) |
4065 |
| 電話 ⊂ 避難所 100m (RQ2) |
730/900 (81.1%) |
| 避難所 + 電話保持 (RQ2) |
1131/4065 (27.8%) |
| H3 (電話 ⊂ 避難所 ≥ 80%) (RQ2) |
強支持 |
| H4 (避難所通信整備率 < 25%) (RQ2) |
反証 |
| L72 緊急輸送道路 (RQ3) |
630 セグ / 2789 km |
| 電話 L72 第1〜2次 1km (RQ3) |
661 (73.4%) |
| 電話 L72 全階層 1km (RQ3) |
758 (84.2%) |
| 通信救急二重冗長点 (RQ3) |
646 (71.8%) |
| L72 最近接距離 中央 (km) (RQ3) |
0.26 |
| H5 (L72 1〜2次 1km ≥ 70%) (RQ3) |
強支持 |
8. 発展課題
本記事の結果から導かれる新たな問いと検証手順を 5 つ示す (要件 E: 結果 X →
新仮説 Y → 課題 Z の 3 段)。
発展課題 1: 通信空白避難所の充足優先順位の最適化
結果 X: 県登録避難所 4065 件のうち通信空白
2934 件 (72.2%) を発見。
新仮説 Y: 通信空白避難所のうち、 (1) 想定収容人数が多い、 (2) 中山間奥地
に位置する、 (3) 災害履歴 (L62 避難情報) が多い、 という 3 条件で重み付けすると、
整備の優先順位が定量的に決まる。
課題 Z: 各通信空白避難所に「収容容量 × 中山間係数 × 災害履歴頻度」 の
合成スコアを付与 → 上位 100 件の整備で避難所通信整備率を 50% 以上に
引上げる最小コスト整備計画 (整数線形計画) を試行する。
発展課題 2: 災害時通信ネットワーク アクセシビリティ シミュレーション
結果 X: 通信救急二重冗長点 646 拠点 (避難所 ∩ L72) を特定、
孤立リスク 142 拠点を発見。
新仮説 Y: 孤立リスク拠点について、 L72 が一部寸断 (土砂災害想定区間) されると、
道路アクセス可能性は大幅に低下する一方、 NTT 公衆電話は独立稼働するため、
通信は維持されるという非対称冗長性が見える。
課題 Z: L11 sediment_shp (土砂警戒区域) と L72 セグメントの空間オーバーレイで
「土砂災害時に通行不能になり得る区間」 を特定 → 各電話拠点までの「通行可能ルート
最短経路」 を NetworkX 等で再計算し、 通常時 vs 災害時の実効アクセシビリティ
変化を量化する。
発展課題 3: 利用場所 (建物内位置) の検索容易性 vs 災害時混乱
結果 X: 利用場所は体育館 605 で最多、
だが MDF 内 / EPS 内 / 警備室 / 旧校舎玄関 等の分かりにくい位置も合計
6 拠点存在。
新仮説 Y: 災害時の被災者は混乱状態で電話を探すため、 利用場所が体育館 /
玄関ホールのような視認性の高い位置にあるほど発見・利用率が高い ─ 制度的には
「位置の標準化 (例: 全拠点が玄関ホール)」 が望ましい。
課題 Z: 利用場所を「視認性スコア」 (体育館・玄関 = 高、 MDF・EPS = 低、
事務室 = 中) で 3 値分類 → 市町別の視認性スコア中央値を集計、 整備改善の余地が
ある市町を特定。 さらに NTT 西日本に「利用場所標準化指針」 の政策提言データを
作成。
発展課題 4: 通信救急冗長 vs 想定災害種別の差異検証
結果 X: 通信救急二重冗長 646 拠点を特定。
新仮説 Y: 災害種別 (地震・津波・洪水・土砂) によって通信救急冗長の有効性は
異なる。 例えば津波では沿岸の電話 + L72 が同時に被災する可能性があり、
冗長性が機能しない。 一方土砂では中山間部のみが影響を受け、 沿岸の冗長性は
保たれる。
課題 Z: shelters.json の floodShFlg / tsunamiShFlg /
sedimentDisasterShFlg / earthquakeShFlg の災害種別フラグと
電話・L72 の重ね合わせで、 災害種別ごとの実効冗長率を算出 → 各災害種別の
弱点を特定し、 「災害特化型整備」 の必要性を検証する。
発展課題 5: 整備密度 vs 県人口の経年比較
結果 X: 1 台あたり約 2,400 人をカバーする整備密度。
新仮説 Y: 過疎化が進む中山間市町では人口あたり整備密度が向上 (台数は
維持・人口は減少)、 一方都市部では人口流入で密度低下が進む可能性。
課題 Z: 国勢調査年次データ (2010 / 2015 / 2020) と本データセットを照合し、
市町別 「1 台あたり人口」 の経年変化を集計 → 「整備密度の地理偏在」 の
時系列ダイナミクスを可視化。 過疎化と整備密度の関係性を分析し、 NTT 整備の
将来計画 (新設 vs 撤去 vs 維持) のデータ根拠を作成する。