Erste Schritte mit Places Insights

Places Count-Funktionen sind vordefinierte SQL-Abfragen, die in BigQuery ausgeführt werden. Sie sind die empfohlene Methode zum Abfragen des Places Insights-Datasets, um genaue Zählungen und Orts-IDs abzurufen. Sie können das Dataset auch direkt abfragen. Bei den beiden Abfragemethoden werden jedoch unterschiedliche Datenschutzschwellenwerte und Suchbereiche verwendet:

  • Places Count-Funktionen können beliebige Zählungen zurückgeben, einschließlich 0. Es wird jedoch ein Mindestsuchbereich von 40,0 × 40,0 Metern (1.600 m2) erzwungen. Funktionen geben auch Place IDs zurück, die verwendet werden können, um Informationen zu einzelnen Orten nachzuschlagen.

  • Abfragen für Orts-Datasets können nur Zählungen ab 5 zurückgeben. Niedrige Zählungen von 0 bis 4 werden ausgelassen, um die Differential Privacy zu wahren. Es gibt jedoch keine Einschränkungen hinsichtlich der Größe des Suchbereichs.

Wenn Sie keine komplexen räumlichen Analysen durchführen müssen, empfehlen wir, mit Places Count-Funktionen wie PLACES_COUNT_PER_H3 zu beginnen. Sie bietet sofortige Einblicke in die räumliche Dichte in standardisierten Rasterzellen, gibt Orts-IDs für die Überprüfung der Ground Truth zurück und ist speziell für das Geospatial Feature Engineering und ML-Modelle konzipiert.

Optimale Places Count-Funktion auswählen

Places Insights unterstützt mehrere räumliche Funktionen. Für eine optimierte Abfrageausführung, parallele Verarbeitung und Batch-Skalierbarkeit empfehlen wir die Verwendung der folgenden Funktionen:

  • PLACES_COUNT_PER_H3: Gibt eine BigQuery-Tabelle mit Ortszählungen pro H3-Zelle zurück. Diese Funktion wird für die regionale Dichteanalyse und Choroplethen-Heatmaps empfohlen.
  • PLACES_COUNT_V2: Gibt eine Tabelle mit Ortszählungen und Beispiel-Orts-IDs zurück. Diese Funktion akzeptiert einen Tabellen parameter mit Ihren Eingabegeografien. Wenn Sie eine gesamte Tabelle direkt übergeben, kann die BigQuery-Ausführungs-Engine die Arbeitslast verteilen und räumliche Überschneidungen parallel verarbeiten. So ist eine hocheffiziente Batchverarbeitung für Analysen in großem Maßstab möglich.
  • PLACES_COUNT_PER_TYPE_V2: Gibt eine Tabelle mit Ortszählungen und Beispiel-Orts-IDs zurück, kategorisiert nach Ortstyp. Ähnlich wie bei PLACES_COUNT_V2 können räumliche Überschneidungen bei großen Datasets nativ parallelisiert werden, wenn Sie Ihre Eingabegeografien als Tabellenparameter übergeben.

Neben den Ortszählungen geben diese Funktionen auch bis zu 250 Orts IDs pro Element der Antwort zurück.

Orts-IDs können mit folgenden APIs und Tools verwendet werden:

Abfragen mit Places Count-Funktionen ausführen

Verwenden Sie das folgende Format, um die Funktionen aufzurufen: [project name (optional)].[table name].[function name].

Wenn Sie den Namen des verknüpften Datasets bei der Einrichtung von Places Insights geändert haben, verwenden Sie Ihren benutzerdefinierten Namen anstelle der Standardtabellennamen. Optional können Sie auch Ihren Projektnamen angeben. Wenn kein Projektname angegeben ist, wird standardmäßig das aktive Projekt verwendet.

Beispiel:

PROJECT_NAME.places_insights___us.PLACES_COUNT_V2

Verwenden Sie ein JSON_OBJECT um Argumente an die Funktion zu übergeben.

Abfrageergebnisse mit Parametern filtern, bei denen die Groß-/Kleinschreibung beachtet wird

Die Places Count-Funktionen unterstützen viele Filter, um die Suche zu verfeinern. Bei diesen Parametern (z. B. price_level oder types) wird die Groß-/Kleinschreibung beachtet und sie müssen genau mit den Parameternamen übereinstimmen. Eine vollständige Liste der Optionen finden Sie in der Referenz zu Filterparametern.

Im nächsten Beispiel werden mit der Funktion PLACES_COUNT_V2 Filter angewendet, um die Suche nach der Mindestnutzerbewertung, der Preisstufe, dem Unternehmensstatus und danach zu beschränken, ob Hunde im Restaurant erlaubt sind.

Verwenden Sie zuerst Ihre Eingabegeografietabelle oder erstellen Sie eine mit den ausgewählten Geografien:

-- Create a table for the input geographies
CREATE TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas` AS (
  SELECT
    '1' AS geo_id, -- Unique identifier
    ST_GEOGPOINT(-73.9857, 40.7484) AS geo -- Empire State Building
  UNION ALL
  SELECT
    '2' AS geo_id, -- Unique identifier
    ST_GEOGPOINT(-73.9851, 40.7580) AS geo -- Times Square
);

Rufen Sie als Nächstes PLACES_COUNT_V2 mit der Tabelle und dem JSON-Objekt auf, das die Filter enthält. Der Suchradius ist in den JSON-Filtern enthalten und wird um jeden Punkt in der Tabelle my_search_areas angewendet.

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters around each point in 'geo'
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"],
      'min_rating', 1.3,
      'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'],
      'allows_dogs', TRUE
      )
);

Beispiel: Anzahl der Restaurants und Standorte von Marken mit PLACES_COUNT_V2 abfragen

Im folgenden Beispiel wird die Funktion PLACES_COUNT_V2 mit der benutzerdefinierten Eingabegeografietabelle my_search_areas verwendet, um die Anzahl der Restaurants im Umkreis von 1.000 Metern um das Empire State Building und den Times Square in New York City zurückzugeben:

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"]
      )
);

Die Antwort ist eine BigQuery-Tabelle mit der geo_id, der Geografie, der Anzahl und einer Stichprobe von Orts-IDs.

Ergebnisse für die Funktion „Orte zählen“ in New York City.

Im folgenden Beispiel wird die Funktion PLACES_COUNT_V2 verwendet, um nach bestimmten Marken-IDs zu filtern. In diesem Beispiel filtern wir nach Starbucks-Standorten mit der Marken-ID "1413758728321880760".

Wenn Sie die Marken-IDs für die Marken finden möchten, nach denen Sie filtern möchten, fragen Sie die brands Tabelle für Ihr Dataset ab (z. B. places_insights___us.brands). Weitere Informationen zum Dataset „brands“ finden Sie unter Abfrage mit Markendaten schreiben.

So finden Sie beispielsweise die Marken-ID für „Starbucks“:

SELECT id, name
FROM `PROJECT_NAME.places_insights___us.brands`
WHERE name = "Starbucks"

Nachdem Sie die Marken-IDs abgerufen haben, können Sie sie im Filter brand_ids verwenden, wie in der folgenden Abfrage gezeigt:

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE `PROJECT_NAME.YOUR_DATASET.my_search_areas`,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'brand_ids', ["1413758728321880760"]
      )
);

Abfrageausgabe mit Google Cloud-Tools visualisieren

Analyse- und Business Intelligence Tools helfen Ihnen, Einblicke aus Ihren BigQuery-Daten zu gewinnen. BigQuery unterstützt mehrere Datenvisualisierungstools von Google und Drittanbietern mit denen Sie die Ergebnisse Ihrer Funktionen für Places Insights-Daten analysieren können.

Ein Beispiel für die Visualisierung der Ergebnisse einer Funktion finden Sie in der Referenz zu PLACES_COUNT_PER_H3. Weitere Informationen zum Visualisieren von Places Insights-Ergebnissen finden Sie unter Abfrageergebnisse visualisieren.

Einschränkungen und Anforderungen für Funktionen

Für Places Count-Funktionen gelten die folgenden Einschränkungen und Anforderungen:

  • Die Funktionen unterstützen nur COUNT-Statistiken.
  • Ein Mindestsuchbereich von 40,0 × 40,0 Metern (1.600 m2) ist erforderlich.
  • Größenbeschränkung für Parameter:Das JSON-Objekt, das als Parameter an die Funktionen übergeben wird, ist auf 1 MB beschränkt. Die Auswirkungen dieser Beschränkung hängen von der Funktionsversion ab:
    • Bei V2-Funktionen (PLACES_COUNT_V2, PLACES_COUNT_PER_TYPE_V2) gilt diese Beschränkung nur für das JSON-Objekt der Filter. Da Geografien separat über einen Tabellenparameter bereitgestellt werden, können diese Funktionen auf eine viel größere Anzahl von Eingabegeografien skaliert werden, ohne die Beschränkung für die JSON-Größe zu erreichen.
    • Bei PLACES_COUNT_PER_H3, PLACES_COUNT, PLACES_COUNT_PER_TYPE, und PLACES_COUNT_PER_GEO gilt diese Beschränkung für das gesamte JSON-Objekt, einschließlich aller Geografiedefinitionen. Dadurch kann die Anzahl der Geografien begrenzt sein, die in einem einzelnen Aufruf verarbeitet werden können.
  • Keine Unterstützung für das Filtern nach Orts-ID, Optionen für das Aufladen von Elektrofahrzeugen oder Adresskomponenten.
  • Sie können nur auf die Places Count-Funktionen für die Städte und Länder zugreifen, für die Sie ein Abo abgeschlossen haben. Informationen zum Dataset-Zugriff finden Sie unter Places Insights einrichten.
  • Bei Filterparametern (z. B. geography oder types) wird die Groß-/Kleinschreibung beachtet und sie müssen genau mit den Parameternamen übereinstimmen. Andernfalls schlägt die Abfrage fehl.