Tableau Tips: カスタムジオコーディング機能を使って新たに地理情報を取り込む
Tableauでは『緯度』及び『経度』を使ってTableau組み込みの地図に対し地理的な情報を表示させる事が可能です。デフォルトでは、Tableau組み込みの地理的役割・機能が用意されていますのでそれを活用する事が出来るのですが、それとは別に別途情報を連携させる事で地理的情報の活用・適用範囲を拡大させる事が可能となります。それが当エントリでご紹介する『カスタムジオコーディング』と呼ばれるものとなります。
目次
実施例1: 任意の(コード)値を緯度・経度情報と関連付けたカスタムジオコーディングの連携
まずは1つ目のサンプル。任意のコード値や名称を緯度経度と結び付けた情報をカスタムジオコーディングとして用意し、データと紐付ける手法を実践してみます。以下サイトから任意の路線(今回は東京メトロ丸ノ内線)の駅コード・駅名を使ってみたいと思います。駅名及び緯度経度情報を取得。
以下の様な形式でCSVとしてファイルを作成、コード値も設定しておきます。
念の為文字コード変換を。
$ nkf -g TokyoMetroMaru.csv Shift_JIS $ nkf -Lw TokyoMetroMaru.csv > TokyoMetroMaru-utf8.csv $ nkf -g TokyoMetroMaru-utf8.csv UTF-8 $
Tableauのナレッジベースによると以下の形式及びファイル名(schema.ini)でファイルを作成し、取り込むファイルと同じパスに置いておく必要があるようです。作成し、保存しておきます。
[TokyoMetroMaru-utf8.csv] ColNameHeader=True Format=CSVDelimited Col1="TokyoMertoStaCode" Text Col2="TokyoMertoStaName" Text Col3="Latitude" Double Col4="Longitude" Double
$ pwd /Users/xxxxxxxxxxxxx/Desktop/custom-gc $ ls TokyoMetroMaru-utf8.csv schema.ini
Tableauを開き、メニューの[マップ]から[カスタムジオコーディングのインポート]を選択。
先程保存をしたファイルのディレクトリを指定。
[インポート]で取り込みを開始します。
取り込み中です....
取り込みが完了(特に完了メッセージなどは表示されないようです)したらインポート完了です。別途以下の様な形で、路線名/駅名/駅コード、及び駅の乗降車数を記載したEXCELファイルを用意しました。
まずは『駅コード』に地理的役割を与えてみます。以下のメニュー遷移でコード値を選択。
すると、項目名左側のアイコンが文字列(Abc)から変わりました。
駅コードをダブルクリックしてみます。すると何やら点が表示されました。駅コードと、カスタムジオコーディングで取り込んだ情報のコード値が紐付き、関連する緯度経度で情報が上手く連携、表示出来ている様です。
サイズや色合い、文字情報を調節し、以下の様な形で表示させる事が出来ました!狙い通りですね。
また、上記設定作業では『駅名』も紐付けています。同様の設定を行なってみると...
駅名をダブルクリックして、上記と同じ様な連携が実現出来ました!
実施例2: 日本国内の郵便番号をカスタムジオコーディングで適用させる
もう1つのサンプルは既存のジオコーディング情報の仕組みに情報を追加する手法です。こちらも場合によっては利用頻度が高いのではないのでしょうか。今回は日本国内の郵便番号を既存の仕組み(Tableauでは郵便番号について地理的役割を与える機能がついていますが、日本の郵便番号にはデフォルトでは対応していません)に追加するやり方を試してみたいと思います。
- 参考:地理的役割の割り当て
以下サイトから東京都内の郵便番号を入手し、先頭数件と弊社の会社の郵便番号(1010025)を基に緯度経度を付与したファイルを作成しました。
※ちなみに作成の際には『ビルトイン階層』と呼ばれる仕組みに準拠した形にしなければならない様です。
Country,ZIP Code/Postcode,Latitude,Longitude Japan,1020072,35.697616,139.749434 Japan,1020082,35.687723,139.739668 Japan,1010032,35.692057,139.777034 Japan,1010047,35.690701,139.765943 Japan,1000011,35.671128,139.758221 Japan,1000004,35.688488,139.76257 Japan,1006890,35.6888397,139.7628642 Japan,1006801,35.6888397,139.7628642 Japan,1006802,35.6888397,139.7628642 Japan,1010025,35.697321,139.774085
設定ファイルについても同様に作成しておきます。
[JpnZipCode13Tokyo.csv] ColNameHeader=True Format=CSVDelimited Col1="Country" Text Col2="ZIP Code/Postcode" Text Col3="Latitude" Double Col4="Longitude" Double
以後の作業は先程と同様です。ファイルを保存したディレクトリを指定し、取り込み。
取り込みが完了したら動作確認です。弊社の会社情報を以下の様にEXCELで作成しました。
Tableauで読み込み、データ項目の"郵便番号"に地理的役割で『郵便番号』を付与します。
郵便番号をダブルクリックすると以下の様に(だいたい)正しい場所にポイントが表示されました!その他の情報を付与するとこんな感じに見えるようになります。
まとめ
以上、『カスタムジオコーディング』に関するご紹介でした。この様な形で情報を拡張出来るのは嬉しいですね。あと1つ気になったのは、サンプル1とサンプル2の情報を併せて取り込みたい(=複数のカスタムジオコーディング情報を取り込みたい)...というケースがあった場合どうするのかなという点でした。作業を進めた際には、一旦『カスタムジオコーディングの削除』を行わないと新たな情報取り込みは行えませんでした。この辺り実現の可否、また可能な場合の手順についても明らかになりましたらまた改めてご紹介したいと思います。こちらからは以上です。