Créer des régions de carte personnalisées

Remarque : Dans Looker 22.14, la prise en charge des fichiers GeoJSON a été ajoutée au paramètre map_layer.

Looker inclut plusieurs calques de carte intégrés, mais vous pouvez également définir des régions de carte personnalisées pour afficher des données géographiques. Supposons que vous disposez d'un tableau des âges moyens pour trois quartiers, comme suit:

Quartier des clients Âge moyen du client
centre-ville 19,5292
eastside 54,4626
westside 34,9534

Vous pouvez mapper Quartier de clients à une zone géographique spécifique. afin de pouvoir le visualiser sur une carte. Pour ce faire, suivez les étapes décrites sur cette page.

Préparer les données de région

Pour préparer les données de région, vous avez besoin d'un fichier de données contenant les formes géographiques de chaque région, ainsi que des métadonnées qui associent la région aux données de la base de données.

Looker utilise un format appelé TopoJSON pour stocker ces données de manière compacte. Vous pouvez facilement créer des fichiers TopoJSON à partir de nombreux fichiers de formes courants. Vous pouvez aussi en dessiner un vous-même à l'aide d'outils en ligne, Post destiné à la communauté concernant la conversion de fichiers de formes en fichiers de forme TopoJSON.

Pour les besoins de cet exemple, un fichier TopoJSON fournissant ce mappage serait déjà préparé. Chaque région du fichier TopoJSON possède une propriété appelée neighborhood qui correspond aux valeurs du Champ Customer Neighborhood, défini dans le projet LookML en tant que dimension appelée neighborhood.

Importer des données sur les régions

Pour importer les données régionales dans Looker, vous pouvez faire glisser le fichier TopoJSON dans la section File Browser (Navigateur de fichiers) du projet. Ces données seront validées avec le code LookML et mises à jour comme n'importe quel autre code dans un projet LookML.

Créer le calque de carte

Maintenant que vous disposez des données de région dans le projet, vous devez créer un calque de carte dans le modèle LookML.

Vous pouvez ajouter une définition dans le fichier de modèle à l'aide du paramètre map_layer:

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

Le paramètre file fait référence au nom du fichier du projet contenant les données de région, et property_key est la propriété de l'ensemble de données que vous souhaitez exposer dans Looker. Si vous ne savez pas quelle est la clé, omettez-la simplement. Looker tentera de sélectionner la clé appropriée.

Conseil:Vous pouvez également utiliser un fichier TopoJSON hébergé ailleurs en ligne, en spécifiant url au lieu de file dans la définition du calque:

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

Associer le calque de carte à des données

Il ne vous reste plus qu'à associer la dimension neighborhood dans la vue au calque de carte que vous venez de créer en appliquant le paramètre map_layer_name.

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

Cela indique à Looker que les valeurs de cette dimension sont associées à l'property_key exposée par le calque de carte. Il indique également à Looker qu'il est possible d'afficher ces données sur une carte.

Afficher la carte

Les requêtes qui utilisent la dimension neighborhood peuvent désormais être affichées sur une carte à partir de la page "Explorer" :