どうも、平島です。前回は、近くの保育園を探す親御さんのために小平市の保育園を見える化しましたが、今回は「〇〇市××町1-2-3」のような日本語の住所から、地図の見える化をします。
前回扱った小平市保育園のオープンデータの利点で、同時に問題点だったことは、緯度と経度のデータを扱えたということです。緯度・経度データはTableauでのマッピングに必須で、オープンデータとしてもこれから増えてくると思うのですが、身の周りにあまり無いですよね。例えば、今回扱う立川市の公開している保育園のデータはまさにこの状態です。
参考:立川市Webサイト 認可保育園一覧
今回も、先にイメージで結論をお伝えです。こんなページが完成予想図です。作成までの時間は10分程度。マウスのドラッグ&ドロップで地図を動かしたい場合は、地図左上の矢印キーでモードを変えてくださいね。
立川市の保育園:CSISシンプルジオコーディング実験(立川市Webサイト保育園一覧データ)による
今回も画面ベースで説明して、分かった気持ちになれるシリーズです。もし質問や、ご助力できることがあったら、お気軽に連絡くださいね。誰かの役に立てると嬉しいです。
1.保育園オープンデータの入手
まず、立川市の保育園のデータを入手しましょう。
あれ、下の方にスクロールしますが、今回はCSVではなくて、画面の中の表として存在するようです。ここに住所のデータがありますね。
都道府県名や市の名前も入っていません。。
それに付随する「延長保育」の時間も、別の表にあります。
しかたないので、手でデータをつくります。表の該当の個所をコピーしましょう。
それで、Excelに貼り付けましょう。
今回立川市の表が良かったのは、保育園の順番がどの表も同じだったことです。どのデータもコピペして、横に繋げてあげましょう。これでデータは完成です。
2.住所から、緯度・経度への変換
さて、データが出来ましたので、住所を緯度・経度に変換します。今回は、東京大学の「CSISシンプルジオコーディング実験」の成果を使わせてもらいます。規約があるので、実際に利用される方は同意する前提です。ご確認くださいね。
参考:Geocoding Tools & Utilities – サービス概要
さて、まずは都道府県名を含む完全な住所を作ります。住所がB列にあるので、J列にいれる式は以下です。
=”東京都立川市”&B2
出来たら、オートフィルして全保育園に適用しましょう。
次に、先ほどの「CSISシンプルジオコーディング実験」を使うために、URLを作ります。
= “http://geocode.csis.u-tokyo.ac.jp/cgi-bin/simple_geocode.cgi?charset=UTF8&addr=” & ENCODEURL(J2)
これもオートフィルしましょうね。
ここで、作成したURLについてWEBSERVICE関数を使います。これで、URLにアクセスに行き、住所を含むデータを取ってきてくれます。
= WEBSERVICE(K2)
WEBSERVICE関数が持ってきたデータには不必要なものもありますので、該当の緯度の部分だけを次の関数で取り出します。
=FILTERXML(L2,”//latitude”)
経度も同様です。
=FILTERXML(L2,”//longitude”)
さて、全部オートフィルしてしまいましょう。緯度・経度を含むデータができましたね!
3.データの見える化と、Webへの公開
あとは、TableauにこのExcelデータを読ませて、マッピングすれば完成です。前回の小平市の保育園マップを作製したときの手順をご参考にされてください。ここでは略です。
まとめ
ということで、今回は「オープンデータを無料のTableauで見える化しよう …住所から保育園マップをWebで公開!編(3)」をご紹介しました。
まず初めに、東京大学の「CSISシンプルジオコーディング実験」を使わせて頂いたことに謝辞です。便利な機能を誠にありがとうございます。文字列としての住所を取り扱えることから、手元に保存していたいろんな名簿などからも目的に合った地図が作れますね。
ともかく言えることは、データさえそろえてしまえば、あとはTableauで応用が出来るということです。最初に見えるようにした後に、また必要なデータが増え、それを追加していけば、いくらでも応用の世界は広がります。
今日はここまで。もし質問や、ご助力できることがあったら、お気軽に連絡くださいね。誰かの役に立てると嬉しいです。