Creazione di regioni mappa personalizzate

Nota: in Looker 22.14 è stato aggiunto il supporto per i file GeoJSON al parametro map_layer.

Looker include diversi livelli della mappa integrati, ma puoi anche definire regioni della mappa personalizzate per visualizzare i dati geografici. Supponiamo di avere una tabella delle età medie per tre quartieri, come segue:

Quartiere dei clienti Età media dei clienti
centro 19,5292
est 54,4626
westside 34.9534

Ti consigliamo di mappare Quartiere dei clienti a una determinata regione geografica, in modo che possa essere visualizzata su una mappa. Per farlo, segui i passaggi descritti in questa pagina.

Prepara i dati delle regioni

Per preparare i dati delle regioni, devi avere un file di dati contenente le forme geografiche di ogni regione, nonché i metadati che associano la regione ai dati nel database.

Looker utilizza un formato chiamato TopoJSON per archiviare questi dati in modo compatto. I file TopoJSON possono essere creati facilmente da molti formati comuni di shapefile oppure puoi disegnarne uno con gli strumenti online, come descritto nel post della community Conversione di shapefile in TopoJSON.

Ai fini di questo esempio, è già stato preparato un file TopoJSON che fornisce questa mappatura. Ogni regione nel file TopoJSON ha una proprietà denominata neighborhood che corrisponde ai valori del campo Quartiere dei clienti, definito nel progetto LookML come dimensione denominata neighborhood.

Carica i dati delle regioni

Per importare i dati delle regioni in Looker, puoi trascinare il file TopoJSON nella sezione File Browser del progetto. Questi dati verranno sottoposti a commit insieme al codice LookML e aggiornati come qualsiasi altro codice in un progetto LookML.

Crea il livello della mappa

Ora che hai i dati delle regioni nel progetto, devi creare un livello della mappa nel modello LookML.

Puoi aggiungere una definizione nel file del modello utilizzando il parametro map_layer:

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

Il parametro file fa riferimento al nome del file nel progetto che contiene i dati della regione e property_key è la proprietà del set di dati che vuoi esporre in Looker. Se non sai con certezza quale sia la chiave, ometti la chiave della proprietà e Looker tenterà di selezionarne una appropriata.

Suggerimento: puoi anche utilizzare un file TopoJSON ospitato altrove online, specificando url anziché file nella definizione del livello:

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

Associare il livello della mappa ai dati

Non resta che associare la dimensione neighborhood nella visualizzazione al livello della mappa appena creato applicando il parametro map_layer_name.

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

Questo indica a Looker che i valori di questa dimensione sono associati all'property_key esposto dal livello della mappa. Inoltre, comunica a Looker che è possibile visualizzare questi dati su una mappa.

Visualizzazione della mappa

Le query che utilizzano la dimensione neighborhood ora possono essere visualizzate su una mappa dalla pagina Esplora: