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: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 matriztypes, não apenas oprimary_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.

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, oPLACES_COUNT_PER_TYPE_V2aceita umTABLEde 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_V2pode 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.