TMS(Tableau Map Service)ファイルを使って表示する背景地図情報を増やす

2015.05.31

Tableauでは、地図に関する背景情報をデフォルトで保持しています。

メニューの[マップ]→[地図のオプション]を指定し、

tms-custom-01

『マップレイヤー』の指定と『スタイル』の指定を変える事で以下のような雰囲気の地図を出すことが可能です。(Tableau9.0になってから、だいぶ綺麗な・情報の細かい地図が出るようになっています。)

tms-custom-02

以前下記エントリでご紹介した時はWMS(Web Map Service)という仕組みを使って新たに背景地図を表示させていましたが、

Tableauにはこの他にもTMS(Tableau Map Source)という仕組みを使ってWMS同様に背景地図を表示させる事が出来ます。当エントリはその辺りの使い方についてご紹介して行きたいと思います。

目次

TMS(Tableau Map Source)とは

TMS(Tableau Map Source)とは、Tableauから外部の地図サービス等に接続し、背景地図の情報を取得してくるための設定ファイルとなります。詳しい説明は以下Tableauのナレッジベースをご参照ください。

当エントリを書こうと思ったきっかけ

以下の海外エントリの情報を知ったのがトリガーでした。この辺りの情報については前々から気にはなっていたのですが、仕組み的にどうしたら実現出来るのかが検討がつかず(地図情報周りそのものについても全く知りませんでしたし)、暫く放置していたのですが、これを見て『行けるやん!』と思った次第です。

設定値の解説

では、ここから設定及び実践について解説して行きたいと思います。

まずは設定ファイルの中身について。*.tmsファイルは以下のフォーマットで構築します。任意のエディタでファイルを作成してください。(バージョンは9.0にしても問題無かったっぽい)

<?xml version="1.0" encoding="utf-8"?>
<mapsource inline="<boolean>" version="8.1">
<connection class="OpenStreetMap" port="80" server="<server-url>" url-format="<url-format>" />
<layers>
<layer display-name='Base' name='base' show-ui='false' type='features' request-string='/' />
</layers>
</mapsource>

mapsource

inline="<boolean>"

mapsourceinlineプロパティにはboolean値を設定します。特別な理由が無ければ、この値はtrueにしておく事をお勧めします。

意味
true Tableau Desktopが設定をワークブックと一緒に保存出来るようになります。Tableau PublicやTableau Onlineにワークブックを保存するのであれば、こちらの値を使いましょう。
false Tableau DesktopまたはTableau ServerがMapsourcesフォルダに格納されているファイルを参照する様に求められます。

connection

server="<server-url>"

必須設定。MapサーバのURLを<server-url>と置き換えます。

url-format="<url-format>"

オプション設定<url-format%gt;の内容を、指定のフォーマットで置き換えます。以下の内容を含む可能性があります。server-url=ドメイン部分のURLに相当する部分なので、配下のURL情報が含まれる場合はこちらにその情報を追加します。

意味
{Z} ズームレベルを表します。 ズームレベル:0は世界地図全体を表します。 設定可能レベルは16まで。
{X}と{Y} マップタイルの座標を表します。

TMSファイル作成:実践

では、上記内容を踏まえて実践してみましょう。任意のMapサービスからURLに設定する情報を見つけ出し、TMSファイルを作成してTableauに設定する流れとなります。

参照先エントリで紹介されている以下サイトがとても便利ですので、ここを使ってTMSファイルを作成するための情報を作ってみたいと思います。

まずは以下のURLにアクセス。さてここはどこでしょうか?

はい、弊社@秋葉原でした。

tableau-create-tms_01

今回はChromeで表示していますので、Chromeのデベロッパーツールを起動し、

osm_source_01

該当するURL等の情報を探し出します。

osm_source_02

そして所定のルールに基いてファイルを作成し、任意の名前でtmsファイルとして作成します。そして、Tableauインストールフォルダ配下の指定フォルダにtmsファイルを配置。

tableau-create-tms_03

Tableauを起動し、[マップ]→[バックグラウンド マップ]を選択。すると、デフォルト指定のものの他に、追加した設定ファイルの項目が表示されています。

tableau-create-tms_04

選択してみると、以下の様に地図が表示される様になりました!

tableau-create-tms_05

注意事項&まとめ

以上、TMSファイルを用いた背景地図(バックグラウンドマップ)の追加方法に関するご紹介でした。上記の地図をまとめたサイトの中でも幾つか利用出来るものがあると思いますので、色々試してみるのも良いかも知れません。

ただ、こちらの手順については以下の様に注意事項があります。

全てのMapサービスが利用出来るという訳では無い

URLのフォーマット指定等が紹介したフォーマットに適さない場合、上手く連携出来ない場合があります。また、そもそも利用が許されていないサービス等もあるようです。一覧の中にはGoogle MapやBing等も含まれていますが、この辺りはフォーマットがそもそも合致していないので利用は出来ないようです。(※仮に合ってたとしてもライセンス等の問題で利用は出来ないと思いますが...)

アクセスが出来なくなる、または止められる可能性がある

利用可能となっているものは概ねオープンソースのもので、一般利用が許可されているものになるかと思われます。しかし、そういうものであるが故に、いつ何時利用が出来なくなるとも限りません。

また、サービスによってはアクセスが頻繁になされた場合、その状況によってはアクセスを禁止される可能性も考えられます。以下はOpenStreetMapのドキュメントですが、『不当な利用があった場合、予告なしにブロックされる場合があります』とあります。数名のちょっとした利用なら問題無いでしょうが、会社単位で頻繁に全社員が...というようなケースだとヤバいかもしれません。利用にはくれぐれもお気をつけください。また、この辺りのリソースの利用については各自自己責任でお願い致します。

追記

TMSの接続先のうち、OpenStreetMap(のデフォルトタイプ?)を『自作のOpenStreetMapに置き換える』ためのサーバ構築に関する部分の手順を以下ブログエントリにまとめました。

参考情報