Omówienie funkcji zliczania miejsc

Funkcje zliczania miejsc to kolejny sposób na wysyłanie zapytań dotyczących danych z Miejsc dostępnych w Statystykach miejsc. Są to predefiniowane zapytania SQL, które są uruchamiane w BigQuery i stanowią uzupełnienie zapytań o dane o miejscach. Główna różnica polega na tym, że funkcje nie wymuszają minimalnego progu liczby, ale minimalny obszar wyszukiwania:

  • Zapytania dotyczące zbiorów danych o miejscach mogą zwracać tylko liczby powyżej 5, ale nie mają ograniczeń co do wielkości obszaru wyszukiwania.

  • Funkcje zliczania miejsc mogą zwracać dowolne liczby, w tym 0, ale wymagają minimalnego obszaru wyszukiwania o wymiarach 40,0 m × 40,0 m (1600 m2).

Funkcje liczby miejsc mogą być przydatne, jeśli chcesz wiedzieć, kiedy zapytanie nie zwraca żadnych wyników, lub gdy potrzebujesz informacji o małej liczbie miejsc (poniżej 5). Na przykład możliwość zwracania niskich wartości jest ważna w przypadku zastosowań związanych z wyborem witryn.

Obsługiwane funkcje zliczania miejsc i kraje

Places Insights obsługuje te funkcje:

Oprócz liczby miejsc funkcje PLACES_COUNT_PER_TYPE, PLACES_COUNT_PER_GEOPLACES_COUNT_PER_H3 zwracają też maksymalnie 250 identyfikatorów miejsc w każdym elemencie odpowiedzi.

Podobnie jak w przypadku zbiorów danych o miejscach, funkcje zliczania miejsc są dostępne dla największego miasta w każdym z obsługiwanych krajów. Na przykład w przypadku Australii możesz uzyskać dostęp do funkcji zliczania miejsc w Sydney.

Pełną listę obsługiwanych miast i krajów znajdziesz w artykule Funkcje zliczania miejsc referencyjnych w BigQuery.

Tworzenie zapytań z użyciem funkcji

Jeśli podczas konfigurowania Statystyk miejsc zmienisz nazwę połączonego zbioru danych, użyj swojej niestandardowej nazwy zamiast domyślnych nazw tabel wymienionych tutaj. Możesz też opcjonalnie podać nazwę projektu. Jeśli nie zostanie podany, zapytanie zostanie domyślnie skierowane do aktywnego projektu. Na przykład [project name].[dataset name].places_sample.PLACES_COUNT.

Przykład funkcji zliczania miejsc

W tym przykładzie użyto funkcji PLACES_COUNT, aby zwrócić liczbę działających restauracji w promieniu 1000 metrów od Empire State Building w Nowym Jorku:

SELECT `places_insights___us___sample.PLACES_COUNT`(
  JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"]
      )
) as count;

Odpowiedź zawiera jedną liczbę:

Wyniki funkcji Liczba miejsc w Nowym Jorku.

W tym przykładzie instrukcja SELECT odwołuje się do funkcji PLACES_COUNT w przypadku Stanów Zjednoczonych, używając składni:

places_insights___us___sample.PLACES_COUNT

Pełną listę obsługiwanych miast i krajów znajdziesz w artykule Funkcje zliczania miejsc referencyjnych w BigQuery.

Użyj znaku  JSON_OBJECT , aby przekazać argumenty do funkcji. W tym przykładzie użyto funkcji BigQuery ST_GEOGPOINT do zwrócenia wartości GEOGRAPHY z punktu, a następnie przekazania tej wartości do parametru geography. Przekazuje też promień wyszukiwania wokół punktu i typ miejsca, "restaurant", do wyszukania.

Liczba miejsc według typu, lokalizacji geograficznej lub H3

Oprócz liczby miejsc funkcje PLACES_COUNT_PER_TYPE, PLACES_COUNT_PER_GEOPLACES_COUNT_PER_H3 zwracają też maksymalnie 250 identyfikatorów miejsc uwzględnionych w odpowiedzi.

Na przykład funkcja PLACES_COUNT_PER_TYPE zwraca tabelę z liczbą miejsc według typu miejsca. Odpowiedź zawiera tablicę identyfikatorów miejsc, które pasują do każdego typu. Zwrócone identyfikatory miejsc możesz wykorzystać do wyszukiwania informacji o poszczególnych miejscach.

Poniższe wywołanie funkcji zwraca liczbę miejsc o tych typach: restaurant, cafebar:

SELECT * FROM `places_insights___us___sample.PLACES_COUNT_PER_TYPE`(
  JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building
      'geography_radius', 1000, -- Radius in meters
      'types', ["restaurant", "cafe", "bar"],
      'business_status', ['OPERATIONAL']
      )
);

Ta funkcja zwraca tabelę z 3 kolumnami: type, countsample_place_ids. Kolumna count zawiera liczbę miejsc dla każdego type, a kolumna sample_place_ids zawiera maksymalnie 250 identyfikatorów miejsc dla każdego type.

Wyniki funkcji Place Count Type w Warszawie.

Stosowanie filtrów do funkcji

Zastosuj filtry, aby zawęzić kryteria wyszukiwania. Funkcje zliczania miejsc obsługują wiele filtrów, które pozwalają zawęzić wyszukiwanie. W kolejnym przykładzie zastosujesz filtry, aby ograniczyć wyszukiwanie według minimalnej oceny użytkowników, poziomu cen, statusu firmy i tego, czy restauracja akceptuje psy:

SELECT `places_insights___us___sample.PLACES_COUNT`(
  JSON_OBJECT(
      'geography', ST_GEOGPOINT(-73.9857, 40.7484), -- Empire State Building
      'geography_radius', 1000, -- Radius in meters
      'business_status', ['OPERATIONAL'],
      'types', ["restaurant"],
      'min_rating', 1.3,
      'price_level', ['PRICE_LEVEL_INEXPENSIVE', 'PRICE_LEVEL_MODERATE'],
      'allows_dogs', TRUE
      )
) as count;

Wizualizacja wyników

Narzędzia do analizy i analityki biznesowej są niezbędne, aby pomóc Ci odkrywać statystyki na podstawie danych z BigQuery. BigQuery obsługuje kilka narzędzi do wizualizacji danych Google i innych firm, których możesz używać do analizowania wyników funkcji na podstawie danych Places Insights.

Przykład wizualizacji wyników funkcji znajdziesz w sekcji Wizualizacja wyników. Więcej informacji i przykłady wizualizacji wyników Places Insights znajdziesz w artykule Wizualizacja wyników zapytania.

Ograniczenia i wymagania

Funkcje zliczania miejsc mają te ograniczenia i wymagania:

  • Obsługiwane są tylko statystyki COUNT.
  • Wymagany jest minimalny obszar wyszukiwania o wymiarach 40,0 m × 40,0 m (1600 m2).
  • Rozmiar danych wejściowych parametru liczby funkcji miejsca jest ograniczony do 1 MB.
  • Brak obsługi filtrowania według identyfikatora miejsca lub komponentu adresu.

Porównywanie funkcji zliczania miejsc i zapytań dotyczących zbioru danych o miejscach

W tej tabeli wymieniamy najważniejsze różnice:

Funkcje zliczania miejsc Zapytania dotyczące zbioru danych o miejscach
Interfejs 4 wstępnie zdefiniowane funkcje SQL, które generują COUNT statystyki: pojedyncza liczba, liczba według typu, liczba według lokalizacji geograficznej, liczba według komórki H3. Używa SQL do uruchamiania funkcji agregacji, takich jak COUNT, COUNT_IF, SUM i AVG.. Dodatkowe statystyki można generować za pomocą funkcji JOIN, GROUP BY, WHERE i innych.
Ograniczenia Wymusza minimalny obszar wyszukiwania o wymiarach 40,0 m × 40,0 m (1600 m2). Funkcja zwraca wynik nawet wtedy, gdy liczba agregacji jest mniejsza niż 5, o ile spełniony jest minimalny obszar wyszukiwania. Wymusza próg liczby 5, ale nie określa minimalnego obszaru wyszukiwania.
Obsługiwane filtry atrybutów Pełny schemat jest obsługiwany z wyjątkiem:
  • Miejsce id
  • Elementy adresu
Pełny schemat jest obsługiwany
Zalety
  • Może zwrócić dowolną liczbę.
  • Zoptymalizowany pod kątem wydajności i niskich kosztów przetwarzania.
  • Prosta obsługa. Nie musisz pisać skomplikowanych zapytań.
  • Sprawdza parametry wejściowe i zwraca błąd, co ułatwia korzystanie z funkcji i jej debugowanie.
  • Zwraca identyfikatory miejsc, których można używać do wysyłania zapytań do innych interfejsów API.
  • Umożliwia wykonywanie złożonych zapytań, takich jak zaawansowane filtrowanie i łączenie.
  • Nie wymusza minimalnego obszaru wyszukiwania.
  • Obsługuje dodatkowe funkcje agregujące poza COUNT, takie jak AVG, SUMGROUP BY.

Funkcje liczby miejsc odniesienia w BigQuery

Funkcje liczby miejsc obsługują te miasta i kraje. Musisz zasubskrybować każde miasto i każdy kraj osobno.

Miasto, kraj Nazwy tabel
Sydney, Australia places_insights___au___sample.FUNCTION_NAME
São Paulo, Brazylia places_insights___br___sample.FUNCTION_NAME
Toronto, Kanada places_insights___ca___sample.FUNCTION_NAME
Paryż, Francja places_insights___fr___sample.FUNCTION_NAME
Berlin, Niemcy places_insights___de___sample.FUNCTION_NAME
Londyn, Wielka Brytania places_insights___gb___sample.FUNCTION_NAME
Bombaj, Indie places_insights___in___sample.FUNCTION_NAME
Dżakarta, Indonezja places_insights___id___sample.FUNCTION_NAME
Rzym, Włochy places_insights___it___sample.FUNCTION_NAME
Tokio, Japonia places_insights___jp___sample.FUNCTION_NAME
Meksyk (miasto), Meksyk places_insights___mx___sample.FUNCTION_NAME
Madryt, Hiszpania places_insights___es___sample.FUNCTION_NAME
Zurych, Szwajcaria places_insights___ch___sample.FUNCTION_NAME
Nowy Jork, Stany Zjednoczone places_insights___us___sample.FUNCTION_NAME