つくば市は指定緊急避難場所のリストをオープンデータとして公開しています。提供されているCSVは「No / 施設名 / 所在地 / 備考」の4項目で構成されており、緯度経度等の位置情報や災害種別の対応可否は含まれていません。
一方、デジタル庁が定める自治体標準オープンデータセット「指定緊急避難場所」では、緯度・経度、災害種別8区分、想定収容人数など39項目が標準フォーマットとして示されています。同じ「指定緊急避難場所」という名称であっても、自治体ごとに公開項目には差があるのが現状です。
本ページでは、つくば市が公開する指定緊急避難場所CSVを、推奨データセット形式に変換し、Queriaのデータカタログ上に登録するまでの手順と現状を整理します。整備の動機、具体的な変換手順、整備後に可能になった可視化の例、そして現時点で埋められていない項目について順に記述します。
元データの形式
公式CSVは、先頭に列ヘッダが置かれた一般的な表形式にはなっていません。1行目から5行目にはデータ名(指定緊急避難場所)、発行時点、災害種別に関する補足説明文が並び、6行目でようやく No. / 施設名 / 所在地 / 備考 の列ヘッダが現れます。7行目は空行で、実レコードは8行目から始まります。

このレイアウトのまま pandas.read_csv や DuckDB の read_csv に渡しても、列ヘッダが自動判別されず skiprows 相当の前処理が必要になります。前述の dataset-tsukuba/scripts/convert_shelter.py では、先頭セルに No. を含む行を動的に検出してヘッダ位置を特定する方針としています。
整備対象と整備結果の件数
公式CSVには11件の指定緊急避難場所が掲載されています。今回の整備で、各施設の住所文字列から緯度経度を補完できた件数は次のとおりです。
公式CSVに掲載されている11件すべてについて、住所文字列から緯度経度を取得することができました。
整備の手順
整備処理は次の3ステップで構成されています。
- つくば市公式ページに掲載されているCSVを取得
- normalize-japanese-addresses で住所文字列を「都道府県 / 市区町村 / 町字 / 番地」の構成要素に分解し、緯度経度を取得
- 自治体標準オープンデータセット「指定緊急避難場所」の39項目に再マッピングしてCSVとして書き出し
住所の正規化およびジオコーディングには、Geolonia 社が公開している住所正規化ライブラリを利用しました。住所表記の揺れ(全角半角、丁目の有無、漢数字とアラビア数字の混在等)を吸収しつつ、町字レベルでの緯度経度を返してくれます。
ただし本来であれば、デジタル庁が整備しているアドレス・ベース・レジストリを直接データソースとする abr-geocoder-web の採用が望ましいと考えています。住居表示・地番までを公的データセットで網羅していて、ジオコーディング結果の出典も公的なものとして明示できるためです。今回はまず形式整備までを優先しGeolonia版のライブラリを利用しましたが、ABR への切り替えは継続的な改善項目として検討対象です。
実装したスクリプトは dataset-tsukuba/scripts/convert_shelter.py に格納しています。
整備後データの地図表示
緯度経度を補完したことにより、11件の指定緊急避難場所を地図上にプロットできるようになりました。
市の中心部だけでなく、TX沿線地区、旧筑波町域、茎崎地区まで、市内に広く分散して指定されていることが確認できます。
整備後データの一覧
整備後のテーブルは次のとおりです。自治体標準オープンデータセットで定義されている各項目をすべてカラムとして保持しており、本ページではそのまま横スクロール形式で全カラムを表示します。多くの項目が空欄のままとなっており、その背景は次節「今回整備できなかった項目と今後の課題」で整理します。
今回整備できなかった項目と今後の課題
形式変換は完了しましたが、公式CSVに含まれていない情報については、現時点で項目を埋めることができていません。
- 災害種別フラグ: 各避難場所が対応する災害種別の情報が公式CSVに含まれていません。地理的条件から対象外と判断できる「高潮」「津波」「火山現象」については "0" を設定していますが、「洪水」「崖崩れ・土石流・地滑り」「地震」「大規模な火事」「内水氾濫」の5区分は値を埋められていません。これらの確定には、データを発行されている部署への確認、または同種データを公開している他自治体データとの照合が必要です。
- 想定収容人数: 公式CSVに記載がなく、現時点では未収載です。
- 標高、電話番号、対象町会・自治会等の付帯情報: 同様に公式CSVに記載がなく未収載です。
自治体標準オープンデータセットの枠組みに当てはめ直すことにより、現状提供されているデータが推奨項目に対してどの部分で不足しているのかが俯瞰できる状態になります。データ形式を統一すること自体が、項目充足率の可視化にも寄与すると考えられます。
まとめ
オープンデータとして公開されていても、項目構成が限定的な場合は、地図表示や他データとの結合といった二次活用に追加コストが必要となる傾向があります。住所表記から緯度経度を補完するなど、外部からの整備で埋められる項目は限定的に存在しますが、災害種別や想定収容人数といった現場情報については、原データを保持している自治体側でしか整備できません。
このデータの読み方と注意点
本記事で扱っているのは、つくば市が公開する指定緊急避難場所のCSVを、デジタル庁の自治体標準オープンデータセットの項目に変換したものです。カタログ上のデータは2026年7月11日時点のもので、対象はつくば市の指定緊急避難場所11件だけです。指定避難所(一定期間滞在する施設)は含まれていません。
元CSVは1行目から5行目にデータ名や発行時点の説明文が入り、6行目に列ヘッダ、7行目が空行という構成です。行番号を固定して読み飛ばすと発行時の説明文の行数が変わったときに壊れるため、先頭セルに No. を含む行を探してヘッダ位置を決めています。緯度経度は元CSVに含まれていないため、住所文字列から補完したものです。町字レベルまでの座標なので、施設の建物そのものの位置ではありません。災害種別のうち「高潮」「津波」「火山現象」に0を入れているのは、内陸に位置するというつくば市の地理的条件からの判断であって、市が公表した値ではありません。残る「洪水」「崖崩れ・土石流・地滑り」「地震」「大規模な火事」「内水氾濫」の5区分は、元データに情報がないため空欄のままにしています。判断できないものを0で埋めると「その災害には使えない場所」という誤った意味になるためです。
したがって、このデータから「どの災害のときにどこへ避難できるか」を読み取ることはできません。実際の避難先は、つくば市が公表する最新のハザードマップと避難情報で確認してください。想定収容人数や標高も未収載のため、避難場所の受け入れ能力を評価する用途にも使えません。また整備したのはつくば市の1件だけで、他自治体の同名データは項目構成が異なるため、そのまま並べて比較することはできません。
点在する避難場所の全体像や、推奨項目に対する充足状況の偏りは、データを標準形式に整え直して並べて初めて見えてきます。Queriaは、こうした確認の土台になるデータを整えた形で公開しています。つくば市の指定緊急避難場所について、自治体標準オープンデータセットの項目に揃え、列名・単位・文字コードを統一し、補完の出典をメタデータとして添えてあります。データを集めて加工する手間をかけずに、本記事で整備したつくば市の指定緊急避難場所テーブルから、地図表示や他データとの結合を試したり、不足している項目を洗い出したりできます。防災データの整備に時間を取られず、避難計画の検討そのものに集中できます。
Dig deeper with an AI agent
Connect Queria to Claude or ChatGPT, or use Claude Code or Codex, and paste the prompt below. It also works from your phone or browser.
For example, you could explore “指定緊急避難場所の緯度経度(latitude)が埋まっている件数と欠けている件数を数えて、住所(full_address)のどのエリアに未補完が残っているか確かめて”.
Using Queria's open data, analyze the following: 指定緊急避難場所の緯度経度(latitude)が埋まっている件数と欠けている件数を数えて、住所(full_address)のどのエリアに未補完が残っているか確かめて Reference (this report): https://queria.io/showcase/tsukuba-emergency-shelter.md Connect with the Queria connector (https://queria.io/mcp) or the Queria CLI (uvx queria). Run uvx queria --help and uvx queria docs list to learn the CLI.
Start in a terminal (CLI)
claude "Using Queria's open data, analyze the following: 指定緊急避難場所の緯度経度(latitude)が埋まっている件数と欠けている件数を数えて、住所(full_address)のどのエリアに未補完が残っているか確かめて Reference (this report): https://queria.io/showcase/tsukuba-emergency-shelter.md Connect with the Queria connector (https://queria.io/mcp) or the Queria CLI (uvx queria). Run uvx queria --help and uvx queria docs list to learn the CLI."