Lookerで地図上にデータを可視化する方法として、一番手軽なのは、topoJSONファイルを用意して可視化をする方法になります。ただし、topoJSON形式で表示する地図データは粒度が細かくなるほど、ファイルサイズが大きくなってしまうため、市区町村単位や、250m、500mメッシュという細かい粒度で表現するには向いていません。上記の場合は、タイルを利用した大規模カスタム・マップ・レイヤー を参照ください。
とはいえ、一部の地域に限定する形でも構わないので、タイルを利用せずにメッシュ表示を行うための方法をご紹介します。(なお、当記事で記載しているリンク先は執筆現在の情報ですので、変更があった場合は、コメントなどで教えていただけますと幸いです。また、LookMLの書き方以外の部分については、弊社サポートチームではご対応致しかねますので、本記事に関してのご質問はコメントにてお願いいたします)
今回は、東京都の中央区・千代田区・港区・新宿区の事業所数を500mメッシュで表示してみようと思います。実現するためには、以下の手順が必要となります。
なお、今回は、メッシュコードを利用して表示しています。メッシュコード については、e-Statのホームページに定義が記載されています次に、ダウンロードしたファイルを分割するのですが、今回はnpmパッケージであるgeojsplitというツールを利用して分割を行います。(nodeがインストールされている前提となります)
以下のコマンドを実行して、geojsplitをインストールします
$ npm -g install geojsplit
次にgeoJsonファイルには、メッシュコード が記載されているのですが、2次メッシュ(MESH2_ID)をキーにファイルを分割します。-oパラメータで出力先フォルダを指定、-kパラメータで分割するキーワードを指定しています。
$ ./node_modules/geojsplit/bin/geojsplit -k MESH2_ID -o jsons path/to/geoJSON
jsonsフォルダ配下に分割されたファイルが格納されています。
こちらの統計局ホームページに、各都道府県の市区町村単位でのメッシュコード の一覧が配布されていますが、今回の対象となる区は2次メッシュコード が35, 36, 45, 46になるため、以下のファイルが対象となります。
$ merge-layers target=46_xaaaa,45_xaaaa,35_xaaaa,36_xaaaa name=merged
4つのgeoJsonがマージされて一つのlayerになりますので、 Export
をクリックして、topoJSON形式を選択して、ダウンロードします。
次にmodelファイルにて、map_layer
の定義を行います。
map_layer: tokyo_mesh4 {
file: "/map/output.json"
property_key: "KEY_CODE"
format: topojson
}
次に取り込んだテーブルの view
定義を行います。
dimension: key_code {
label: "4次メッシュコード"
type: number
sql: ${TABLE}.KEY_CODE ;;
map_layer_name: tokyo_mesh4
}
dimension: t000842001 {
label: "全産業事業所数"
type: number
hidden: yes
sql: ${TABLE}.T000842001 ;;
}
dimension: t000842002 {
label: "全産業従業者数"
type: number
hidden: yes
sql: ${TABLE}.T000842002 ;;
}
measure: total_office_count {
label: "全産業事業所数"
type: sum
sql: ${t000842001} ;;
}
measure: total_employee_count {
label: "全産業従業者数"
type: sum
sql: ${t000842002} ;;
}
作成したViewをExploreとして定義すると以下の様に4次メッシュで地図上に表示されているかと思います。
地図表現として市区町村別でカスタムマップを登録したいのですが、
参考記事のリンクが切れているようです。
ファイル容量の大きいカスタムマップの登録手順について、
記事や資料などはありますでしょうか。
>市区町村単位や、250m、500mメッシュという細かい粒度で表現するには向いていません。
>上記の場合は、タイルを利用した大規模カスタム・マップ・レイヤー を参照ください。
大変失礼しました!上記「タイルを利用した大規模カスタム・マップ・レイヤー」のリンク修正しましたのでご参照ください。