map_layer

Nutzung

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"
}
Hierarchie
map_layer
Standardwert
Keine

Akzeptiert
Eine Kennung für Ihre Kartenebene sowie untergeordnete Parameter, die die Eigenschaften Ihrer Kartenebene definieren.

Definition

Mit dem Parameter map_layer können Sie eine benutzerdefinierte Kartenebene definieren, mit der sich regionale Daten wie Landkreise oder Postleitzahlen in Looker darstellen und Kartencharts erstellen lassen.

Wenn eine Kartenebene vorhanden ist, wird in der Regel die interaktive Kartendarstellung als Standardkartendarstellung ausgewählt. Die einzige Ausnahme ist die Karte der US-Bundesstaaten. Hier wird standardmäßig das Diagramm „Statische Kartenregion“ verwendet, da es Insets für Alaska und Hawaii enthält.

Für Kartenebenen können TopoJSON- oder GeoJSON-Dateien verwendet werden.

Weitere Informationen zum Erstellen einer benutzerdefinierten Kartenlayer-Datei finden Sie auf der Seite Benutzerdefinierte Kartenregionen erstellen.

Looker empfiehlt, benutzerdefinierte Dateien für Kartenlayer kleiner als 5 MB zu halten, um den Browser-Tab des Nutzers nicht zu überlasten.

Integrierte Kartenebenen

Looker enthält mehrere integrierte Kartenebenen. Bevor Sie eigene Kartenlayer erstellen, sollten Sie prüfen, ob Sie einen der integrierten Kartenlayer verwenden können:

Bei den integrierten Kartenlayern countries und us_states wird die richtige Groß- und Kleinschreibung für die Namen von Ländern und Bundesstaaten verwendet. Daten werden in der Karten-Ebene unter Berücksichtigung der Groß- und Kleinschreibung dargestellt. Daher muss auch in Ihren Daten die richtige Groß- und Kleinschreibung verwendet werden, damit diese integrierten Karten-Ebenen genutzt werden können. Wenn in Ihrem Dataset beispielsweise „new delhi“ in Kleinbuchstaben verwendet wird, werden die Daten nicht korrekt auf den integrierten Kartenebenen dargestellt, auf denen „New Delhi“ verwendet wird.

  • countries: Akzeptiert vollständige Ländernamen, ISO 3166-1 Alpha-3-Ländercodes aus drei Buchstaben oder ISO 3166-1 Alpha-2-Ländercodes aus zwei Buchstaben. Sie dürfen nur eine dieser drei Optionen in Ihrem Datensatz verwenden. Eine Kombination ist nicht möglich.

    Wenn in Ihren Daten ISO 3166-1 alpha-2 verwendet wird, fügen Sie den Parameter map_layer_name in die Definition für Ihre Dimension „Land“ ein. So wird sichergestellt, dass Looker Ihre Daten als Ländercodes erkennt und nicht fälschlicherweise als Bundesstaatscodes interpretiert. Beispiel:

  dimension: country {
      type: string
      map_layer_name: countries
      sql: ${TABLE}.country ;;
  }
  • uk_postcode_areas: Akzeptiert Postleitzahlengebiete im Vereinigten Königreich (z. B. L für Liverpool, RH für Redhill oder EH für Edinburgh).

  • us_states: Akzeptiert vollständige Namen von Bundesstaaten und aus zwei Buchstaben bestehende Abkürzungen von Bundesstaaten.

  • us_counties_fips: Funktioniert mit Stringfeldern, die fünfstellige FIPS-Landkreiscodes für einen US-Landkreis enthalten. Diese Ebene funktioniert nur auf der interaktiven Karte.

  • us_zipcode_tabulation_areas: Funktioniert bei Stringfeldern, die fünfstellige US-Postleitzahlen enthalten. Für Dimensionen von type: zipcode wird automatisch die Kartenebene us_zipcode_tabulation_areas verwendet.

    Postleitzahlbereiche basieren auf den ZCTAs (Zip Code Tabulation Areas) von 2010. Diese Karte enthält daher nicht viele Postleitzahlen, z. B. die für Postfächer, die nicht direkt Regionen zugeordnet sind.

Kartenebene angeben

Der Speicherort der Karte kann entweder über den Namen einer Datei oder über eine URL angegeben werden.

Wenn Sie eine GeoJSON-Datei verwenden, müssen Sie entweder den Unterparameter file oder url verwenden. Sie können auch optional property_key und property_label_key verwenden. Der Unterparameter feature_key wird für GeoJSON-Dateien nicht unterstützt. Die allgemeine Syntax zum Hinzufügen einer GeoJSON-Kartenebene lautet:

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"
}

Die allgemeine Syntax zum Hinzufügen einer TopoJSON-Kartenebene lautet:

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
}

Wobei:

Parameter Typ Beschreibung
identifier String Name der Karte, wie Sie in LookML darauf verweisen.
file String Speicherort der Karte, angegeben durch den Namen einer JSON-Datei aus Ihrem LookML-Projekt. Die Datei muss im TopoJSON- oder GeoJSON-Format vorliegen und eine der folgenden Erweiterungen haben: .json, .geojson oder .topojson.

Sie müssen den vollständigen Pfad für die JSON-Datei verwenden, z. B. "/maps/countryobjects.json" für eine Datei im Verzeichnis /maps/. Wenn sich die JSON-Datei im Stammverzeichnis und nicht in einem Ordner befindet, können Sie das Stammverzeichnis mit einem einzelnen Schrägstrich angeben, z. B. so: "/countryobjects.json"

Wenn Ihr Projekt nicht für Ordner aktiviert ist, werden JSON-Dateien in Looker im Abschnitt „Daten“ der Dateiliste der LookML IDE angezeigt. Im Abschnitt Beispiele weiter unten auf dieser Seite finden Sie den LookML-Code für jedes dieser Szenarien.
extents_json_url String Die URL zu einer JSON-Datei, in der die geografischen Ausdehnungen der einzelnen Regionen definiert sind, die in der Kartenebene verfügbar sind. Diese Daten werden verwendet, um die Karte automatisch auf die verfügbaren Daten zu zentrieren. Die JSON-Datei muss ein JSON-Objekt sein, bei dem die Schlüssel die Zuordnungswerte des Features (wie durch property_key angegeben) und die Werte Arrays mit vier Zahlen sind, die die westliche Längengrad-, südliche Breitengrad-, östliche Längengrad- und nördliche Breitengrad-Ausdehnung der Region darstellen. Das Objekt muss einen Schlüssel für jeden möglichen Wert von property_key enthalten. Beispiel: extents_json_url: "https://mycompany.com/mapserver/json-extent.js" Wenn Sie diesen Parameter verwenden, müssen Sie den Kartenstandort mit dem Parameter url angeben.
feature_key String Name des TopoJSON-Objekts, auf das sich die Kartenebene bezieht. Wenn nichts angegeben ist, wird das erste Objekt verwendet.
format Keyword

topojson oder vector_tile_region
Datenformat der Regionsinformationen. Normalerweise verwenden Nutzer topojson.
label String Wird in der Benutzeroberfläche für die Diagrammkonfiguration angezeigt.
max_zoom_level Zahl Maximale Zoomstufe zum Vergrößern der Kartebene für Visualisierungen, die das Zoomen unterstützen.
min_zoom_level Zahl Minimale Zoomstufe zum Heranzoomen der Kartebene für Visualisierungen, die das Zoomen unterstützen.
projection Keyword Bevorzugte geografische Projektion der Kartebene, wenn sie in einer Visualisierung angezeigt wird, die mehrere geografische Projektionen unterstützt. Im LookML-Editor werden die vielen verfügbaren Projektionen aufgelistet, wenn Sie einen Projektionsparameter hinzufügen.
property_key String Attribut aus den TopoJSON-Daten, das für die Darstellung verwendet werden soll. TopoJSON unterstützt beliebige Metadaten für jede Region. Standardmäßig wird die erste übereinstimmende Property verwendet. Wenn Sie eine bestimmte Metadateneigenschaft darstellen möchten, geben Sie sie hier an.
property_label_key String Attribut aus den TopoJSON-Daten, das zum Beschriften der Region verwendet werden soll. Das ist nützlich, wenn der Zuordnungswert (definiert durch property_key) nicht sehr gut lesbar ist.
url String Speicherort der Karte, angegeben durch eine URL, die Ihre Kartendatei enthält.

Beispiele

Fügen Sie die Kartendatei nach Möglichkeit Ihrem Projekt hinzu und verwenden Sie dann den Parameter file, um auf die Kartendatei zu verweisen.

Sie müssen den vollständigen Pfad für die JSON-Datei verwenden. Wenn Ihr Projekt nicht für Ordner aktiviert ist, werden JSON-Dateien in Looker im Abschnitt „Daten“ der Dateiliste der LookML IDE angezeigt.

Wenn für Ihr Projekt beispielsweise Ordner aktiviert sind und Sie eine benutzerdefinierte Karte mit Stadtteilen mit dem Namen my_neighborhoods.json in einem Verzeichnis mit dem Namen maps haben, verwenden Sie den vollständigen Pfad so:

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

Wenn in Ihrem Projekt keine Ordner verwendet werden, werden hochgeladene Kartendateien im Bereich Daten des Projekts angezeigt. In diesem Fall können Sie einfach den Namen der Datei my_neighborhoods.json angeben:

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

Alternativ können Sie angeben, dass eine benutzerdefinierte neighborhoods-Karte an einem anderen Ort gehostet wird, z. B. unter https://wherever.com/my_neighborhoods.json:

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

Nachdem die Kartenebene definiert wurde (durch Angabe einer Datei oder Verwendung des Parameters url), können Sie festlegen, dass die Werte einer Dimension einer geografischen Region auf Ihrer benutzerdefinierten Karte zugeordnet werden sollen. Verwenden Sie in der Dimension den Parameter map_layer_name, um den Namen anzugeben, den Sie im Parameter map_layer verwendet haben.

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

Wenn Sie diese Dimension abfragen und den Visualisierungsbereich öffnen, werden die Daten in Looker anhand der JSON-Datei neighborhoods dargestellt, wie im Parameter map_layer in Ihrer Modelldatei definiert.

Wichtige Punkte

Diagramme für statische Karten (Regionen)

Wenn Sie in Diagrammen für statische Karten (Regionen) die Option Karte auf Automatisch festlegen, muss im LookML-Modell, in dem eine Kartenebene angegeben wird, map_layer definiert sein. Wenn dieser Parameter nicht festgelegt ist, erhalten Nutzer eine Fehlermeldung, wenn sie Automatisch auswählen. Sie können aber weiterhin die integrierten Karten von Looker verwenden.

GeoJSON-Dateien

Ähnlich wie bei TopoJSON-Dateien kann für GeoJSON-Dateien entweder die Dateinamenerweiterung .geojson oder .json verwendet werden. Sie müssen jedoch geografische Daten im GeoJSON-Format enthalten. Wenn Sie eine GeoJSON-Datei verwenden, müssen Sie entweder den Unterparameter file oder url verwenden. Optional können Sie auch property_key und property_label_key verwenden.

map_layer mit IDE-Ordnern verwenden

Wenn Sie IDE-Ordner für Ihr Projekt aktiviert haben, müssen Sie den Pfad verwenden, wenn Sie eine Projektdatei für map_layer angeben:

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