【Tableauで地図】:②地理空間情報を利用して表示する(例:温泉の緯度・経度を利用して、地図上に表現)
Tableauで地図を使った分析、いろいろできます。その「いろいろ」を、少し整理して、順を追って書いていこうと思います。こちらは第2回目です。
第1回は、こちらでした。
例えば、Tableauでは組み込みのマッピング機能として「空港」は、用意されているので、空港名(3レターまたは4レター)が書かれたフィールドを、地理的役割の「空港」に割り当てることで、地図上にプロットできます。
では、任意の地点の場合は?
その場合は、地点の緯度経度が分かればプロットできます。
緯度・経度のリストを準備する
ここでは日本国内の温泉のデータを利用します。以下のように、温泉の名前や泉質、湧出量などを書いた一覧に、「緯度」「経度」のフィールドを用意します。
注意点として、緯度経度は、10進数で表現された10 進経緯度を利用します(35度41分22秒 のような、度分秒の座標値表記ではなく)。
※以下のデータは、一部はダミーであり、実態と異なる場合があります。
地理的役割の「緯度」「経度」を割り当てる
Tableauからデータソースに接続し(ここではExcelファイルを利用)、緯度のフィールド、経度のフィールド、それぞれに地理的役割の「緯度」または「経度」を割り当てます。(余談ですが、フィールド名を longitude, latitude にしておくと、データを読み込んだ時点で自動的に割り当てられます)
地図上に表示する(方法1: 緯度経度フィールドを、そのまま利用)
メジャーのままでも描画は出来ますが、緯度経度はここでは集計する項目(メジャー)ではないので、ディメンションにしておきます。(フィールド名一覧のところで、2つのフィールドを、図のように線より上に移動)
「経度」を列シェルフに、「緯度」を行シェルフに、今回は温泉の「名前」をマークの詳細へ入れたところです。地図上に全国の温泉がプロットされます。
地図上に表示する(方法2: MAKEPOINT関数を利用)
図3のように、緯度経度のフィールドをそのままでも使えますが、 MAKEPOINT関数を利用すると、よりわかりやすいかと。
※今後は、こちらのやり方でプロットしたとして、進めていきます。
MAKEPOINT関数は、Tableauで使用できる空間関数のうちのひとつで、緯度経度を、空間オブジェクトに変換する関数です。
(MAKEPOINT関数は、OptionでSRID(座標系)も指定できますが、指定しない場合は デフォルトの WGS84 が使用されます。(出典:空間関数))
※空間関数については別のnote(第4回予定)で、もう少し書く予定です。
図4のように、計算フィールドとして作成した「温泉の場所」フィールドを、ダブルクリックすると、以下のように描画されます。
このあといろんな情報を見ていきたいので、「名前」を詳細に、マークは「円」に変更しました。
緯度経度以外の情報も合わせて表示する
地図上にプロットするだけであれば、google map 等の地図で出来るよね〜という話ですが、Tableauはビジネスアナリティクスツールですので、もう少しわかりやすく、他の情報も表現していきたいと思います。
例えば、「湧出量」をサイズに、「泉質」を色に。その他表示したい情報もツールヒントに入れていきます。
温泉の泉質を元に、行きたい温泉地を決める、というときに使えそうです。ちなみに、上に見切れている、大きな茶色の円は、草津温泉。
圧倒的な湧出量(毎分 32,000リットル で日本一)を誇り、他の◯がどうしても小さくなってしまうので、泉質に着目したい場合は他の表現方法(湧出量はサイズに入れない、等)が良さそうです。
別の表現として、例えば、「泉温」を「色」に。熱い温泉は赤く…ということで、カラーパレットは赤を利用。
マークの「形状」では、温泉アイコンを読み込んで、温泉マークを使うようにしました。(参考:カスタム形状の使用)
参考リンク(本文中のものを含みます)
次回は、地理空間情報(シェープファイル)の読み込みについて扱う予定です。