Crea regiones de mapas personalizadas

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

Looker incluye varias capas de mapa integradas, pero también puedes definir regiones de mapa personalizadas para mostrar datos geográficos. Supongamos que tienes una tabla de edades promedio de tres vecindarios, como la siguiente:

Barrio del cliente Edad promedio de los clientes
centro de la ciudad 19.5292
este 54.4626
oeste 34.9534

Te recomendamos que asignes el atributo Customer Neighborhood a una región geográfica en particular para que se pueda visualizar en un mapa. Para lograrlo, sigue 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 las formas geográficas de cada región y también metadatos que asocien la región con los datos de la base de datos.

Looker usa un formato llamado TopoJSON para almacenar estos datos de forma compacta. Los archivos TopoJSON se pueden crear fácilmente a partir de muchos formatos de archivo Shapefile comunes, o puedes dibujar uno por tu cuenta con herramientas en línea, como se detalla en la publicación de la comunidad Cómo convertir archivos Shapefile a 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 del campo Customer Neighborhood, que se define en el proyecto de LookML como una dimensión llamada neighborhood.

Sube datos de regiones

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.

Crea 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 deseas exponer en Looker. Si no sabes cuál es la clave, simplemente omite la clave de la 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"
}

Asocia la capa del mapa con datos

Lo único que queda por hacer es asociar la dimensión neighborhood en 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 indica a Looker que es posible mostrar estos datos en un mapa.

Cómo ver el mapa

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