カスタムマップ リージョンの作成

注: Looker 22.14 では、map_layer パラメータに GeoJSON ファイルのサポートが追加されました。

Looker には組み込みのマップレイヤがいくつか用意されていますが、カスタムマップ リージョンを定義して、地理データを表示することもできます。次の 3 つの地域の平均年齢のテーブルがあるとします。

お客様の地域 お客様の平均年齢
中心街 19.5292
東側 54.4626
西側 34.9534

お客様の地域を特定の地理的地域にマッピングして、地図上で可視化することもできます。これを行うには、このページで説明する手順に沿って操作してください。

リージョン データの準備

リージョン データを準備するには、各リージョンの地理的な形状が含まれたデータファイルと、リージョンをデータベース内のデータに関連付けるメタデータが必要です。

Looker では、TopoJSON という形式を使用してこのデータをコンパクトに保存します。TopoJSON ファイルは、一般的な多くのシェイプファイル形式から簡単に作成できます。また、コミュニティ投稿のシェイプファイルを TopoJSON に変換するで説明されているように、オンライン ツールを使用して自分で描画することもできます。

この例では、このマッピングを提供する TopoJSON ファイルがあらかじめ用意されています。TopoJSON ファイルの各リージョンには、Customer Neighborhood フィールドの値と一致する neighborhood というプロパティがあり、それは neighborhood というディメンションとして LookML プロジェクトに定義されています。

リージョン データをアップロードする

リージョン データを Looker にインポートするには、TopoJSON ファイルをプロジェクトの [File Browser] セクションにドラッグ&ドロップします。このデータは LookML コードと一緒に commit され、LookML プロジェクトの他のコードと同様に更新されます。

マップレイヤを作成する

リージョン データがプロジェクトに格納されたので、LookML モデルにマップレイヤを作成する必要があります。

モデルファイルには、map_layer パラメータを使用して定義を追加できます。

map_layer: my_neighborhood_layer {
  file: "neighborhoods.topojson"
  property_key: "neighborhood"
}

file パラメータはリージョン データを含むプロジェクト内のファイルの名前を参照し、property_key は Looker 内で公開するデータセットのプロパティです。キーがわからない場合は、プロパティキーを省略すると、Looker によって適切なキーの選択が試みられます。

ヒント: レイヤ定義で、file ではなく url を指定すると、オンラインの他の場所でホストされている TopoJSON ファイルを使用することもできます。

map_layer: my_neighborhood_layer {
  url: "https://raw.githubusercontent.com/cooluser/JSON_Stuff/master/Neighborhoods.topoJSON"
  property_key: "neighborhood"
}

マップレイヤをデータに関連付ける

残りの手順は、map_layer_name パラメータを適用して、ビュー内のディメンション neighborhood を新しく作成した地図レイヤに関連付けるだけです。

dimension: neighborhood {
  sql: ${TABLE}.neighborhood ;;
  map_layer_name: my_neighborhood_layer
}
  

これにより、このディメンションの値がマップレイヤによって公開される property_key に関連付けられていることを Looker に伝えます。また、地図上にこのデータを表示できることも Looker に知らせます。

地図の表示

以上で、neighborhood ディメンションを使用するクエリが、Explore ページから地図上に表示されるようになりました。