Observação:no Looker 22.14, o suporte a arquivos GeoJSON foi adicionado ao parâmetro map_layer
.
O Looker inclui várias camadas de mapa integradas, mas você também pode definir regiões de mapa personalizadas para mostrar dados geográficos. Suponha que você tenha uma tabela com a idade média de três bairros, conforme abaixo:
Vizinhança do cliente | Idade média do cliente |
---|---|
centro da cidade | 19,5292 |
leste | 54.4626 |
oeste | 34.9534 |
Você pode mapear o bairro do cliente para uma região geográfica específica, para que possa ser visualizado em um mapa. Para fazer isso, siga as etapas descritas nesta página.
Preparar dados de região
Para preparar os dados da região, você precisa de um arquivo de dados que contenha as formas geográficas de cada região e também metadados que associem a região aos dados no banco de dados.
O Looker usa um formato chamado TopoJSON para armazenar esses dados de maneira compacta. Os arquivos TopoJSON podem ser criados facilmente a partir de muitos formatos de shapefile comuns ou desenhados com ferramentas on-line, conforme detalhado na postagem da comunidade Converter shapefiles em TopoJSON.
Para fins deste exemplo, já haveria um arquivo TopoJSON preparado que fornece esse mapeamento. Cada região no arquivo TopoJSON tem uma propriedade chamada neighborhood
que corresponde aos valores do campo Vizinhança do cliente, que é definido no projeto do LookML como uma dimensão chamada neighborhood
.
Fazer upload dos dados da região
Para importar os dados da região para o Looker, arraste e solte o arquivo TopoJSON na seção File Browser do projeto. Esses dados serão confirmados com o código do LookML e atualizados como qualquer outro código em um projeto do LookML.
Criar a camada do mapa
Agora que você tem os dados da região no projeto, é necessário criar uma camada de mapa no modelo do LookML.
É possível adicionar uma definição no arquivo de modelo usando o parâmetro map_layer
:
map_layer: my_neighborhood_layer { file: "neighborhoods.topojson" property_key: "neighborhood" }
O parâmetro file
faz referência ao nome do arquivo no projeto que contém os dados da região, e o property_key
é a propriedade do conjunto de dados que você quer expor no Looker. Se você não tiver certeza de qual é a chave, simplesmente omita a chave da propriedade. O Looker vai tentar selecionar a chave adequada.
Dica:também é possível usar um arquivo TopoJSON hospedado em outro lugar on-line, especificandourl
em vez defile
na definição da camada:
map_layer: my_neighborhood_layer { url: "https://raw.githubusercontent.com/cooluser/JSON_Stuff/master/Neighborhoods.topoJSON" property_key: "neighborhood" }
Associar a camada do mapa a dados
Agora, basta associar a dimensão neighborhood
na visualização à camada de mapa recém-criada aplicando o parâmetro map_layer_name
.
dimension: neighborhood { sql: ${TABLE}.neighborhood ;; map_layer_name: my_neighborhood_layer }
Isso informa ao Looker que os valores dessa dimensão estão associados ao property_key
exposto pela camada do mapa. Ele também informa ao Looker que é possível exibir esses dados em um mapa.
Como consultar o mapa
As consultas que usam a dimensão neighborhood
agora podem ser mostradas em um mapa na página "Explorar":