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 Unterparameter, die die Eigenschaften der Kartenebene definieren.

Definition

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

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, bei der Looker standardmäßig das Diagramm „Statische Kartenregion“ verwendet, da es Insets für Alaska und Hawaii verwendet.

Kartenebenen können TopoJSON- oder GeoJSON-Dateien akzeptieren.

Weitere Informationen zum Erstellen einer benutzerdefinierten Kartenebenendatei finden Sie auf der Seite Best Practices für das Erstellen benutzerdefinierter Kartenregionen.

Looker empfiehlt, benutzerdefinierte Kartenebenendateien kleiner als 5 MB zu halten, um den Browsertab des Nutzers nicht zu überlasten.

Integrierte Kartenebenen

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

Bei den integrierten Kartenebenen countries und us_states wird die korrekte Groß- und Kleinschreibung für die Namen von Ländern und Bundesstaaten verwendet. Daten werden auf der Kartenebene unter Berücksichtigung der Groß- und Kleinschreibung dargestellt. Daher muss auch in Ihren Daten die korrekte Groß- und Kleinschreibung verwendet werden, damit diese integrierten Kartenebenen verwendet 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.

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

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

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

  • us_zipcode_tabulation_areas : Funktioniert mit Stringfeldern, die aus fünf Zeichen bestehende US-Postleitzahlen enthalten. Für Dimensionen vom Typ type: zipcode wird automatisch die Kartenebene us_zipcode_tabulation_areas verwendet.

    Postleitzahlgebiete basieren auf den Postleitzahlgebieten von 2010 (Zip Code Tabulation Areas, ZCTAs). Daher enthält diese Kartenebene viele Postleitzahlen nicht, z. B. Postleitzahlen, die Postfächern zugewiesen sind und nicht direkt Regionen zugeordnet werden können.

Kartenebene angeben

Der Standort der Karte kann entweder mit dem Namen einer Datei oder mit einer URL angegeben werden.

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. Der Unterparameter feature_key wird für GeoJSON-Dateien nicht unterstützt. Die allgemeine Syntax zum Hinzufügen einer GeoJSON-Kartenebene ist:

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 ist:

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 Standort 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 verwenden: .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. "/countryobjects.json"

Wenn für Ihr Projekt keine Ordner aktiviert sind, werden JSON-Dateien in Looker im Bereich 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, die die geografischen Ausdehnungen jeder in der Kartenebene verfügbaren Region definiert. 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änge, die südliche Breite, die östliche Länge und die nördliche Breite 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 Standort der Karte mit dem Parameter url angeben.
feature_key String Name des TopoJSON-Objekts, auf das die Kartenebene verweist. Wenn nicht angegeben, wird das erste Objekt verwendet.
format Keyword

topojson oder vector_tile_region
Datenformat der Regionsinformationen. In der Regel wird topojson verwendet.
label String Wird in der Benutzeroberfläche für die Diagrammkonfiguration angezeigt.
max_zoom_level Zahl Maximale Zoomstufe zum Vergrößern der Kartenebene für Visualisierungen, die das Zoomen unterstützen.
min_zoom_level Zahl Minimale Zoomstufe zum Vergrößern der Kartenebene für Visualisierungen, die das Zoomen unterstützen.
projection Keyword Bevorzugte geografische Projektion der Kartenebene, 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 das erste übereinstimmende Attribut verwendet. Wenn Sie ein bestimmtes Metadatenattribut verwenden möchten, geben Sie es hier an.
property_label_key String Attribut aus den TopoJSON-Daten, das zum Beschriften der Region verwendet werden soll. Dies ist nützlich, wenn der Zuordnungswert (definiert durch property_key) nicht sehr gut lesbar ist.
url String Standort der Karte, angegeben durch eine URL, die Ihre Kartendatei enthält.

Beispiele

Fügen Sie Ihre Kartendatei nach Möglichkeit in Ihr Projekt ein und verweisen Sie dann mit dem file Parameter auf die Kartendatei.

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

Wenn für Ihr Projekt beispielsweise Ordner aktiviert sind und Sie eine benutzerdefinierte Karte von Stadtteilen mit dem Namen my_neighborhoods.json in einem Verzeichnis namens 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 angeben, dass die Werte einer Dimension einer geografischen Region auf Ihrer benutzerdefinierten Karte zugeordnet werden sollen. Geben Sie in der Dimension mit dem map_layer_name Parameter den Namen an, den Sie im map_layer Parameter 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 mit 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) Karte auf Automatisch setzen, muss map_layer im LookML-Modell angegeben sein, das eine Kartenebene definiert. Wenn dieser Parameter nicht festgelegt ist, wird Nutzern ein Fehler angezeigt, wenn sie Automatisch auswählen. Sie können aber weiterhin die integrierten Karten von Looker verwenden.

GeoJSON-Dateien

Ähnlich wie bei TopoJSON-Dateien kann bei GeoJSON-Dateien entweder die Dateinamenerweiterung .geojson oder .json verwendet werden. Sie müssen aber 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 für Ihr Projekt IDE-Ordner aktiviert sind, müssen Sie den Pfad verwenden, wenn Sie eine Projektdatei für map_layer angeben:

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