La fonction PLACES_COUNT_V2 renvoie une table BigQuery contenant le nombre de lieux et des exemples d'ID de lieu pour plusieurs zones géographiques d'entrée en fonction des filtres spécifiés.
Cette fonction est conçue pour un traitement par lots efficace en acceptant un paramètre
de table
d'entrée
de zones géographiques, ce qui vous permet d'analyser de nombreuses zones d'intérêt dans une seule requête
en fournissant les zones géographiques via une table d'entrée.
Syntaxe
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_V2`( TABLE input_geographies, filters )
Paramètres
PROJECT_NAME: nom de votre projet Google CloudLINKED_DATASET_NAME: nom de l'ensemble de données BigQuery contenant les fonctions Places Insights (par exemple,places_insights___us)input_geographies: table BigQuery contenant les zones géographiques à analyser Cette table doit inclure les colonnes suivantes :filters(JSON) : objet JSON contenant des paires clé-valeur pour filtrer les lieux Consultez les paramètres de filtre.
Schéma de la table de sortie
La fonction PLACES_COUNT_V2 renvoie une table avec les colonnes suivantes :
| Nom de la colonne | Type de données | Description |
|---|---|---|
geo_id |
STRING | Identifiant unique de la zone géographique d'entrée, provenant de la table input_geographies. |
input_geography |
GEOGRAPHY | Objet GEOGRAPHY d'origine provenant de la table input_geographies. |
place_count |
INTEGER | Nombre total de lieux correspondant aux filtres. |
sample_place_ids |
ARRAY<STRING> | Tableau contenant jusqu'à 250 ID de lieu correspondant aux critères. |
Fonctionnement
La fonction traite chaque ligne de la table input_geographies. Pour chaque geo
objet, elle compte le nombre de lieux situés dans la zone géographique (ou dans
le geography_radius si le geo est un point et que le rayon est spécifié dans
les filters). Le décompte n'inclut que les lieux qui correspondent à toutes les
conditions définies dans l'objet JSON filters.
Exemple : Calculer le nombre de restaurants dans trois comtés de la ville de New York
Cet exemple génère une table indiquant le nombre de restaurants en activité dans trois comtés de la ville de New York.
Cet exemple utilise l'ensemble de données public United States Census Bureau
Data
BigQuery pour obtenir les limites de trois comtés de la ville de New York : « Queens », « Kings » et « New
York ». Les limites de chaque comté sont contenues dans la colonne county_geom.
Nous créons d'abord une table temporaire new_york_counties pour contenir le geo_id et le GEOGRAPHY simplifié de chaque comté.
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 table de réponse comportera trois lignes, une pour chaque comté, affichant le geo_id, le input_geography, le place_count et le sample_place_ids des restaurants en activité.

Avantages de l'utilisation de PLACES_COUNT_V2
PLACES_COUNT_V2 offre des avantages significatifs par rapport à PLACES_COUNT et
PLACES_COUNT_PER_GEO :
- Traitement par lots : analysez efficacement des milliers de zones géographiques personnalisées dans une seule requête en fournissant plusieurs entrées de zones géographiques dans une table.
- Performances : utilise les jointaires géospatiales optimisées de BigQuery ce qui offre des avantages considérables en termes de vitesse pour les grands ensembles de données.
- Scalabilité : conçu pour gérer un grand nombre de zones géographiques d'entrée sans les limites de la taille d'un seul paramètre JSON.
- Comprend les décomptes nuls :
PLACES_COUNT_V2renvoie une ligne pour chaquegeo_idfourni dans la table d'entrée. Si aucun lieu ne correspond aux critères d'une zone géographique donnée, leplace_countsera égal à 0. Vous obtenez ainsi un résultat pour chaque zone d'entrée, ce qui vous permet de voir où les lieux sont absents. - Instantanés historiques : interrogez les données de décompte des lieux d'un mois spécifique à l'aide du filtre
snapshot_datefacultatif.
Exemple : Interroger le nombre de PDI d'un mois précédent
Cet exemple montre comment interroger le nombre historique de PDI pour des lieux spécifiques à l'aide du paramètre snapshot_date. Il filtre les résultats pour les lieux disposant d'installations de recharge pour véhicules électriques spécifiées par max_ev_max_charge_rate_kw, ainsi que des regular_opening_hours spécifiques.
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')] ) ) );