Tableauの強力なマッピング機能を利用すると、データの集計値が表示された魅力的な地図を容易に作成することができます。
本ページでは、「空間ファイル」と呼ばれる地図上の点や線、またはポリゴン等が定義されたファイルを読み込んで色塗りマップを作成する方法を紹介します。
空間ファイル
様々な種類の空間ファイルが存在しますが、現在Tableauでインポートできる形式は以下になります。
- シェープファイル
- KML
- MapInfo
- geoJSON
- スプレッドシート
- テキストファイル
地図の作成
東京都市区町村の空間ファイルを利用して、実際にマップを作成する方法を紹介します。
【完成図】
以下のようなVizを作成します。
現時点でTableauの標準機能は市区町村別コロプレスマップには対応していないようなので、作成する場合には空間ファイルが必要になります。
データの準備
用意するデータは
- 空間ファイル:東京都市区町村のポリゴンデータ
- 統計データ:スーパーストアの注文データ
2種類です。
また、ふたつのファイルを結合する必要があるため、お互いに共通のフィールドがあることが条件になります。
空間ファイル
国土数値情報ダウンロードサービスから東京都市区町村のポリゴンデータをダウンロードします。
ダウンロードしたzip形式のファイルを解凍します。
シェイプファイル(.shp、.shx、.prj、.xml、.dbf)とgeojsonファイル(.geojson)が含まれていることが分かります。
参考までにgeojsonファイルをテキストエディタで開いてみます。
「東京都」「千代田区」等の地名や「N03-004」等の地域コード、地図上のポリゴンを形成する緯度経度がjson形式で記載されていることが分かります。
市区町村へのマッピング
作り方は大きく、以下の手順になります。
- 手順1データの読み込み
- 手順2データの結合
- 手順3マップ上に集計値を表示
1. データの読み込み
まずは空間データを読み込みます。
シェープファイルかgeojsonファイルのどちらかを利用すればよさそうなので、今回はgeojsonファイルを利用します。
Tableauを起動して「接続」-「空間ファイル」 を選択、geojson形式のファイル(N03-21_13_210101.geojson)を開きます。
以下のように読み込まれるとファイルの内容が表示されます。
地理的役割が割り当てられた「ジオメトリ」フィールドが自動的に作成されていることが分かります。
場合によっては読み込んだファイルの日本語が文字化けするかもしれません。
抜本的な解決ではありませんが、以下の方法で解決することがあります。
geojson形式ファイル名を複製して、日本語の名前を付けます。
Tableauで日本語名のgeojsonファイルを選択して開きます。
次は統計データを読み込みます。
「追加」をクリックしてスーパーストアのエクセルファイルを開きます。
読み込まれました。
2. データの結合
読み込んだ空間ファイルと統計データのテーブルを結合します。
注文データのアイコンをキャンバス内にドラッグ&ドロップさせます。
両データに共通して存在する市区町村名のフィールドをキーとして結合します。
無事結合できました。
3. マップ上に集計値を表示
データペインの「ジオメトリ」をダブルクリックします。
すると行と列にそれぞれ緯度経度が割り当てられ、東京都の市区町村毎に分けられたマップが表示されます。
市区町村名と利益を表示するため、データペインの「市区町村」と「利益」をマークのラベルにドラッグ&ドロップします。
注文データに存在する一部の市区町村名が表示されるようになります。
利益で色分けするため、データペインの「利益」をマークの色にドラッグ&ドロップします。
完成しました。
利益が多いのは新宿区、少ないのは大田区のようです。
空間ファイルを読み込むと、地理的役割を与えられた「ジオメトリ」が自動生成されます。なお、基本的にジオメトリフィールを編集することはありません。
本ページでは、空間ファイルを読み込んだ色塗りマップの作成方法を紹介しました。