Função PLACES_COUNT_PER_TYPE_V2

A função PLACES_COUNT_PER_TYPE_V2 retorna uma tabela do BigQuery com contagens de lugares e IDs de lugares de amostra, divididos por tipo de lugar, para várias regiões geográficas de entrada. Essa função foi projetada para o processamento eficiente em lote, aceitando um parâmetro de tabela de entrada de regiões geográficas. Você fornece as regiões geográficas em 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 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 com 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 geografia.
  • 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 o 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 geografia 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 esta 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 lugar 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, ele 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 detalhados 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 IDs de lugar de exemplo se 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

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

  • Processamento em lote de regiões geográficas:ao contrário do PLACES_COUNT_PER_TYPE, que processa uma região geográfica por vez, o PLACES_COUNT_PER_TYPE_V2 aceita um TABLE de regiões geográficas de entrada. Isso permite analisar e receber contagens específicas de tipo 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, o PLACES_COUNT_PER_TYPE_V2 pode aproveitar as junções geoespaciais otimizadas do BigQuery 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.
  • Contagens zero incluídas:retorna linhas com contagens zero para tipos não encontrados em uma área específica do lote, garantindo um conjunto de resultados completo para todas as combinações de tipo e região geográfica.