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 de idades médias de três bairros, como a seguir:
| Bairro do cliente | Idade média dos clientes |
|---|---|
| centro da cidade | 19,5292 |
| eastside | 54.4626 |
| westside | 34.9534 |
Talvez você queira mapear Bairro do cliente para uma região geográfica específica, para que ela possa ser visualizada 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 que contenha as formas geográficas de cada região e 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. É fácil criar arquivos TopoJSON em vários formatos comuns de shapefile. Também é possível desenhar um com ferramentas on-line, conforme detalhado na postagem da comunidade Como converter shapefiles em TopoJSON.
Para este 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 Bairro do cliente, definido no projeto do LookML como uma dimensão chamada neighborhood.
Fazer upload dos dados da região
Para importar os dados de região para o Looker, arraste e solte o arquivo TopoJSON na seção Navegador de arquivos 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 do mapa no modelo da LookML.
É possível adicionar uma definição no arquivo 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 property_key é a propriedade do conjunto de dados que você quer expor no Looker. Se você não souber qual é a chave, basta omitir a chave da propriedade, e o Looker vai tentar selecionar a chave adequada.
Dica:também é possível usar um arquivo TopoJSON hospedado em outro lugar on-line. Para isso, especifiqueurlem vez defilena 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
A única coisa que resta fazer é associar a dimensão neighborhood na visualização à camada do 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 mostrar esses dados em um mapa.
Visualizar o mapa
As consultas que usam a dimensão neighborhood agora podem ser mostradas em um mapa na página "Explorar":