Pierwsze kroki z Statystykami miejsc

Funkcje zliczania miejsc to wstępnie zdefiniowane zapytania SQL, które są uruchamiane w BigQuery. Są one zalecanym sposobem wysyłania zapytań do zbioru danych Statystyk miejsc w celu uzyskania dokładnych liczb i identyfikatorów miejsc. Możesz też wysyłać zapytania bezpośrednio do zbioru danych, ale te 2 metody zapytań obsługują progi prywatności i obszary wyszukiwania:

  • Funkcje liczby miejsc mogą zwracać dowolne liczby, w tym 0, ale wymagają minimalnego obszaru wyszukiwania o wymiarach 40,0 m na 40,0 m (1600 m2). Funkcje zwracają też identyfikatory miejsc, których można używać do wyszukiwania informacji o poszczególnych miejscach. Obsługują też analizę historycznych ciekawych miejsc w ramach wcześniejszych miesięcznych podsumowań za pomocą opcjonalnych filtrów dat.

  • Zapytania dotyczące zbioru danych miejsc mogą zwracać tylko liczby 5 i wyższe (pomijając niskie liczby 0–4 w celu zachowania prywatności różnicowej), ale nie nakładają żadnych ograniczeń na rozmiar obszaru wyszukiwania.

Jeśli nie musisz przeprowadzać złożonej analizy przestrzennej, zalecamy rozpoczęcie od funkcji zliczania miejsc, takich jak PLACES_COUNT_PER_H3. Zapewnia natychmiastowy wgląd w gęstość przestrzenną w ustandaryzowanych komórkach siatki, zwraca identyfikatory miejsc na potrzeby kontroli danych podstawowych i jest przeznaczony do inżynierii cech geoprzestrzennych i modeli ML.

Wybieranie optymalnej funkcji liczby miejsc

Statystyki miejsc obsługują kilka funkcji przestrzennych. Aby zoptymalizować wykonywanie zapytań, przetwarzanie równoległe i skalowalność zbiorczą, zalecamy korzystanie z tych funkcji:

  • PLACES_COUNT_PER_H3: zwraca tabelę BigQuery z liczbą miejsc na komórkę H3. Ta funkcja jest zalecana do analizy gęstości regionalnej i tworzenia map cieplnych choropletów.
  • PLACES_COUNT_V2: zwraca tabelę zawierającą liczbę miejsc i przykładowe identyfikatory miejsc. Ta funkcja akceptuje parametr tabeli zawierający dane geograficzne wejściowe. Przekazując całą tabelę bezpośrednio, silnik wykonywania BigQuery może rozdzielić obciążenie i przetwarzać przecięcia przestrzenne równolegle, co umożliwia bardzo wydajne przetwarzanie wsadowe na potrzeby analizy na dużą skalę.
  • PLACES_COUNT_PER_TYPE_V2: zwraca tabelę z liczbą miejsc i przykładowymi identyfikatorami miejsc, podzieloną według typu miejsca. Podobnie jak w przypadku PLACES_COUNT_V2, przekazanie danych geograficznych jako parametru tabeli umożliwia BigQuery natywne równoległe przetwarzanie przecięć przestrzennych w dużych zbiorach danych.
  • PLACES_COUNT_CHANGE: zwraca tabelę z liczbą miejsc oraz dodanymi i usuniętymi identyfikatorami miejsc między 2 podanymi miesiącami. Podobnie jak w przypadku PLACES_COUNT_V2, przekazanie danych wejściowych dotyczących obszarów geograficznych jako parametru tabeli umożliwia BigQuery natywne równoległe przetwarzanie przecięć przestrzennych w dużych zbiorach danych.

Oprócz liczby miejsc te funkcje zwracają też maksymalnie 250 identyfikatorów miejsc na element odpowiedzi.

Identyfikatorów miejsc można używać z:

Wykonywanie zapytań za pomocą funkcji Liczba miejsc

Aby wywołać funkcje, użyj tego formatu: [project name (optional)].[table name].[function name].

Jeśli podczas konfigurowania Statystyk miejsc nazwa połączonego zbioru danych została zmieniona, użyj nazwy niestandardowej zamiast domyślnych nazw tabel. Możesz też opcjonalnie podać nazwę projektu. Jeśli nie zostanie podany, zapytanie będzie domyślnie dotyczyć aktywnego projektu.

Na przykład:

PROJECT_NAME.places_insights___us.PLACES_COUNT_V2

Aby przekazać argumenty do funkcji, użyj JSON_OBJECT.

Filtrowanie wyników zapytania za pomocą parametrów z uwzględnieniem wielkości liter

Funkcje liczby miejsc obsługują wiele filtrów, które umożliwiają zawężenie wyszukiwania. W tych parametrach (np. price_level lub types) wielkość liter ma znaczenie i muszą one dokładnie odpowiadać nazwom parametrów. Pełną listę opcji znajdziesz w dokumentacji parametrów filtra.

Wykonywanie zapytań dotyczących zrzutów historycznych za pomocą parametru snapshot_date

Domyślnie funkcje liczby miejsc wysyłają zapytania do najnowszego dostępnego zbioru danych. Aby przeanalizować dane o miejscach z określonego miesiąca w przeszłości, dodaj do JSON_OBJECT opcjonalny parametr snapshot_date.

  • Format: YYYY-MM (na przykład '2026-07').
  • Domyślnie: jeśli ten parametr zostanie pominięty, funkcja automatycznie wysyła zapytanie do najnowszego zrzutu.

W tym przykładzie zapytanie dotyczy liczby restauracji w obszarach wyszukiwania zarejestrowanych w migawce z lipca 2026 r.:

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"],
      'snapshot_date', '2026-07' -- Optional historical snapshot month
  )
);

W kolejnym przykładzie zastosujesz filtry, aby ograniczyć wyszukiwanie według minimalnej oceny użytkowników, poziomu cen, stanu firmy i tego, czy restauracja zezwala na psy, używając funkcji PLACES_COUNT_V2.

Najpierw użyj wejściowej tabeli obszarów geograficznych lub przygotuj ją z wybranymi obszarami geograficznymi:

-- 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
);

Następnie wywołaj PLACES_COUNT_V2 z tabelą i obiektem JSON zawierającym filtry. Promień wyszukiwania jest uwzględniony w filtrach JSON i zostanie zastosowany wokół każdego punktu w tabeli my_search_areas.

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
      )
);

Przykład: zapytanie o liczbę restauracji i lokalizacje marek za pomocą PLACES_COUNT_V2

W tym przykładzie użyto funkcji PLACES_COUNT_V2 z niestandardową tabelą danych geograficznych my_search_areas, aby zwrócić liczbę działających restauracji w promieniu 1000 metrów od Empire State Building i Times Square w Nowym Jorku w lipcu 2026 r.:

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"],
      'snapshot_date', '2026-07'
      )
);

Odpowiedź to tabela BigQuery zawierająca geo_id, lokalizację geograficzną, liczbę i przykładowe identyfikatory miejsc.

Wyniki funkcji Liczba miejsc w Warszawie.

W poniższym przykładzie użyto funkcji PLACES_COUNT_V2 do filtrowania według określonych identyfikatorów marek. W tym przykładzie filtrujemy lokalizacje Starbucks, używając identyfikatora marki "1413758728321880760".

Aby znaleźć identyfikatory marek, według których chcesz filtrować, wyślij zapytanie do tabeli brands w zbiorze danych (np. places_insights___us.brands). Więcej informacji o zbiorze danych o markach znajdziesz w artykule Tworzenie zapytania z użyciem danych o markach.

Aby na przykład znaleźć identyfikator marki „Starbucks”:

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

Po uzyskaniu identyfikatorów marek możesz ich używać w filtrze brand_ids, jak pokazano w tym zapytaniu:

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"]
      )
);

Wizualizacja danych uzyskanych w wyniku zapytania za pomocą narzędzi Google Cloud

Narzędzia do analizy i rozwiązań analityki biznesowej pomagają odkrywać statystyki na podstawie danych BigQuery. BigQuery obsługuje kilka narzędzi do wizualizacji danych Google i firm zewnętrznych, których możesz używać do analizowania wyników funkcji na danych Statystyk miejsc.

Przykład wizualizacji wyników funkcji znajdziesz w sekcji Wizualizacja wyników w dokumentacji PLACES_COUNT_PER_H3. Więcej informacji o wizualizacji wyników Statystyk miejsc znajdziesz w artykule o wizualizacji wyników zapytań.

Ograniczenia i wymagania dotyczące funkcji

Funkcje liczby miejsc mają te ograniczenia i wymagania:

  • Funkcje obsługują tylko statystyki COUNT.
  • Wymagany jest minimalny obszar wyszukiwania o wymiarach 40 x 40 metrów (1600 m2).
  • Limit rozmiaru danych wejściowych parametru: obiekt JSON przekazywany jako parametr do funkcji jest ograniczony do 1 MB. Wpływ tego limitu zależy od wersji funkcji:
    • W przypadku funkcji w wersji 2 (PLACES_COUNT_V2, PLACES_COUNT_PER_TYPE_V2, PLACES_COUNT_CHANGE) ten limit dotyczy tylko obiektu JSON filtrów. Ponieważ obszary geograficzne są podawane oddzielnie za pomocą parametru tabeli, funkcje te można skalować do znacznie większej liczby wejściowych obszarów geograficznych bez osiągania limitu rozmiaru JSON.
    • W przypadku PLACES_COUNT_PER_H3, PLACES_COUNT, PLACES_COUNT_PER_TYPE i PLACES_COUNT_PER_GEO ten limit dotyczy całego obiektu JSON, w tym wszystkich definicji geograficznych. Może to ograniczyć liczbę obszarów geograficznych, które można przetworzyć w jednym wywołaniu.
  • Brak obsługi filtrowania według identyfikatora miejsca lub komponentu adresu.
  • Dostęp do funkcji Places Count masz tylko w przypadku miast i krajów, które subskrybujesz. Aby uzyskać dostęp do zbioru danych, zapoznaj się z artykułem Konfigurowanie Statystyk miejsc.
  • W parametrach filtrów (np. geography lub types) wielkość liter ma znaczenie i muszą one dokładnie odpowiadać nazwom parametrów, inaczej zapytanie się nie powiedzie.