Consultar contagens de PDI

A função PLACES_COUNT_V2 retorna uma tabela do BigQuery que contém contagens de lugares e exemplos de IDs de lugares para várias regiões geográficas de entrada com base nos filtros especificados. Essa função foi projetada para processamento em lote eficiente, aceitando um parâmetro de tabela de entrada de regiões geográficas, permitindo que você analise muitas áreas de interesse em uma única consulta fornecendo as regiões geográficas em uma tabela de entrada.

Sintaxe

SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`(
  TABLE input_geographies,
  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 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.
  • filters (JSON): um objeto JSON que contém pares de chave-valor para filtrar os lugares. Consulte Parâmetros de filtro.

Esquema da tabela de saída

A função PLACES_COUNT_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_count INTEGER O número total de lugares que correspondem aos filtros.
sample_place_ids ARRAY<STRING> Uma matriz de até 250 IDs de lugares que atendem aos critérios.

Como funciona

A função processa cada linha na tabela input_geographies. Para cada geo objeto, ela conta o número de lugares que estão dentro da região geográfica (ou dentro do geography_radius se o geo for um ponto e o raio for especificado nos filters). A contagem inclui apenas os lugares que atendem a todas as condições definidas no objeto JSON filters.

Exemplo: calcular o número de restaurantes em três condados da cidade de Nova York

Este exemplo gera uma tabela do número de restaurantes em funcionamento em três condados da cidade de Nova York.

Este exemplo usa o United States Census Bureau Data BigQuery conjunto de dados públicos para receber os limites de três condados na cidade de Nova York: "Queens", "Kings" e "New York". Os limites de cada condado estão contidos na coluna county_geom.

Primeiro, criamos uma tabela temporária new_york_counties para armazenar o geo_id e o GEOGRAPHY simplificado de cada condado.

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_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")
  ),
  JSON_OBJECT(
      'types', ["restaurant"],
      'business_status', ['OPERATIONAL']
  )
);

A tabela de resposta terá três linhas, uma para cada condado, mostrando o geo_id, input_geography, place_count e sample_place_ids de restaurantes em funcionamento.

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

Benefícios de usar PLACES_COUNT_V2

PLACES_COUNT_V2 oferece vantagens significativas em relação a PLACES_COUNT e PLACES_COUNT_PER_GEO:

  • Processamento em lote:analise com eficiência milhares de regiões geográficas personalizadas em uma única consulta, fornecendo várias entradas de regiões geográficas em uma tabela.
  • Desempenho: Utiliza as junções geoespaciais otimizadas do BigQuery oferecendo vantagens significativas de velocidade para conjuntos de dados grandes.
  • Escalabilidade:projetado para processar um grande número de regiões geográficas de entrada sem as limitações do tamanho de um único parâmetro JSON.
  • Contagens zero incluídas:PLACES_COUNT_V2 retorna uma linha para cada geo_id fornecido na tabela de entrada. Se nenhum lugar atender aos critérios de uma determinada região geográfica, o place_count será 0. Isso garante que você tenha um resultado para cada área de entrada, para que possa ver onde os lugares estão ausentes.
  • Instantâneos históricos:consulte dados de contagem de lugares de um mês específico usando o filtro opcional snapshot_date.

Exemplo: consultar contagens de POIs de um mês anterior

Este exemplo demonstra como consultar contagens históricas de POIs para locais específicos usando o parâmetro snapshot_date. Ele filtra os resultados de lugares com instalações de carregamento de veículos elétricos especificadas por max_ev_max_charge_rate_kw junto com regular_opening_hours específicos.

SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_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")
  ),
  JSON_OBJECT(
    'geography_radius', 5000,
    'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM)
    'max_ev_max_charge_rate_kw', 30.0, -- Filter by EV charge rate in kW
    'regular_opening_hours', JSON_OBJECT(
      'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')]
    )
  )
);