Crea regiones de mapa personalizadas

Nota: En Looker 22.14, se agregó compatibilidad con archivos GeoJSON al parámetro map_layer.

Looker incluye varias capas de mapas integradas, pero también puedes definir regiones de mapas personalizadas para mostrar datos geográficos. Supongamos que tienes una tabla de edades promedio de tres barrios, como se muestra a continuación:

Barrio del cliente Edad promedio del cliente
centro 19.5292
este 54.4626
lado oeste 34.9534

Te recomendamos que asignes el atributo Customer Neighborhood a una región geográfica particular para que se pueda visualizar en un mapa. Para lograrlo, sigue la los pasos que se describen en esta página.

Prepara los datos de la región

Para preparar los datos de la región, necesitas un archivo de datos que contenga la ubicación formas de cada región y también contiene metadatos que la asocian con los datos en la base de datos.

Looker usa un formato llamado TopoJSON para almacenar estos datos de forma compacta. Los archivos TopoJSON pueden crearse fácilmente a partir de muchos archivos shapefile comunes o dibujar uno con herramientas en línea, como se detalla en el Publicación de Comunidad sobre cómo convertir archivos shapefile en TopoJSON

A los efectos de este ejemplo, ya habría un archivo TopoJSON preparado que proporcione esta asignación. Cada región del archivo TopoJSON tiene una propiedad llamada neighborhood que coincide con los valores de las El campo Vecindario del cliente, que se define en el proyecto de LookML como una dimensión llamada neighborhood.

Sube los datos de la región

Para importar los datos de la región a Looker, puedes arrastrar y soltar el archivo TopoJSON en la sección File Browser del proyecto. Estos datos se confirmarán junto con el código de LookML y se actualizarán como cualquier otro código en un proyecto de LookML.

Cómo crear la capa del mapa

Ahora que tienes los datos de la región en el proyecto, debes crear una capa de mapa en el modelo de LookML.

Puedes agregar una definición en el archivo de modelo con el parámetro map_layer:

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

El parámetro file hace referencia al nombre del archivo en el proyecto que contiene los datos de la región, y property_key es la propiedad del conjunto de datos que quieres exponer en Looker. Si no sabes cuál es la clave, simplemente omite la clave de propiedad y Looker intentará seleccionar la clave adecuada.

Sugerencia: También puedes usar un archivo TopoJSON alojado en otro lugar en línea. Para ello, especifica url en lugar de file en la definición de la capa:

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

Cómo asociar la capa del mapa con datos

Lo único que queda por hacer es asociar la dimensión neighborhood de la vista con la capa de mapa recién creada aplicando el parámetro map_layer_name.

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

Esto le indica a Looker que los valores de esta dimensión están asociados con el property_key que expone la capa del mapa. También le permite a Looker saber que es posible mostrar estos datos en un mapa.

Cómo ver el mapa

Las consultas que utilizan la dimensión neighborhood ahora se pueden mostrar en un mapa desde la página Explorar: