La fonction PLACES_COUNT_PER_TYPE_V2 renvoie une table BigQuery contenant le nombre de lieux et des exemples d'ID de lieux, répartis par type de lieu, pour plusieurs zones géographiques d'entrée. Cette fonction est conçue pour un traitement par lot efficace en
acceptant un paramètre de table d'entrée
de zones géographiques. Vous fournissez les zones géographiques via une table d'entrée et spécifiez les types de lieux sous forme de tableau.
Syntaxe
SELECT * FROM `PROJECT_NAME.LINKED_DATASET_NAME.PLACES_COUNT_PER_TYPE_V2`( TABLE input_geographies, target_types, filters )
Paramètres
PROJECT_NAME: nom de votre projet Google Cloud.LINKED_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 :target_types(ARRAY<STRING>) : tableau de chaînes de type de lieu pour lesquelles vous souhaitez obtenir des décomptes. Les lieux seront comptabilisés s'ils correspondent à l'un des types listés dans leur tableautypes, et pas seulement auprimary_type.filters(JSON) : objet JSON contenant des paires clé-valeur pour filtrer davantage les lieux. Consultez les paramètres de filtre.
Schéma de la table de sortie
La fonction PLACES_COUNT_PER_TYPE_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_type |
STRING | Type de lieu du tableau target_types que représente cette ligne. |
place_count |
INTEGER | Nombre de lieux correspondant au place_type et à d'autres filtres dans la zone géographique ou à proximité. |
sample_place_ids |
ARRAY<STRING> | Tableau contenant jusqu'à 250 ID de lieux correspondant aux critères de ce type et de cette zone géographique. |
La sortie contient une ligne pour chaque combinaison de geo_id et de place_type spécifiée dans le tableau target_types, même si le décompte est nul.
Fonctionnement
La fonction traite chaque zone géographique fournie dans la table input_geographies.
Pour chaque zone géographique, elle compte les lieux correspondant à l'un des types listés dans le tableau target_types et répondant également à toutes les conditions de l'objet JSON filters. Les résultats sont agrégés et répartis par geo_id et par type dans target_types.
Exemple : Compter différents types de restaurants dans les comtés de New York
Cet exemple génère une table de décomptes pour les types "restaurant", "café" et "bar" dans trois comtés de New 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'] ) );
Le résultat est une table de neuf lignes (trois comtés * trois types). Chaque ligne indique le nombre d'établissements de type "restaurant", "café" ou "bar" dans chaque comté. Vous pouvez également inclure des exemples d'ID de lieux si vous les ajoutez à votre instruction SELECT.

Avantages de l'utilisation de PLACES_COUNT_PER_TYPE_V2
PLACES_COUNT_PER_TYPE_V2 offre plusieurs avantages clés, en particulier par rapport à l'ancienne fonction PLACES_COUNT_PER_TYPE :
- Traitement par lot des zones géographiques : contrairement à
PLACES_COUNT_PER_TYPEqui traite une zone géographique à la fois,PLACES_COUNT_PER_TYPE_V2accepte uneTABLEde zones géographiques d'entrée. Cela vous permet d'analyser et d'obtenir des décomptes spécifiques à un type dans de nombreuses zones géographiques (points, polygones) en une seule requête, au lieu d'effectuer plusieurs appels de fonction. - Performances et évolutivité améliorées : en prenant une entrée de table,
PLACES_COUNT_PER_TYPE_V2peut tirer parti des jointures géospatiales optimisées de BigQuery et des capacités de traitement parallèle dans toutes les zones géographiques fournies simultanément. Cela améliore considérablement les performances et l'évolutivité lorsque vous traitez un grand nombre de zones géographiques. - Décomptes nuls inclus : renvoie des lignes avec des décomptes nuls pour les types introuvables dans une zone spécifique du lot, ce qui garantit un ensemble de résultats complet pour toutes les combinaisons type-zone géographique.