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

衆議院 選挙区289を1ページずつ——小選挙区ダッシュボード(土砂災害・避難所・訪問介護・一票の格差)を公開しました

2026年9月23日

衆議院の小選挙区289について、その区域にある公開データを1ページに並べる道具を作りました。土砂災害警戒区域、避難場所、津波の想定、訪問介護とケアマネ事業所、放課後等デイサービス、障害者グループホーム、学童保育の待機児童、それに有権者数と一票の格差です。

なぜ選挙区なのか

うちには住所から引ける道具がいくつかあります。土砂災害警戒区域、洪水・内水の浸水想定、津波、避難所、訪問介護・ケアマネ事業所、放課後等デイ、グループホーム、学童保育。どれも国か都道府県の公開データを、住所と市区町村で引ける形にしたものです。

国会議員に見せるとき、この「市区町村」が合いません。議員が見ている単位は選挙区です。横須賀市と三浦市は神奈川11区、名古屋市の東区・北区・西区・中区は愛知1区。同じ市でも区で分かれます。だから、市区町村の数字を選挙区の区域で足し直しました。

神奈川11区の例

項目
有権者数 360,287人(一票の格差 1.627倍)
土砂災害警戒区域 12,550区域(うちレッド 6,140)
指定緊急避難場所 99か所(うち津波に対応 16)
津波の浸水想定の中にある避難場所 38か所(市内最大 5m以上〜10m未満)
訪問介護 97か所(1年半で公表データから消えた 5)
ケアマネ事業所 117か所(消えた 17)
放課後等デイサービス 68か所
学童保育の待機児童 30人

内訳は横須賀市と三浦市に分けて出ます。数字を押すと、元の画面(土砂災害ハザードマップや訪問介護ナビ)へ行けます。

9月21日の台風25号で、横須賀市では土砂崩れで亡くなった方がいます。横須賀市議の方に土砂災害ハザードマップの話を送ったのが、この道具を作った直接のきっかけです。

線引き

作るときに決めたことを書きます。

  1. 政令市の区や、町丁で分かれている市は、市全体の数と書く。 区で数えられるデータ(事業所は住所に区が入っている)は区で数え、市までしか無いデータ(避難場所・警戒区域・津波・学童)は市全体の数を出して、画面に「市全体の数(選挙区は市の一部)」と書きます。愛知1区の避難場所1,733か所は名古屋市全体の数です。
  2. 無いものは0と書かない。 その都道府県のデータを取り込んでいない項目は「収録なし」と出します。津波の想定は35都道府県、学童保育は指定都市・中核市等だけです。
  3. 「消えた」は廃止ではない。 前の時点の公表データに載っていて次の時点に無い事業所番号を数えたもので、休止や法人の再編で番号が変わったものも入ります。
  4. 要約も論評もしない。 出すのは公開データの表から機械的に足した数字と、元の画面へのリンクだけです。

区域の文をどう読んだか

区域は総務省の2022年の区割り改定のものです。市区町村の並びは「横須賀市、三浦市」のような文で書かれていて、これを市区町村名に落とすのに手間がかかりました。

289区で、市区町村名に当たらなかったものは0になるまで直しました。

議員の名簿

各選挙区のページには、その選挙区の衆議院議員の氏名・会派・当選回数と、衆議院の公式プロフィールへのリンクを出しています。衆議院の会派別名簿から取った最低限のものです。愛知の16区だけは、うちの議員発言ログ(国会での質疑を日付と会議名で引ける)につながっています。

作り

PHP と SQLite だけで動きます。集計は Python のスクリプト1本で、各製品のデータベースを足して2つの表を作ります。毎日の更新ジョブに入れたので、元の製品のデータが更新されれば選挙区の数字も追いかけます。

出典はページの下に全部書いてあります。国土数値情報、国土地理院、各都道府県の津波浸水想定、厚生労働省の介護サービス情報公表システム、WAM NET、こども家庭庁、総務省の区割り。

これで何が言えるか

「自分の選挙区で、訪問介護が1年半で何か所消えたか」を、事業所名まで辿れる形で出せます。「自分の選挙区の避難場所のうち、津波の浸水想定の中にあるのは何か所か」も出ます。数字は全部公開データなので、議員の側で検証できます。

https://xb4g.com/giin/senkyoku?ref=vwork-senkyoku