Tableau Tips: カスタムジオコーディング機能を使って新たに地理情報を取り込む

2015.06.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Tableauでは『緯度』及び『経度』を使ってTableau組み込みの地図に対し地理的な情報を表示させる事が可能です。デフォルトでは、Tableau組み込みの地理的役割・機能が用意されていますのでそれを活用する事が出来るのですが、それとは別に別途情報を連携させる事で地理的情報の活用・適用範囲を拡大させる事が可能となります。それが当エントリでご紹介する『カスタムジオコーディング』と呼ばれるものとなります。

目次

実施例1: 任意の(コード)値を緯度・経度情報と関連付けたカスタムジオコーディングの連携

まずは1つ目のサンプル。任意のコード値や名称を緯度経度と結び付けた情報をカスタムジオコーディングとして用意し、データと紐付ける手法を実践してみます。以下サイトから任意の路線(今回は東京メトロ丸ノ内線)の駅コード・駅名を使ってみたいと思います。駅名及び緯度経度情報を取得。

tableau-custom-geocoding_00

以下の様な形式でCSVとしてファイルを作成、コード値も設定しておきます。

tableau-custom-geocoding_01

念の為文字コード変換を。

$ nkf -g TokyoMetroMaru.csv 
Shift_JIS
$ nkf -Lw TokyoMetroMaru.csv > TokyoMetroMaru-utf8.csv 
$ nkf -g TokyoMetroMaru-utf8.csv 
UTF-8
$

Tableauのナレッジベースによると以下の形式及びファイル名(schema.ini)でファイルを作成し、取り込むファイルと同じパスに置いておく必要があるようです。作成し、保存しておきます。

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を開き、メニューの[マップ]から[カスタムジオコーディングのインポート]を選択。

tableau-custom-geocoding_02

先程保存をしたファイルのディレクトリを指定。

tableau-custom-geocoding_03

[インポート]で取り込みを開始します。

tableau-custom-geocoding_04

取り込み中です....

tableau-custom-geocoding_05

取り込みが完了(特に完了メッセージなどは表示されないようです)したらインポート完了です。別途以下の様な形で、路線名/駅名/駅コード、及び駅の乗降車数を記載したEXCELファイルを用意しました。

tableau-custom-geocoding_06

まずは『駅コード』に地理的役割を与えてみます。以下のメニュー遷移でコード値を選択。

tableau-custom-geocoding_07

すると、項目名左側のアイコンが文字列(Abc)から変わりました。

tableau-custom-geocoding_08

駅コードをダブルクリックしてみます。すると何やら点が表示されました。駅コードと、カスタムジオコーディングで取り込んだ情報のコード値が紐付き、関連する緯度経度で情報が上手く連携、表示出来ている様です。

tableau-custom-geocoding_09

サイズや色合い、文字情報を調節し、以下の様な形で表示させる事が出来ました!狙い通りですね。

tableau-custom-geocoding_10

また、上記設定作業では『駅名』も紐付けています。同様の設定を行なってみると...

tableau-custom-geocoding_11

駅名をダブルクリックして、上記と同じ様な連携が実現出来ました!

tableau-custom-geocoding_12

実施例2: 日本国内の郵便番号をカスタムジオコーディングで適用させる

もう1つのサンプルは既存のジオコーディング情報の仕組みに情報を追加する手法です。こちらも場合によっては利用頻度が高いのではないのでしょうか。今回は日本国内の郵便番号を既存の仕組み(Tableauでは郵便番号について地理的役割を与える機能がついていますが、日本の郵便番号にはデフォルトでは対応していません)に追加するやり方を試してみたいと思います。

以下サイトから東京都内の郵便番号を入手し、先頭数件と弊社の会社の郵便番号(1010025)を基に緯度経度を付与したファイルを作成しました。

※ちなみに作成の際には『ビルトイン階層』と呼ばれる仕組みに準拠した形にしなければならない様です。

JpnZipCode13Tokyo.csv

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

設定ファイルについても同様に作成しておきます。

schema.ini

[JpnZipCode13Tokyo.csv]
ColNameHeader=True
Format=CSVDelimited
Col1="Country" Text
Col2="ZIP Code/Postcode" Text
Col3="Latitude" Double
Col4="Longitude" Double

以後の作業は先程と同様です。ファイルを保存したディレクトリを指定し、取り込み。

tableau-custom-geocoding_21

取り込みが完了したら動作確認です。弊社の会社情報を以下の様にEXCELで作成しました。

tableau-custom-geocoding_22

Tableauで読み込み、データ項目の"郵便番号"に地理的役割で『郵便番号』を付与します。

tableau-custom-geocoding_23

郵便番号をダブルクリックすると以下の様に(だいたい)正しい場所にポイントが表示されました!その他の情報を付与するとこんな感じに見えるようになります。

tableau-custom-geocoding_24

まとめ

以上、『カスタムジオコーディング』に関するご紹介でした。この様な形で情報を拡張出来るのは嬉しいですね。あと1つ気になったのは、サンプル1とサンプル2の情報を併せて取り込みたい(=複数のカスタムジオコーディング情報を取り込みたい)...というケースがあった場合どうするのかなという点でした。作業を進めた際には、一旦『カスタムジオコーディングの削除』を行わないと新たな情報取り込みは行えませんでした。この辺り実現の可否、また可能な場合の手順についても明らかになりましたらまた改めてご紹介したいと思います。こちらからは以上です。

参考情報: