La función PLACES_COUNT_PER_H3 agrega datos de lugares de interés (POI) a
celdas de cuadrícula espacial H3 estandarizadas con una resolución
especificada. Esta función es la ruta recomendada para el análisis de densidad regional,
el mapeo competitivo y la generación de mapas de calor de coropletas hexagonales.
Para llamar a la función PLACES_COUNT_PER_H3, usa una cláusula FROM de SQL, ya que
la función devuelve una tabla.
Sintaxis y parámetros
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_H3`( filters )
Parámetros
PROJECT_NAME: Es el nombre de tu proyecto de Google Cloud. Si no especificas un nombre de proyecto, la consulta se establecerá de forma predeterminada en el proyecto activo.LINKED_DATASET_NAME: Es el nombre de tu conjunto de datos de Places Insights al que te suscribiste (por ejemplo,places_insights___us).filters(JSON): Es un objeto JSON construido conJSON_OBJECTque contiene parámetros de filtro de par clave-valor.
Filtros JSON obligatorios
geography(GEOGRAPHY): Es el área de búsqueda delimitadora (punto, cadena de líneas o polígono) que se indexará.h3_resolution(INTEGER): Es el nivel de resolución de la celda H3 (los valores admitidos varían de0a11).
Filtros JSON opcionales
- Parámetros adicionales, como
types,business_status,price_levelymin_rating, para filtrar los lugares que se cuentan dentro de cada celda Consulta la lista completa de parámetros de filtro.
Esquema de la tabla de salida
La función devuelve una tabla de BigQuery con una fila por índice de celda H3 que se cruza con tu geometría de destino:
| Nombre de la columna | Tipo de datos | Descripción |
|---|---|---|
h3_cell_index |
STRING | Es el identificador único del índice H3 de la celda. |
geography |
GEOGRAPHY | Un polígono que representa el límite físico de la celda H3. |
count |
INTEGER | Es el recuento exacto total de lugares operativos que coinciden dentro de esta celda H3 específica, o cero si no hay lugares que coincidan. |
sample_place_ids |
ARRAY<STRING> | Un array de hasta 250 IDs de lugar ubicados dentro de esta celda, lo que permite realizar consultas directas de verdad fundamental con la API de Places. |
Agrega la densidad regional de lugares de interés con PLACES_COUNT_PER_H3
La función procesa la geografía delimitadora especificada en tus filtros, identifica todos los hexágonos de H3 que se intersecan en la resolución de destino y devuelve los recuentos de lugares y los IDs de lugar exactos para cada hexágono.
Ejemplo: Cuenta las tiendas de comestibles y los minimercados accesibles para personas en silla de ruedas en el estado de Nueva York
Esta consulta agrega tiendas de conveniencia y de comestibles operativas y accesibles para personas en silla de ruedas
en el estado de Nueva York con un nivel de resolución de H3 de 8. La geometría de los límites del estado de Nueva York se consulta de forma dinámica desde el conjunto de datos públicos bigquery-public-data.geo_us_boundaries.states.
-- Query POI count per H3 cell intersecting the New York State polygon boundary SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`( JSON_OBJECT( 'geography', ( -- Dynamically retrieve the boundary geography for New York State SELECT state_geom FROM `bigquery-public-data.geo_us_boundaries.states` WHERE state = 'NY' LIMIT 1 ), 'types', ['grocery_store', 'convenience_store'], 'business_status', ['OPERATIONAL'], 'h3_resolution', 8, 'wheelchair_accessible_entrance', TRUE ) ) ORDER BY count DESC;
Formato de respuesta
La consulta genera una tabla fila por fila que asigna celdas directamente a los recuentos espaciales:

Ejemplo: Cuenta los lugares por celda H3 filtrados por marca
En el siguiente ejemplo, se usa el filtro brand_ids para recuperar
los recuentos de lugares y los IDs de lugar de muestra para marcas específicas, como Starbucks
"1413758728321880760" y Dunkin "1314981297593671295":
DECLARE geo GEOGRAPHY; -- Get the geography for New York City. SET geo = (SELECT geometry FROM `bigquery-public-data.overture_maps.division_area` WHERE country = 'US' AND subtype = 'locality' AND names.primary = 'New York' LIMIT 1); SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`( JSON_OBJECT( 'geography', geo, 'h3_resolution', 8, 'brand_ids', ["1413758728321880760", "1314981297593671295"], 'business_status', ['OPERATIONAL'] ) );
Visualiza los resultados de H3 de forma dinámica en Looker Studio
En las siguientes imágenes, se muestran datos de PLACES_COUNT_PER_H3 en Looker
Studio como un mapa coroplético. Cuanto más oscura sea la celda de H3, mayor será la concentración de resultados:

Para importar tus datos a Looker Studio, sigue estos pasos:
- Ejecuta la función anterior en BigQuery para generar los resultados.
- En el panel de resultados de BigQuery, haz clic en Abrir en -> Looker Studio. Tus resultados se importan automáticamente a Looker Studio.
Looker Studio crea una página de informe predeterminada y la inicializa con un título, una tabla y un gráfico de barras de los resultados.

Selecciona todo el contenido de la página y bórralo.
Haz clic en Insertar > Mapa coroplético para agregar un mapa coroplético a tu informe.
En Tipos de gráficos -> Configuración, configura los campos como se muestra a continuación:

El mapa coroplético aparece como se muestra arriba. De manera opcional, puedes seleccionar Tipos de gráficos -> Estilo para configurar aún más el aspecto del mapa.
Para obtener más información sobre cómo visualizar los resultados de Places Insights, consulta Visualiza los resultados de las consultas.
Ejemplo: Consulta los recuentos históricos de lugares de interés por celda H3 con filtros específicos
En este ejemplo, se muestra cómo consultar los recuentos históricos de lugares de interés en una cuadrícula espacial H3 para un mes de instantánea específico con el filtro snapshot_date. Define un área de búsqueda geográfica con un búfer alrededor de una ubicación y aplica criterios adicionales para los recuentos de conectores de carga de VE con max_ev_charge_connector_count junto con regular_opening_hours específicos.
SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`( JSON_OBJECT( 'geography', ST_BUFFER(ST_GEOGPOINT(-74.0060, 40.7128), 5000), -- 5km radius around NYC 'h3_resolution', 8, 'business_status', ['OPERATIONAL'], 'snapshot_date', '2026-01', -- Target snapshot month (YYYY-MM) 'max_ev_charge_connector_count', 3, -- Maximum connector count 'regular_opening_hours', JSON_OBJECT( 'monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')] ) ) );