Funkcje zliczania miejsc to predefiniowane zapytania SQL, które są uruchamiane w BigQuery i są zalecanym sposobem wykonywania zapytań do zbioru danych Statystyki miejsc w celu uzyskania dokładnych liczby i identyfikatorów miejsc. Możesz też wysyłać zapytania bezpośrednio do zbioru danych, ale te 2 metody obsługują progi prywatności i obszary wyszukiwania:
Funkcje zliczania miejsc mogą zwracać dowolne liczby, w tym 0, ale wymagają minimalnego obszaru wyszukiwania o wymiarach 40,0 m na 40,0 m (1600 m2) (40,0 m na 40,0 m / 1600 m²). Funkcje zwracają też identyfikatory miejsc, których można użyć do wyszukiwania informacji o poszczególnych miejscach.
Zapytania do zbioru danych o miejscach mogą zwracać tylko liczby 5 i większe (pomijając niskie liczby od 0 do 4, aby zachować prywatność różnicową), ale nie mają ograniczeń co do rozmiaru 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.
Umożliwia ona natychmiastowe uzyskanie informacji o gęstości przestrzennej w standardowych komórkach siatki, zwraca identyfikatory miejsc do weryfikacji danych i jest specjalnie zaprojektowana do inżynierii cech geoprzestrzennych i modeli ML.
Wybieranie optymalnej funkcji zliczania miejsc
Statystyki miejsc obsługują kilka funkcji przestrzennych. Aby zoptymalizować wykonywanie zapytań, przetwarzanie równoległe i skalowalność wsadową, zalecamy używanie tych funkcji:
PLACES_COUNT_PER_H3: zwraca tabelę BigQuery z liczbą miejsc w komórce H3. Ta funkcja jest zalecana do analizy gęstości regionalnej i tworzenia map cieplnych.-
PLACES_COUNT_V2: zwraca tabelę zawierającą liczbę miejsc i przykładowe identyfikatory miejsc. Ta funkcja akceptuje parametr tabeli zawierający Twoje dane geograficzne. Dzięki bezpośredniemu przekazywaniu całej tabeli silnik wykonywania BigQuery może rozdzielać obciążenie i równolegle przetwarzać przecięcia przestrzenne, 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 funkcjiPLACES_COUNT_V2, przekazywanie danych 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.
Identyfikatory miejsc można używać w tych usługach:
Wykonywanie zapytań za pomocą funkcji zliczania miejsc
Aby wywołać funkcje, użyj tego formatu: [project name
(optional)].[table name].[function name].
Jeśli podczas konfigurowania Statystyk miejsc zmienisz nazwę połączonego zbioru danych, użyj nazwy niestandardowej zamiast domyślnych nazw tabel. Możesz też opcjonalnie podać nazwę projektu. Jeśli nie podasz nazwy projektu, zapytanie domyślnie będzie 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 zapytań za pomocą parametrów uwzględniających wielkość liter
Funkcje zliczania miejsc obsługują wiele filtrów, które pozwalają zawęzić wyszukiwanie. Te parametry (np. price_level lub types) uwzględniają wielkość liter i muszą dokładnie odpowiadać nazwom parametrów. Pełną listę opcji znajdziesz w dokumentacji
parametrów filtra.
W następnym przykładzie zastosujesz filtry, aby ograniczyć wyszukiwanie według minimalnej oceny użytkownika, poziomu cen, stanu firmy i tego, czy restauracja akceptuje psy, używając funkcji PLACES_COUNT_V2.
Najpierw użyj tabeli danych geograficznych lub przygotuj tabelę z wybranymi danymi 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 funkcję PLACES_COUNT_V2 z tabelą i obiektem JSON zawierającym filtry. Promień wyszukiwania jest uwzględniony w filtrach JSON i będzie stosowany 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: wysyłanie zapytań o liczbę restauracji i lokalizacje marek za pomocą funkcji PLACES_COUNT_V2
W tym przykładzie używamy 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:
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"] ) );
Odpowiedź to tabela BigQuery, która zawiera geo_id, dane geograficzne, liczbę i próbkę identyfikatorów miejsc.

W tym przykładzie używamy funkcji PLACES_COUNT_V2 do filtrowania według konkretnych identyfikatorów marek. W tym przykładzie filtrujemy lokalizacje Starbucks za pomocą identyfikatora marki
"1413758728321880760".
Aby znaleźć identyfikatory marek, według których chcesz filtrować, wyślij zapytanie do brands
tabeli w zbiorze danych (np. places_insights___us.brands). Więcej
informacji o zbiorze danych marek znajdziesz w artykule Pisanie zapytań za pomocą 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żyć 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"] ) );
Wizualizowanie danych wyjściowych zapytań za pomocą narzędzi Google Cloud
Narzędzia do analizy i analityki biznesowej pomagają odkrywać statystyki na podstawie danych BigQuery. BigQuery obsługuje kilka narzędzi Google i innych firm do wizualizacji danych, których możesz używać do analizowania wyników funkcji na podstawie danych Statystyk miejsc.
Przykład wizualizacji wyników funkcji znajdziesz w artykule Wizualizowanie wyników w dokumentacji funkcji PLACES_COUNT_PER_H3 referencyjnej. Więcej informacji o wizualizacji wyników Statystyk miejsc znajdziesz w artykule Wizualizowanie wyników zapytań.
Ograniczenia i wymagania dotyczące funkcji
Funkcje zliczania miejsc mają te ograniczenia i wymagania:
- Funkcje obsługują tylko statystyki
COUNT. - Wymagany jest minimalny obszar wyszukiwania o wymiarach 40,0 m na 40,0 m (1600 m2) (40,0 m na 40,0 m / 1600 m²).
- 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) ten limit dotyczy tylko obiektu JSON filtrów. Ponieważ dane geograficzne są podawane osobno za pomocą parametru tabeli, te funkcje mogą być skalowane do znacznie większej liczby danych geograficznych bez przekraczania limitu rozmiaru JSON. - W przypadku funkcji
PLACES_COUNT_PER_H3,PLACES_COUNT,PLACES_COUNT_PER_TYPE, iPLACES_COUNT_PER_GEOten limit dotyczy całego obiektu JSON, w tym wszystkich definicji danych geograficznych. Może to ograniczyć liczbę danych geograficznych, które można przetworzyć w jednym wywołaniu.
- W przypadku funkcji w wersji 2 (
- Brak obsługi filtrowania według identyfikatora miejsca, opcji ładowania pojazdów elektrycznych lub komponentu adresu.
- Możesz uzyskać dostęp do funkcji zliczania miejsc tylko w przypadku miast i krajów, które subskrybujesz. Informacje o dostępie do zbioru danych znajdziesz w artykule Konfigurowanie Statystyk miejsc.
- Parametry filtra (np.
geographylubtypes) uwzględniają wielkość liter i muszą dokładnie odpowiadać nazwom parametrów. W przeciwnym razie zapytanie się nie powiedzie.