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 sua camada de mapa, além de subparâmetros que definem as propriedades dela.

Definição

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

Quando uma camada de mapa existe, normalmente a visualização interativa é escolhida como padrão. A única exceção é o mapa dos estados dos EUA, em que o Looker usa o gráfico de região de mapa estático por padrão porque usa encartes 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 de mapa personalizado, consulte a página de práticas recomendadas Criar regiões de mapa personalizadas.

O Looker recomenda que você mantenha os arquivos de camada de mapa personalizados menores que 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 letras maiúsculas adequadas para os nomes de países e estados. Os dados são representados na camada do mapa de maneira sensível a maiúsculas e minúsculas. Portanto, eles também precisam usar a capitalização adequada para usar essas camadas integradas. Por exemplo, se o conjunto de dados usar "new delhi" em letras minúsculas, os dados não serão representados corretamente nas camadas de mapa integradas, que usam "New Delhi".

  • countries: aceita nomes completos de países, códigos de país de três letras ISO 3166-1 alfa-3 ou códigos de país de duas letras ISO 3166-1 alfa-2. 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 parâmetro map_layer_name na definição da dimensão de país para garantir que o Looker reconheça os dados como códigos de país e não os interprete incorretamente 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 e abreviações de duas letras dos estados.

  • 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 de cinco caracteres dos EUA. As dimensões de type: zipcode usam automaticamente a camada de mapa us_zipcode_tabulation_areas.

    As regiões de CEP são baseadas nas áreas de tabulação de CEP (ZCTAs, na sigla em inglês) de 2010. 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 de 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 de 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 que você vai usar no LookML.
file String Localização do mapa, especificada pelo nome de um arquivo JSON do seu projeto do LookML. O arquivo precisa estar no formato TopoJSON ou GeoJSON e usar uma das seguintes extensões: .json, .geojson ou .topojson.

Use 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 os arquivos JSON na seção Dados da lista de arquivos do IDE 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 a extensão 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 dos 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 a camada do mapa, para visualizações que oferecem suporte a zoom.
min_zoom_level Número Nível mínimo de zoom para aumentar a camada do mapa, para visualizações que oferecem suporte a zoom.
projection Palavra-chave Projeção geográfica preferida da camada de mapa quando exibida em uma visualização que oferece suporte a várias projeções geográficas. O editor do LookML lista as várias projeções disponíveis quando você adiciona um parâmetro de projeção.
property_key String Propriedade dos dados do TopoJSON para criar o gráfico. O TopoJSON aceita 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 usar para criar o gráfico, especifique-a aqui.
property_label_key String Propriedade dos dados TopoJSON usada para rotular a região. Isso é útil quando o valor de mapeamento (definido por property_key) não é muito legível para humanos.
url String Localização do mapa, especificada por um URL que contém o arquivo do mapa.

Exemplos

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

Use o caminho completo do arquivo JSON. Se o projeto não estiver ativado para pastas, o Looker vai mostrar os arquivos JSON na seção Dados da lista de arquivos do IDE 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 vão aparecer 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 está 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 de mapa é definida (especificando um arquivo ou usando o parâmetro url), é possível especificar que os valores de uma dimensão sejam associados a uma região geográfica no mapa personalizado. Na dimensão, use o parâmetro map_layer_name para especificar o nome usado no parâmetro map_layer.

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

Quando você consulta essa dimensão e abre a seção de visualização, o Looker cria um gráfico com os dados usando o arquivo JSON neighborhoods, conforme definido no parâmetro map_layer do arquivo de modelo.

Informações importantes

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

Para definir Mapa como Automático nos gráficos de mapa estático (regiões), é necessário ter map_layer especificado no modelo LookML que especifica uma camada de 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

Assim como os 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. Também é possível usar property_key e property_label_key.

Como usar map_layer com pastas do ambiente de desenvolvimento integrado

Se as pastas do IDE estiverem ativadas para seu projeto, use o caminho ao especificar um arquivo de projeto para map_layer:

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