自分が引越した市の地理情報とオープンデータをTableauで分析してみた #tableau

2018.01.26

はじめに

こんにちは。DI部のtamaです。

私はJOINブログの自己紹介において、「石舞台古墳の近くに住んでいる」と書いていますが、今はそこを離れて、奈良県葛城市というところに引越しています。

私にとって葛城市は縁もゆかりもない初めての土地なのですが、一つ驚いたことがあります。
それは、市のサイト上でオープンデータを配布していることです。

今回は、このオープンデータを使って、自分が住んでいる町の避難施設情報をTableauで作ってみたので、ご紹介します。
※Tableau Publicにアップ次第、こちらに貼り付けます。

準備

作業環境

  • MacOS High Sierra 10.13.2
  • Tableau 10.5

使用データ

その他準備しておくこと

Tableauワークブックの作成

葛城市の町データを入手する

上記エントリを参考に、e-Statからデータを入手します。

…で、終わらせようと思ったのですが、e-Statサイトがリニューアルされているので、今一度入手方法を記したいと思います。

トップページの「統計GIS」をクリック。

そこから…「境界データダウンロード」→「小地域」→「国勢調査」→「2015年」→「小地域(町丁・字等別集計)」→「世界測地系緯度経度・Shape形式」→「29 奈良県」→「29211 葛城市」と辿って、データをダウンロードします。

ダウンロードしたデータを解凍すると、shpファイルが格納されています。

葛城市の町データの文字化けを修正する

Tableauはshpファイルの対応しているので、このファイルはそのまま取り込めるのですが、文字化けしちゃってます。

ここで、準備の項に書いたQGISというアプリケーションを使用し、文字化けを修正します。
修正の方法は下記エントリに記載されているので、こちらを参照してください。

葛城市の避難施設データを入手する

上記ページより、「防災 避難場所 災害時の避難場所」というファイルをダウンロードします。こちらはcsvファイルの方を選びます。
(地理空間情報は、上記の町データで取得するため。避難場所データはそれに紐付ける形)

避難施設データに、結合用のカラムを作成する

今回、町データに避難施設データを結合する必要がありますが、いい感じに結合してくれるカラムは残念ながらありません。なので、避難施設データの住所カラムから、町名部分のみを抜き出して、結合用のカラムとします。
(こちらの作成方法はTableau計算フィールドやExcel関数等、色々方法があると思いますが、当エントリのメインではないため、ここでは割愛します。)

町データには「S_NAME」という市以降の町名が入ったカラムがあるので、これで、そちらと結合できるようになりました。

Tableauで各データを読み込む

データの準備ができたところで、Tableauに読み込ませましょう。読み込ませる分には、ファイルをTableauへドラッグアンドドロップするだけでOKです。

そして、先ほど準備した結合用カラムを使って、町データと避難施設データを結合させます。

とりあえず葛城市がどこらへんか分かるVizを作成してみる

日本において非常にメジャーな土地である奈良県ですが、もしかしたら日本のどこにあるか知らない…という珍しい方もいるかもしれないので、とりあえずざっくり場所がわかるVizを作成します。

そもそもどうやって葛城市の町データを地図にプロットするか…ですが、読み込んでいるのはshpファイルという空間情報ファイルです。何もせずともプロットできる材料は含まれています。

「ジオメトリ」というカラムが存在しているはずなので、それをダブルクリックします。それだけで空間情報が可視化されます。

ズームアウトしてみましょう。

奈良県及び葛城市が、大体どこらへんにあるかイメージできましたでしょうか。

葛城市内の人口マップを作成してみる

e-Statから入手した町データには、町別の人口データが含まれていますので、それを可視化してみましょう。

「JINKO」を「色」に配置、「S_NAME」を「詳細」に配置します。
葛城市内が町毎に区切られ、そこに人口データをプロットすることができました。
※画像ではJINKOという名称を「人口」表記に変えています。

葛城市内で一番人口が多いのは「北花内」という地域でした。(2番目は疋田)
恐らく、鉄道(JR)が通っているのと、奈良県で2番目に栄えていると言われる橿原市が近いから…が理由だと思われます。(橿原市住めばええがなという話ですが、橿原市は家賃や土地代が高め←私の個人的な感覚です)

避難施設データをプロットしてみる

ここでついに避難施設データを表示させたいと思います。
表現方法ですが、ここはTableau10.5で追加された新機能「Viz on Tooltip」を使ってみたいと思います。

まず、ツールチップ内に表示させたいVizを先に作成しておきます。
避難施設データを使用して下記のクロス表を別ワークシートに作成しておきます。

先ほどの人口Vizに戻り、ツールチップの設定から、先ほどのVizを挿入します。
(下記画像の通りに設定します。)

ちなみに、挿入されるタグのmaxwidthとmaxheightの数値をいじることで、表示されるVizのサイズを変更することができます。(それぞれ600くらいに押さえないと、見にくくなります)

以下のように、町をドラッグすると、その町にある避難施設が表示されるようになりました。  

町データ×避難施設データの可視化を実現することができました。

おまけ

人口の多い地域は避難施設も多いのか、見てみました。

傾向線を引いてみたところ、対数傾向線が一番当てはまりました。
葛城市においては、人口が増えるほど、避難施設の数も多い傾向ではありますが、施設4つ以上になると、人口がそれ以上増えても変わらない傾向にあるようです。

おわりに

今回は自治体のオープンデータを使って、私が住んでいる市の避難施設データをTableauで可視化してみました。
本エントリのまとめとしては…

  • Tableauで空間ファイル(shpファイル)を使用して、地理情報の分析をすることができる。
  • オープンデータを配布している自治体が存在する。
  • 自分が住んでいる町の情報を知ることは大切。

…です。

今回使用したツールはTabelauのみですが、Alteryxを組み合わせると、もっと高度な地理情報分析が可能です。そちらもどこかで記事にできればと思っています。(葛城市の他のオープンデータも使用してみたい)

みなさんの住んでいる町が、もしオープンデータをアップしていたら、色々見てみてください。では。

参考