VWork バイブコーディングフレームワーク

「区域外です」と答えるシステムが、いちばん危ない——津波浸水想定マップを作って、東京都で手が止まった話

2026年9月6日

名古屋でAIシステム開発の会社をやっています。

住所を入れると、その地点が津波で何メートル浸かる想定かを返すサービスを公開しました。全国3,795,197セル・35都道府県を収録しています。

Kurage 津波浸水想定マップ(無料で試せます)

土砂災害ハザードマップ避難所マップに続く3本目です。これで「警戒区域か・何メートル浸かるか・どこへ逃げるか」が揃いました。

この記事で書きたいのは、東京都で手が止まった話です。

○×で答えないと決めた

最初に決めた仕様は「浸水するか、しないか」ではありません。何メートル浸かる想定かです。

0.3mと5mでは、取るべき行動がまったく違います。

浸水深 何が起きるか
0.3m〜1m 床上浸水。徒歩での移動は困難
1m〜2m 1階の床上まで浸水。2階以上への垂直避難が最低限
2m〜5m 1階は水没。3階以上か高台へ
5m以上 2階では足りない。 高台・津波避難ビルへ水平避難

「浸水します」とだけ言われても、2階に上がればいいのか、いますぐ町を出るべきなのか分かりません。だから深さの区分と、それぞれの行動指針を返す設計にしました。

実際に動かすと、こう返ってきます。

宮城県石巻市中央
  浸水想定 5m以上 ~ 10m未満   海抜 1.5m
  → 建物の2階では足りない可能性があります。
     高台や津波避難ビルへの水平避難を前提にしてください。

海抜を併記しているのは、津波では「避難先が今いる場所より高いか」が判断の基準になるからです。

東京都で手が止まった

完成間近のテストで、東京都江東区豊洲を入れました。結果は「津波浸水想定区域には含まれていません」。

おかしい。湾岸の埋立地です。

調べて分かったのは、東京都は沿岸があるのに、国土数値情報の津波浸水想定データに登録が無いということでした。都道府県が個別に公表するデータで、国のオープンデータにまだ載っていない県があるのです(実測では東京・福井・香川の3都県)。

つまり私のシステムは、データが無いだけの場所を「区域外」と表示していたことになります。

これは危ない。「区域外」と「データが無い」は全然違います。前者は調べた結果で、後者は調べられていないだけです。混ぜて返すシステムは、安全だという誤解を作る装置になります。

3つを必ず区別する設計に直しました。

状況 返す内容
収録県で区域外 「収録している想定区域には含まれていません」
未収録県(東京・福井・香川) 本データに収録されていません。区域外という意味ではありません
内陸8県 「海に面していないため、想定は作成されていません」

内陸県まで分けたのは、長野県の人に「未収録です」と返すと、あるはずのデータが無いように読めるからです。長野に津波浸水想定はそもそも不要です。

土砂災害ハザードマップのときに「時点を示さずに区域外と言わせない」という原則を立てましたが、今回はもう一段先がありました。「データが無い」ことを言えないシステムは、データがある顔をしてしまう。

整備年度が、県によって6年違う

もう一つの発見です。取り込みを始めたら、35県のうち5県しか取れませんでした

原因は、この データの整備年度が都道府県ごとにバラバラなことでした。愛知県は令和4年度にあるのに、静岡県と高知県は平成28年度のフォルダにしかありません。最大6年の開きがあります。

取り込みスクリプトは年度を新しい順に自動探索し、見つかった年度をその県のデータ時点として記録するようにしました。判定結果には「この判定に使ったデータの時点: 2017-03-31(高知県)」のように、その県の時点が出ます。

全国一律の日付で扱えば実装は楽ですが、それは嘘になります。

PostGISを使わずに済んだ理由

前作の土砂災害ハザードマップは、警戒区域が複雑な形の面なのでPostGISを使いました。今回も同じ構成を覚悟していたのですが、データを開いて手が止まりました(今日2回目)。

津波浸水想定のポリゴンは、約10m四方の軸に平行な矩形グリッドだったのです。愛知県だけで129,834個の小さな長方形です。

矩形なら、R-tree索引の矩形判定がそのまま厳密な内外判定になります。ポリゴン演算が要りません。つまりSQLiteだけで動きます。

結果、全国379万セルを290MBのSQLiteに収め、Docker も PostgreSQL も不要になりました。買い切り版の設置は Python と GDAL だけで済みます。

データの「形」を先に見ると、アーキテクチャを一段軽くできることがあります。

使ってほしい場面

沿岸の物件・施工地を扱う不動産・建設の方の一次確認と、BCP(事業継続計画)で拠点のリスクを整理する総務・防災担当の方を想定しています。

もちろん、ご自宅や実家を調べるのは無料です。「区域外」と出たときに、それが調べた結果なのか、データが無いだけなのかまで表示されるのが、このツールの価値だと思っています。

最後に

出典は国土交通省の国土数値情報「津波浸水想定データ」で、オープンデータ(商用利用可・再配信可)として提供されているものです。

本サービスの判定は参考情報です。津波浸水想定は、想定を超える津波が起きないことを意味しません。最終的な確認は必ず当該自治体の最新の津波ハザードマップで行ってください。

自社サーバーに置ける買い切り版もKurage App Storeに出しました。ソースコードと設置手順書を同梱しています。

同じような「データが無いことを言えないシステム」が、御社にもあるかもしれません。ご相談はお問い合わせからどうぞ。