11
5

More than 3 years have passed since last update.

Custom Map(カスタム・マップ)を使ったLooker上での可視化

Last updated at Posted at 2019-04-17

Lookerでは、自作した境界データを利用して地図上での可視化を行うことが可能です。これにより、営業エリアが複数の市区町村をまたがっている場合などでも、棒グラフ・円グラフなどだけではなく地図上での塗分けによる可視化を行うことが可能になります。
今回は、東京都の人口データを利用した可視化を行ってみたいと思います。

(注:本文中に記載のリンクは本記事執筆時のものでありリンク先URLが変更になっている可能性があります。
また、こちらに記載の内容については、弊社サポートチームにお問合せ頂いても対応致しかねる場合がございます点についてご留意ください)

領域データの準備

上記可視化を行うためには、各地域の地形シェイプデータおよび各地域情報を含めたデータが必要になります。
Lookerでは、地図上の領域を表現するためにTopoJsonという形式のデータを利用します。地形データは複雑な地形になってくるとデータサイズが巨大になってしまいますが、このTopoJsonを利用することで軽量化を行うことができます。
TopJsonについては、shapefileフォーマットやgeoJson形式のデータをお持ちになられていれば、Mapshaperというオンラインツールで簡単に変換することが可能です。変換方法については、こちらの記事を参照ください。
今回は、以下のように東京都の人口数・世帯数のデータを地図上に表現したいと思います。
Screen Shot 2019-04-10 at 14.31.21.png

東京都の人口データについては、こちらの東京都の人口(推計)からのリンク先PDFを使って作成しました。
また、東京都の境界データについては、こちらの国土数値情報 行政区域データからダウンロードしました。
geoJson形式のファイルもダウンロードすることができるため、topoJson形式に変換して利用します。このファイルは、N03_004というプロパティに市区町村名が入っているようなので、この項目でマッピングをしていきます。

境界データのアップロード

Lookerでアップロードしたいプロジェクトを開き、topoJsonファイルをドラッグ・アンド・ドロップすることでインポートすることができます。これにより、LookMLコードとともにリポジトリへコミットすることが可能です。Screen Shot 2019-04-10 at 14.21.28.png

Mapレイヤーの作成

地図の境界データがアップロードできましたので、LookML上にMapレイヤーを作成していきます。
以下のようにモデルファイルに追加します。

map_layer: tokyo_map {
  format: topojson
  property_key: "N03_004"
  file: "tokyo.topojson"
}

fileパラメータは、プロジェクトにある地図データを参照しています。property_keyパラメータにて元のデータと領域を紐付ける際に利用する項目名を指し示しています。

fileプロパティの代わりにurlパラメータを利用してtopoJsonがホスティングされているURLを指定して利用することも可能です。

Mapレイヤーとデータの関連付け

最後に行っているのは、viewのdimensionと新しく作成したMapレイヤーを関連付けるだけです。

  dimension: city {
    label: "市区町村"
    type: string
    map_layer_name: tokyo_map
    sql: ${TABLE}.CIty ;;
  }

地図表示

上記のように定義したLookMLを利用したExploreで世帯数を表示すると以下のようになります。
Screen Shot 2019-04-10 at 14.56.45.png

なお、上記はUser AttributeでLocale (beta)ja_JPに変更しているため地図中の市区町村などの表記が日本語名に変更されています。ヘルプのロケールへのユーザーの割り当てに記載があります。

ご参考になりますと幸いです。以降もTipsをお届けしたいと思います。

11
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5