map_layer

Uso

map_layer: company_regions {
  feature_key: "ISO_A3"
  file: "/map_folder/regions.json"
  format: topojson
  label: "desired label for chart visualization"
  max_zoom_level: 12
  min_zoom_level: 2
  projection: airy
  property_key: "ISO_A3"
  property_label_key: "NAME"
}
Hierarquia
map_layer
Valor padrão
Nenhum

Aceita
Um identificador para a camada do mapa, além de subparâmetros que definem as propriedades dela.

Definição

O parâmetro map_layer permite definir uma camada do mapa personalizada que pode ser usada para plotar dados regionais, como condados ou CEPs, no Looker e criar gráficos de mapa.

Quando uma camada do mapa existe, a visualização de mapa interativo é escolhida como a visualização de mapa padrão. A única exceção é o mapa dos estados dos EUA, em que o Looker usa o gráfico "Região do mapa estático" por padrão, porque usa inserções para o Alasca e o Havaí.

As camadas de mapa podem aceitar arquivos TopoJSON ou GeoJSON.

Para mais informações sobre como criar um arquivo de camada do mapa personalizado, consulte a página Práticas recomendadas para criar regiões de mapa personalizadas.

O Looker recomenda que você mantenha os arquivos de camada do mapa personalizados com menos de 5 MB para evitar sobrecarregar a guia do navegador do usuário.

Camadas de mapa integradas

O Looker inclui várias camadas de mapa integradas. Antes de criar suas próprias camadas de mapa, verifique se é possível usar uma das camadas integradas:

As camadas de mapa integradas countries e us_states usam a capitalização adequada para os nomes de países e estados. Os dados são plotados na camada do mapa de maneira sensível a maiúsculas e minúsculas. Portanto, seus dados também precisam usar a capitalização adequada para usar essas camadas de mapa integradas. Por exemplo, se o conjunto de dados usar "new delhi" em letras minúsculas, os dados não serão plotados corretamente nas camadas de mapa integradas, que usam "New Delhi".

  • countries — Aceita nomes completos de países, ISO 3166-1 alfa-3 códigos de país de três letras ou ISO 3166-1 alfa-2 códigos de país de duas letras. Use apenas uma dessas três opções no conjunto de dados. Não é possível usar uma combinação delas.

    Se os dados usarem ISO 3166-1 alfa-2, inclua o map_layer_name parâmetro na definição da dimensão do país para garantir que o Looker reconheça os dados como códigos de país e não interprete incorretamente os dados como códigos de estado. Exemplo:

  dimension: country {
      type: string
      map_layer_name: countries
      sql: ${TABLE}.country ;;
  }
  • uk_postcode_areas — Aceita áreas de código postal do Reino Unido (por exemplo, L para Liverpool, RH para Redhill ou EH para Edimburgo).

  • us_states: aceita nomes completos de estados e abreviações de estados de duas letras.

  • us_counties_fips: funciona em campos de string que são códigos de condado FIPS de cinco caracteres para um condado dos EUA. Essa camada funciona apenas no mapa interativo.

  • us_zipcode_tabulation_areas: funciona em campos de string que são CEPs dos EUA de cinco caracteres. As dimensões de type: zipcode usam automaticamente a camada do mapa us_zipcode_tabulation_areas.

    As regiões de CEP são baseadas nas áreas de tabulação de CEP de 2010 (ZCTAs, na sigla em inglês). Portanto, essa camada do mapa não inclui muitos CEPs, como os atribuídos a caixas postais, que não são mapeados diretamente para regiões.

Como especificar uma camada do mapa

O local do mapa pode ser especificado usando o nome de um arquivo ou um URL.

Ao usar um arquivo GeoJSON, é necessário usar o subparâmetro file ou url. Também é possível usar property_key e property_label_key. O subparâmetro feature_key não é compatível com arquivos GeoJSON. A sintaxe geral para adicionar uma camada do mapa GeoJSON é:

map_layer: identifier {
  file: "/file_path/file_name.geojson" # or use the url subparameter
  url: "string" # or use the file subparameter
  property_key: "string"
  property_label_key: "string"
}

A sintaxe geral para adicionar uma camada do mapa TopoJSON é:

map_layer: identifier {
  extents_json_url: "string"
  feature_key: "string"
  file: "/file_path/file_name.json" # or use the url subparameter
  format: topojson | vector_tile_region
  label: "string"
  max_zoom_level: number
  min_zoom_level: number
  projection: airy  # or one of many other choices
  property_key: "string"
  property_label_key: "string"
  url: "string" # or use the file subparameter
}

Em que:

Parâmetro Tipo Descrição
identifier String Nome do mapa conforme ele será referenciado no LookML.
file String Local do mapa, especificado pelo nome de um arquivo JSON do projeto do LookML. O arquivo precisa estar no formato TopoJSON ou GeoJSON e usar uma das seguintes extensões: .json, .geojson ou .topojson.

É necessário usar o caminho completo do arquivo JSON, como "/maps/countryobjects.json" para um arquivo no diretório /maps/. Se o arquivo JSON estiver no diretório raiz e não em uma pasta, você poderá indicar o diretório raiz com uma única barra, assim: "/countryobjects.json"

Se o projeto não estiver ativado para pastas, o Looker vai mostrar arquivos JSON na seção Dadosda lista de arquivos do ambiente de desenvolvimento integrado do LookML. Consulte a seção Exemplos mais adiante nesta página para conferir o LookML de cada um desses cenários.
extents_json_url String O URL de um arquivo JSON que define as extensões geográficas de cada região disponível na camada do mapa. Esses dados são usados para centralizar automaticamente o mapa nos dados disponíveis para fins de visualização. O arquivo JSON precisa ser um objeto JSON em que as chaves são o valor de mapeamento do recurso (conforme especificado por property_key) e os valores são matrizes de quatro números que representam as extensões de longitude oeste, latitude sul, longitude leste e latitude norte da região. O objeto precisa incluir uma chave para cada valor possível de property_key. Por exemplo, extents_json_url: "https://mycompany.com/mapserver/json-extent.js". Se você usar esse parâmetro, especifique o local do mapa usando o parâmetro url.
feature_key String Nome do objeto TopoJSON referenciado pela camada do mapa. Se não for especificado, o primeiro objeto será usado.
format Palavra-chave

topojson ou vector_tile_region
Formato de dados das informações da região. Normalmente, as pessoas usam topojson.
label String Mostrado na UI de configuração do gráfico.
max_zoom_level Número Nível máximo de zoom para aumentar o zoom na camada do mapa, para visualizações que oferecem suporte a zoom.
min_zoom_level Número Nível mínimo de zoom para aumentar o zoom na camada do mapa, para visualizações que oferecem suporte a zoom.
projection Palavra-chave Projeção geográfica preferida da camada do mapa quando mostrada em uma visualização que oferece suporte a várias projeções geográficas. O editor do LookML lista as muitas projeções disponíveis quando você adiciona um parâmetro de projeção.
property_key String Propriedade dos dados TopoJSON a serem plotados. O TopoJSON oferece suporte a metadados arbitrários para cada região. Por padrão, a primeira propriedade correspondente é usada. Se houver uma propriedade de metadados específica que você quer plotar, especifique-a aqui.
property_label_key String Propriedade dos dados TopoJSON a serem usados para rotular a região. Isso é útil quando o valor de mapeamento (definido por property_key) não é muito legível.
url String Local do mapa, especificado por um URL que contém o arquivo do mapa.

Exemplos

Sempre que possível, adicione o arquivo de mapa ao projeto e use o parâmetro file para apontar para o arquivo de mapa.

É necessário usar o caminho completo do arquivo JSON. Se o projeto não estiver ativado para pastas, o Looker vai mostrar arquivos JSON na seção Dadosda lista de arquivos do ambiente de desenvolvimento integrado do LookML.

Por exemplo, se o projeto estiver ativado para pastas e você tiver um mapa personalizado de bairros chamado my_neighborhoods.json em um diretório chamado maps, use o caminho completo assim:

map_layer: neighborhoods {
  file: "/maps/my_neighborhoods.json"
}

Se o projeto não usar pastas, os arquivos de mapa enviados por upload serão mostrados na seção Dados do projeto. Nesse caso, basta fornecer o nome do arquivo my_neighborhoods.json:

map_layer: neighborhoods {
  file: "my_neighborhoods.json"
}

Como alternativa, você pode especificar que um mapa neighborhoods personalizado seja hospedado em outro lugar, como em https://wherever.com/my_neighborhoods.json:

map_layer: neighborhoods {
  url: "https://wherever.com/my_neighborhoods.json"
}

Depois que a camada do mapa for definida (especificando um arquivo ou usando o parâmetro url), você poderá especificar que os valores de uma dimensão sejam associados a uma região geográfica no mapa personalizado. Na dimensão, use o map_layer_name parâmetro para especificar o nome usado no map_layer parâmetro.

dimension: neighborhood {
  type: string
  map_layer_name: neighborhoods    # this is your map layer
  sql: ${TABLE}.neighborhood_code
}

Ao consultar essa dimensão e abrir a seção de visualização, o Looker vai representar os dados usando o arquivo JSON neighborhoods, conforme definido no parâmetro map_layer no arquivo de modelo.

Informações importantes

Gráficos de mapa estático (regiões)

A configuração de Mapa como Automático nos gráficos de mapa estático (regiões) depende da especificação de map_layer no modelo do LookML que especifica uma camada do mapa. Sem esse parâmetro definido, os usuários recebem um erro se selecionarem Automático, mas ainda podem usar os mapas integrados do Looker.

Arquivos GeoJSON

Semelhante aos arquivos TopoJSON, os arquivos GeoJSON podem usar a extensão de nome de arquivo .geojson ou .json, mas precisam conter dados geográficos no formato GeoJSON. Ao usar um arquivo GeoJSON, é necessário usar o subparâmetro file ou url, e você pode usar property_key e property_label_key.

Como usar map_layer com pastas do ambiente de desenvolvimento integrado

Se você tiver pastas do ambiente de desenvolvimento integrado ativadas para o projeto, será necessário usar o caminho ao especificar um arquivo de projeto para map_layer:

map_layer: neighborhoods {
  file: "/maps/my_neighborhoods.json"
}