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 dans un tableau 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: le 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. Ce tableau doit inclure les colonnes suivantes :target_types(ARRAY<STRING>) : tableau de chaînes de type de lieu pour lesquelles vous souhaitez obtenir des nombres. Les lieux seront comptabilisés s'ils correspondent à l'un des types listés dans leur tableautypes, et pas seulement àprimary_type.filters(JSON) : objet JSON contenant des paires clé/valeur pour filtrer davantage les lieux. Consultez 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, issu de la table input_geographies. |
input_geography |
GEOGRAPHY | Objet GEOGRAPHY d'origine de la table input_geographies. |
place_type |
STRING | Type de lieu représenté par cette ligne à partir du tableau target_types. |
place_count |
INTEGER | Nombre de lieux correspondant à place_type et à d'autres filtres dans ou à proximité de la zone géographique. |
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 contiendra une ligne pour chaque combinaison de geo_id et place_type spécifiée dans le tableau target_types, même si le nombre est nul.
Fonctionnement
La fonction traite chaque zone géographique fournie dans le tableau input_geographies.
Pour chaque zone géographique, il comptabilise les lieux qui correspondent à l'un des types listés dans le tableau target_types et qui remplissent é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 un tableau de dénombrement pour les types "restaurant", "café" et "bar" dans trois comtés de la ville 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 sera une table de neuf lignes (trois comtés * trois types). Chaque ligne indiquera le nombre d'établissements de type "restaurant", "café" ou "bar" dans chaque comté. Vous pouvez également inclure des exemples d'ID de lieu 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 unTABLEde 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 acceptant 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 pour toutes les zones géographiques fournies simultanément. Cela permet d'améliorer considérablement les performances et l'évolutivité lorsque vous traitez un grand nombre de zones géographiques. - Inclure les valeurs nulles : renvoie les lignes avec des valeurs nulles pour les types non trouvés dans une zone spécifique du lot, ce qui garantit un ensemble de résultats complet pour toutes les combinaisons type/zone géographique.