自分が引越した市の地理情報とオープンデータをTableauで分析してみた #tableau
はじめに
こんにちは。DI部のtamaです。
私はJOINブログの自己紹介において、「石舞台古墳の近くに住んでいる」と書いていますが、今はそこを離れて、奈良県葛城市というところに引越しています。
私にとって葛城市は縁もゆかりもない初めての土地なのですが、一つ驚いたことがあります。
それは、市のサイト上でオープンデータを配布していることです。
今回は、このオープンデータを使って、自分が住んでいる町の避難施設情報をTableauで作ってみたので、ご紹介します。
※Tableau Publicにアップ次第、こちらに貼り付けます。
準備
作業環境
- MacOS High Sierra 10.13.2
- Tableau 10.5
使用データ
- 葛城市の町データ
- 政府統計の総合窓口から入手する
- 葛城市の避難施設データ
- 葛城市オープンデータ - 葛城市から入手する
その他準備しておくこと
- QGISというアプリケーションのインストール
- 上記データ(地理空間データ)をそのまま使うと一部文字化けするので、それを修正するのに必要
- QGISのダウンロード
- (お好み)Mapbox連携の準備
- 地図のバックグラウンド画像を変えるためMapbox連携を行う
- Tableau 9.2 新機能紹介: Desktop – Mapbox連携 | Developers.IO
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を組み合わせると、もっと高度な地理情報分析が可能です。そちらもどこかで記事にできればと思っています。(葛城市の他のオープンデータも使用してみたい)
みなさんの住んでいる町が、もしオープンデータをアップしていたら、色々見てみてください。では。