Função PLACES_COUNT_PER_TYPE_V2

A função PLACES_COUNT_PER_TYPE_V2 retorna uma tabela do BigQuery que contém contagens de lugares e exemplos de IDs de lugares, divididos por tipo de lugar, para várias regiões geográficas de entrada. Essa função foi projetada para processamento em lote eficiente, por aceitar um parâmetro de tabela de entrada de regiões geográficas. Você fornece as regiões geográficas por meio de uma tabela de entrada e especifica os tipos de lugar como uma matriz.

Sintaxe

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_TYPE_V2`(
  TABLE input_geographies,
  target_types,
  filters
)

Parâmetros

  • PROJECT_NAME: o nome do seu projeto na nuvem do Google Cloud;
  • LINKED_DATASET_NAME: o nome do conjunto de dados do BigQuery que contém as funções do Insights de Lugares (por exemplo, places_insights___us);
  • input_geographies: uma tabela do BigQuery que contém as regiões geográficas a serem analisadas. Essa tabela precisa incluir as seguintes colunas:
    • geo_id (STRING): um identificador exclusivo para cada região geográfica.
    • geo (GEOGRAPHY): o objeto GEOGRAPHY do BigQuery que representa a área. Pode ser um ponto, um polígono ou outro tipo de região geográfica.
  • target_types (ARRAY<STRING>): uma matriz de strings de tipo de lugar para as quais você quer receber contagens. Os lugares serão contados se corresponderem a qualquer um dos tipos listados na matriz types, não apenas ao primary_type.
  • filters (JSON): um objeto JSON que contém pares de chave-valor para filtragem adicional dos lugares. Consulte Parâmetros de filtro.

Esquema da tabela de saída

A função PLACES_COUNT_PER_TYPE_V2 retorna uma tabela com as seguintes colunas:

Nome da coluna Tipo de dados Descrição
geo_id STRING O identificador exclusivo da região geográfica de entrada, da tabela input_geographies.
input_geography GEOGRAPHY O objeto GEOGRAPHY original da tabela input_geographies.
place_type STRING O tipo de lugar da matriz target_types que essa linha representa.
place_count INTEGER O número de lugares que correspondem ao place_type e a outros filtros dentro ou perto da região geográfica.
sample_place_ids ARRAY<STRING> Uma matriz de até 250 IDs de lugares que correspondem aos critérios desse tipo e região geográfica.

A saída vai conter uma linha para cada combinação de geo_id e place_type especificada na matriz target_types, mesmo que a contagem seja zero.

Como funciona

A função processa cada região geográfica fornecida na tabela input_geographies. Para cada região geográfica, ela conta os lugares que correspondem a qualquer um dos tipos listados na matriz target_types e também atendem a todas as condições no objeto JSON filters. Os resultados são agregados e divididos por cada geo_id e cada tipo em target_types.

Exemplo: contar diferentes tipos de restaurantes nos condados de Nova York

Este exemplo gera uma tabela de contagens para os tipos "restaurante", "café" e "bar" em três condados da cidade de Nova York.

SELECT geo_id, input_geography, place_type, place_count
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE_V2`(
  (
    SELECT county_name AS geo_id,
           ST_SIMPLIFY(county_geom, 100) AS geo
    FROM
      `bigquery-public-data.geo_us_boundaries.counties`
    WHERE
      state_fips_code = "36"  -- New York State
      AND county_name IN ("Queens", "Kings", "New York")
  ),
  ['restaurant', 'cafe', 'bar'],  -- target_types
  JSON_OBJECT(
      'business_status', ['OPERATIONAL']
  )
);

O resultado será uma tabela com nove linhas (três condados * três tipos). Cada linha vai mostrar a contagem de estabelecimentos "restaurante", "café" ou "bar" em cada condado. Você também pode incluir exemplos de IDs de lugares se os adicionar à instrução SELECT.

Resultados da função &quot;Contagem de lugares por tipo&quot; nos condados de Nova York.

Benefícios de usar PLACES_COUNT_PER_TYPE_V2

PLACES_COUNT_PER_TYPE_V2 oferece várias vantagens importantes, principalmente quando comparada à função PLACES_COUNT_PER_TYPE mais antiga:

  • Processamento em lote de regiões geográficas: ao contrário de PLACES_COUNT_PER_TYPE que processa uma região geográfica por vez, PLACES_COUNT_PER_TYPE_V2 aceita uma TABLE de regiões geográficas de entrada. Isso permite analisar e receber contagens específicas de tipos em várias regiões geográficas (pontos, polígonos) em uma única consulta, em vez de fazer várias chamadas de função.
  • Melhor desempenho e escalonabilidade: ao receber uma entrada de tabela, PLACES_COUNT_PER_TYPE_V2 pode aproveitar as junções geoespaciais otimizadas do BigQuery's e os recursos de processamento paralelo em todas as regiões geográficas fornecidas simultaneamente. Isso resulta em melhorias significativas de desempenho e escalonabilidade ao lidar com um grande número de regiões geográficas.
  • Contagens zero incluídas:retorna linhas com contagens zero para tipos não encontrados em uma área específica no lote, garantindo um conjunto de resultados completo para todas as combinações de tipo e região geográfica.