プログラマーのメモ書き

伊勢在住のプログラマーが気になることを気ままにメモったブログです

避難所データの加工について(避難所検索@伊勢 v1.0 以前)

現在リリース中の避難所検索@伊勢では、避難所データとして伊勢市のオープンデータを利用しています(リンク先は最新のデータになります)。

ただ、残念ながら、このデータは Excel 形式での公開であり、中身も機械的に処理するにはちょっと不便なため、手作業で一部加工しています。

避難所検索@伊勢の次のリリースでは、避難所データの更新機能を追加しようと思っています。それに先立ち、現状の避難所データの扱いについて、メモ書きとしてまとめてみました。

なお、対象となるアプリ及び避難所データは下記になります。

  • 避難所検索@伊勢 v1.0 以前
  • 伊勢市のオープンデータ(災害時指定避難所)ただし、以下のはなしは 2017年3月時点の資料が対象

最新の避難所データのフォーマットについては、アプリの次リリースに併せてまとめたいと思います。

避難所の選定について

昔、アプリの作成を思い立った際に調べた記憶を頼りにまとめていきます。認識が間違っている点などがあれば、ご指摘ください。

伊勢市が公開している避難所の資料はいろいろありますが、避難所の種類について解説してあるページを見ると、伊勢市の場合、5種類の避難所に分けられるそうです。

  • 指定避難所
  • 津波緊急避難所
  • 自治会避難所
  • 福祉避難所
  • 避難生活施設

このうち、

  • 先頭の2つの『指定避難所』と『津波緊急避難所』が、国の基準でいうところの緊急用の『指定緊急避難場所』に該当し、
  • 『避難生活施設』が国の基準でいうところの『指定避難所』に該当

するとのことです(こちらのPDF資料の p.4 を参照)。

で、このアプリではどの避難所を扱えばよいのか考えてみたのですが、本アプリが主に想定する利用シーンとしては、

  • 現在いる場所の近くの避難所を調べること
  • 調べるタイミングは、災害が迫っているようなとき、もしくは、災害にいままさに遭遇しているとき

になるかと思います(実際に起こって欲しくはないものですが)。

そのため、伊勢市の呼び方でいうところの

  • 指定避難所
  • 津波緊急避難所
  • 避難生活施設

を扱うことにしました。本当は指定避難所と津波緊急避難所の2つだけでもよかったんですが、これらについて記載されている元データに、避難生活施設のデータも含まれていたため、わざわざ除外することもないかと思い、参考としてアプリに含めました。

で、自治会避難所と福祉避難所の2種類の避難所を除外しているのは、

  • 自治会避難所:各自治会が運営主体なのでいざ災害となった場合にどのように運営されるのかアプリ利用者にとっては不明と思われること(行ったのに開設されていない、というのを避けたい)
  • 福祉避難所:原則、災害が去ったあとに避難生活を行うためのものであること

と考えたためです。緊急時に確実に避難所が運営されるであろう伊勢市の避難所を対象にしたということです。

なお、下記のPDFに避難所についての検討した結果がまとまっていましたので、ご興味ある方は見られるとよいかと思います。

https://www.city.ise.mie.jp/_res/projects/default_project/_page_/001/001/585/hinanjyositeikijyun.pdf

オープンデータとして公開されている Excel ファイルについて

さて、やっと具体的なデータの話です。

『災害時指定避難所』として公開されている Excel ファイルをダウンロードして開いてみます。早速、ヘッダの部分ですでに、結合セルが使われています(資料としては見やすくていいんでしょうけどねー)。

f:id:junichim:20211105145732p:plain

(なお、2021/11/5 時点の最新版では緯度経度欄がなくなっています)

このシートの E列 、 F列 が伊勢市の呼び方の『指定避難所』『津波緊急避難所』に該当しています。一方、H列が伊勢市の呼び方の『避難生活施設』(国の『指定避難所』)を表しており、I列~L列が国の『指定緊急避難場所』としてどの種類の災害に該当するかを示しています。

ここで問題になるのは、下記のように

f:id:junichim:20211105151434p:plain

(公開データには電話番号も載ってますがブログ用に消しています)

指定避難所や津波緊急避難所に該当している(〇がついている)んですが、『2階以上』の場合に該当している、という意味の注記付きの書き方です。 さらに、36行目にあるように、2階と3階以上で安全度ランクが異なるため、一つのセルに複数の情報が含まれている場合もあります。

これは機械的に処理するには扱いにくいですね。

対応方法

この状態について、今回は以下のように対応して、アプリで扱いやすくしました。

  • 注記部分(『2階以上』などの表記)は『詳細』などの名称の別カラムに分ける
  • 一つの建物に2つ以上の記載がある場合は、安全度の高いほう(より上層の階)のデータのみを採用する
  • 避難所種類に該当するか否かを〇ではなく、 True, False で指定する

もう一つ、ちょっとややこしいのが、下記のように学校の校舎と運動場がともに避難所になっている場合で、運動場の『津波緊急避難所』欄に『校舎※2階以上』という記述がある場合があります。

f:id:junichim:20211105173113p:plain

これって、普通に考えると、運動場の欄に書かれていても、津波緊急避難所としては校舎を使えということになると思います。なので、この場合は追加した『詳細』欄には何も記載せずに、『津波緊急避難所』としては〇をつけない(Falseを指定する)という形にしました。

これらをまとめると下記のような形になります。

f:id:junichim:20211105152535p:plain

この形式なら、機械的に処理しやすくなりそうです(実際のファイルは Github をご覧ください)。

で、出来上がったものを、 CSV形式 のデータとしてアプリ内で読み取るようにしました。

まとめ

このアプリを最初に検討したのが 2017 年ごろでしたので、いまさらまとめてどうするという感じもありました。 ですが、いざ避難所データを更新しようとしたときに、どこにも考え方をまとめていなかったことに気づいたので、とりあえずここにまとめてみました。

オープンデータとしていろんなデータが公開されることそのものは非常に良いことなのですが、この例のようにコンピュータで利用しようとすると何らかの加工をしなければならない場合だと、なかなかデータの更新に手が回らなくなるため、非常にもったいないな、というのが正直な感想です。

その意味では、オープンデータの次の取り組みとして期待するのは、機械的に処理しやすい形式でデータを公開してくれることですかね(GitHub とかのリポジトリで公開してくれてもいいですよねー)。

あと、余談になりますが、避難所の名称が同じ『指定避難所』なのに、伊勢市の呼び方と国の呼び方で、別の意味になっている件、呼び方を決める時なんとかならなかったもんですかね? 今でも、資料初めて読んだときめっちゃ戸惑ったのを覚えています。公務員の方はともかく、一般人からしたら紛らわしいことこの上ないですので、今後似たようなことが起きないことをお願いしたいもんです、はい。