La función PLACES_COUNT_V2 devuelve una tabla de BigQuery que contiene recuentos de lugares y muestras de IDs de lugar para varias ubicaciones geográficas de entrada según los filtros especificados.
Esta función está diseñada para el procesamiento por lotes eficiente, ya que acepta un parámetro de tabla de entrada de ubicaciones geográficas, lo que te permite analizar muchas áreas de interés en una sola consulta proporcionando las ubicaciones geográficas a través de una tabla de entrada.
Sintaxis
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
Parámetros
PROJECT_NAME: Es el nombre de tu proyecto de Google Cloud.LINKED_DATASET_NAME: Es el nombre del conjunto de datos de BigQuery que contiene las funciones de Places Insights (p.ej.,places_insights___us).input_geographies: Es una tabla de BigQuery que contiene las ubicaciones geográficas que se analizarán. Esta tabla debe incluir las siguientes columnas:filters(JSON): Es un objeto JSON que contiene pares clave-valor para filtrar los lugares. Consulta Parámetros de filtro.
Esquema de la tabla de salida
La función PLACES_COUNT_V2 devuelve una tabla con las siguientes columnas:
| Nombre de la columna | Tipo de datos | Descripción |
|---|---|---|
geo_id |
STRING | Es el identificador único de la ubicación geográfica de entrada, que se obtiene de la tabla input_geographies. |
input_geography |
GEOGRAPHY | Es el objeto GEOGRAPHY original de la tabla input_geographies. |
place_count |
INTEGER | Es la cantidad total de lugares que coinciden con los filtros. |
sample_place_ids |
ARRAY<STRING> | Es un array de hasta 250 IDs de lugar que coinciden con los criterios. |
Cómo funciona
La función procesa cada fila de la tabla input_geographies. Para cada objeto geo, se cuenta la cantidad de lugares que se encuentran dentro de la geografía (o dentro del geography_radius si el geo es un punto y el radio se especifica en el filters). El recuento incluye solo aquellos lugares que coinciden con todas las condiciones definidas en el objeto JSON filters.
Ejemplo: Calcula la cantidad de restaurantes en tres condados de la ciudad de Nueva York
En este ejemplo, se genera una tabla con la cantidad de restaurantes operativos en tres condados de la ciudad de Nueva York.
En este ejemplo, se usa el conjunto de datos públicos de BigQuery de los datos de la Oficina del Censo de Estados Unidos para obtener los límites de tres condados de la ciudad de Nueva York: "Queens", "Kings" y "New York". Los límites de cada condado se encuentran en la columna county_geom.
Primero, creamos una tabla temporal new_york_counties para contener el geo_id y el 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'] ) );
La tabla de respuesta tendrá tres filas, una para cada condado, en las que se mostrarán los valores de geo_id, input_geography, place_count y sample_place_ids de los restaurantes operativos.

Beneficios de usar PLACES_COUNT_V2
PLACES_COUNT_V2 ofrece ventajas significativas sobre PLACES_COUNT y PLACES_COUNT_PER_GEO:
- Procesamiento por lotes: Analiza de manera eficiente miles de ubicaciones geográficas personalizadas en una sola consulta proporcionando varias entradas de ubicación geográfica en una tabla.
- Rendimiento: Utiliza las uniones geoespaciales optimizadas de BigQuery, lo que ofrece ventajas significativas en cuanto a la velocidad para los conjuntos de datos grandes.
- Escalabilidad: Está diseñado para controlar una gran cantidad de ubicaciones geográficas de entrada sin las limitaciones del tamaño de un solo parámetro JSON.
- Se incluyen los recuentos nulos:
PLACES_COUNT_V2devuelve una fila para cadageo_idproporcionado en la tabla de entrada. Si ningún lugar coincide con los criterios para una ubicación geográfica determinada, el valor deplace_countserá 0. Esto garantiza que obtendrás un resultado para cada área de entrada, de modo que puedas ver dónde faltan lugares.