map_layer

用途

map_layer: company_regions {
  feature_key: "ISO_A3"
  file: "/map_folder/regions.json"
  format: topojson
  label: "desired label for chart visualization"
  max_zoom_level: 12
  min_zoom_level: 2
  projection: airy
  property_key: "ISO_A3"
  property_label_key: "NAME"
}
階層
map_layer
デフォルト値
なし

許可
地図レイヤの識別子と、地図レイヤのプロパティを定義するサブパラメータ。

定義

map_layer パラメータを使用すると、カスタム マップレイヤを定義して、Looker で郡や郵便番号などの地域データをプロットし、地図グラフを作成できます。

地図レイヤが存在する場合、通常はインタラクティブな地図の可視化がデフォルトの地図の可視化として選択されます。ただし、米国の州の地図では、アラスカとハワイにインセットを使用するため、Looker はデフォルトで静的地図(地域)グラフを使用します。

マップレイヤでは、TopoJSON ファイルまたは GeoJSON ファイルを使用できます。

カスタム マップ レイヤー ファイルの作成について詳しくは、カスタム マップ リージョンの作成のベスト プラクティス ページをご覧ください。

ユーザーのブラウザタブに負荷がかからないように、カスタム地図レイヤ ファイルのサイズは 5 MB 未満にすることをおすすめします。

組み込みマップレイヤ

Looker には、いくつかの組み込みの地図レイヤが含まれています。独自の地図レイヤを作成する前に、組み込みの地図レイヤを使用できるかどうかを確認します。

countriesus_states の組み込み地図レイヤでは、国と州の名前に適切な大文字表記が使用されます。データは大文字と小文字を区別して地図レイヤにプロットされるため、これらの組み込み地図レイヤを使用するには、データでも大文字と小文字を適切に使用する必要があります。たとえば、データセットで小文字の「new delhi」が使用されている場合、組み込みの地図レイヤでは「New Delhi」が使用されているため、データは正しくプロットされません。

  • countries - 国名、ISO 3166-1 alpha-3 の 3 文字の国コード、ISO 3166-1 alpha-2 の 2 文字の国コードを受け入れます。データセットで使用できるのは、これらの 3 つのオプションのうち 1 つのみです。これらのオプションを組み合わせて使用することはできません。

    データで ISO 3166-1 alpha-2 を使用している場合、Looker でデータが国コードとして認識され、誤って州コードとして解釈されないようにするには、国ディメンションの定義に map_layer_name パラメータを含めます。次に例を示します。

  dimension: country {
      type: string
      map_layer_name: countries
      sql: ${TABLE}.country ;;
  }
  • uk_postcode_areas - 英国の郵便番号地域(リバプールの場合は L、レッドヒルの場合は RH、エディンバラの場合は EH など)を受け入れます。

  • us_states - 州のフルネームと 2 文字の州の略称を受け入れます。

  • us_counties_fips - 米国の郡の 5 文字の FIPS 郡コードである文字列フィールドで動作します。このレイヤはインタラクティブ マップでのみ機能します。

  • us_zipcode_tabulation_areas - 5 文字の米国の郵便番号である文字列フィールドで機能します。type: zipcode のディメンションでは、us_zipcode_tabulation_areas 地図レイヤが自動的に使用されます。

    郵便番号領域は 2010 年の郵便番号集計エリア(ZCTA)に基づいているため、この地図レイヤには、地域に直接マッピングされない郵便番号(私書箱に割り当てられた郵便番号など)は含まれていません。

地図レイヤを指定する

マップの場所は、ファイル名または URL を使用して指定できます。

GeoJSON ファイルを使用する場合は、file または url サブパラメータのいずれかを使用する必要があります。必要に応じて、property_keyproperty_label_key を使用することもできます。feature_key サブパラメータは GeoJSON ファイルではサポートされていません。GeoJSON マップレイヤを追加する一般的な構文は次のとおりです。

map_layer: identifier {
  file: "/file_path/file_name.geojson" # or use the url subparameter
  url: "string" # or use the file subparameter
  property_key: "string"
  property_label_key: "string"
}

TopoJSON マップレイヤを追加する一般的な構文は次のとおりです。

map_layer: identifier {
  extents_json_url: "string"
  feature_key: "string"
  file: "/file_path/file_name.json" # or use the url subparameter
  format: topojson | vector_tile_region
  label: "string"
  max_zoom_level: number
  min_zoom_level: number
  projection: airy  # or one of many other choices
  property_key: "string"
  property_label_key: "string"
  url: "string" # or use the file subparameter
}

ここで

パラメータ 説明
identifier 文字列 LookML で参照する地図の名前。
file 文字列 地図の場所。LookML プロジェクトの JSON ファイルの名前で指定します。ファイルは TopoJSON または GeoJSON 形式で、拡張子は .json.geojson.topojson のいずれかである必要があります。

JSON ファイルのフルパス(/maps/ ディレクトリ内のファイルの場合は "/maps/countryobjects.json" など)を使用する必要があります。JSON ファイルがルート ディレクトリにあり、フォルダにない場合は、次のように単一のスラッシュでルート ディレクトリを指定できます。"/countryobjects.json"

プロジェクトのフォルダが有効になっていない場合、Looker は LookML IDE のファイルリストの [データ] セクションに JSON ファイルを表示します。これらの各シナリオの LookML については、このページののセクションをご覧ください。
extents_json_url 文字列 マップレイヤーで使用可能な各領域の地理的範囲を定義した JSON ファイルの URL。このデータは、可視化のために地図を自動的に利用可能なデータの中央に配置するために使用されます。JSON ファイルは、キーが特徴のマッピング値(property_key で指定)で、値が地域の西経、南緯、東経、北緯の範囲を表す 4 つの数値の配列である JSON オブジェクトである必要があります。オブジェクトには、property_key の可能なすべての値のキーが含まれている必要があります。例: extents_json_url: "https://mycompany.com/mapserver/json-extent.js"。このパラメータを使用する場合は、url パラメータを使用して地図の場所を指定する必要があります。
feature_key 文字列 マップレイヤーが参照する TopoJSON オブジェクトの名前。指定しない場合は、最初のオブジェクトが使用されます。
format キーワード

topojson または vector_tile_region
領域情報のデータ形式。通常は topojson を使用します。
label 文字列 グラフ構成 UI に表示されます。
max_zoom_level 数値 ズームをサポートする可視化のマップレイヤにおけるズーム操作の最大ズームレベル。
min_zoom_level 数値 ズームをサポートする可視化の、マップレイヤーにおけるズーム操作の最小ズームレベル。
projection キーワード 複数の地理投影をサポートする可視化で表示される場合の、マップレイヤの優先地理投影。LookML エディタでは、プロジェクション パラメータを追加すると、使用可能な多くのプロジェクションが一覧表示されます。
property_key 文字列 プロットする TopoJSON データのプロパティ。TopoJSON は、各リージョンの任意のメタデータをサポートしています。デフォルトでは、最初に一致したプロパティが使用されます。プロットする特定のメタデータ プロパティがある場合は、ここで指定します。
property_label_key 文字列 領域のラベルに使用する TopoJSON データのプロパティ。これは、マッピング値(property_key で定義)が人間にとって読みにくい場合に便利です。
url 文字列 地図の場所。地図ファイルを含む URL で指定します。

可能な場合は、マップファイルをプロジェクトに追加してから、file パラメータを使用してマップファイルを指定します。

JSON ファイルのフルパスを使用する必要があります。プロジェクトのフォルダが有効になっていない場合は、JSON ファイルは LookML IDE のファイルリストの [データ] セクションに表示されます。

たとえば、プロジェクトでフォルダが有効になっていて、maps というディレクトリに my_neighborhoods.json という近隣地域のカスタムマップがある場合は、次のようにフルパスを使用します。

map_layer: neighborhoods {
  file: "/maps/my_neighborhoods.json"
}

プロジェクトでフォルダを使用していない場合、アップロードされたマップファイルはプロジェクトの [データ] セクションに表示されます。この場合は、my_neighborhoods.json ファイルの名前を指定するだけで済みます。

map_layer: neighborhoods {
  file: "my_neighborhoods.json"
}

または、カスタム neighborhoods マップが https://wherever.com/my_neighborhoods.json などの別の場所でホストされていることを指定することもできます。

map_layer: neighborhoods {
  url: "https://wherever.com/my_neighborhoods.json"
}

マップレイヤを定義したら(ファイルを指定するか url パラメータを使用)、ディメンションの値をカスタムマップ上の地域に関連付けるように指定できます。ディメンションで、map_layer_name パラメータを使用して、map_layer パラメータで使用した名前を指定します。

dimension: neighborhood {
  type: string
  map_layer_name: neighborhoods    # this is your map layer
  sql: ${TABLE}.neighborhood_code
}

このディメンションをクエリしてビジュアリゼーション セクションを開くと、Looker はモデルファイルの map_layer パラメータで定義されている neighborhoods JSON ファイルを使用してデータをグラフ化します。

知っておくべきこと

静的マップ(リージョン)グラフ

静的地図(地域)グラフで [地図] を [自動] に設定するには、地図レイヤを指定する LookML モデルで map_layer が指定されている必要があります。このパラメータが設定されていない場合、ユーザーが [自動] を選択するとエラーが表示されますが、Looker の組み込みマップは引き続き使用できます。

GeoJSON ファイル

TopoJSON ファイルと同様に、GeoJSON ファイルでは .geojson または .json のいずれかのファイル名拡張子を使用できますが、GeoJSON 形式の地理データを含んでいる必要があります。GeoJSON ファイルを使用する場合は、file または url サブパラメータのいずれかを使用する必要があります。必要に応じて、property_keyproperty_label_key を使用することもできます。

IDE フォルダでの map_layer の使用

プロジェクトで IDE フォルダが有効になっている場合は、map_layer のプロジェクト ファイルを指定するときにパスを使用する必要があります。

map_layer: neighborhoods {
  file: "/maps/my_neighborhoods.json"
}