用途
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 には、いくつかの組み込みの地図レイヤが含まれています。独自の地図レイヤを作成する前に、組み込みの地図レイヤを使用できるかどうかを確認します。
countriesとus_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_key と property_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_key と property_label_key を使用することもできます。
IDE フォルダでの map_layer の使用
プロジェクトで IDE フォルダが有効になっている場合は、map_layer のプロジェクト ファイルを指定するときにパスを使用する必要があります。
map_layer: neighborhoods {
file: "/maps/my_neighborhoods.json"
}