Funkcja PLACES_COUNT_PER_TYPE zwraca tabelę z liczbą wystąpień każdego typu miejsca określonego w funkcji. Jeśli na przykład wyszukasz typy doctor, hospital i pharmacy, odpowiedź będzie zawierać tabelę z osobnym wierszem dla każdego typu.
Ponieważ funkcja PLACES_COUNT_PER_TYPE zwraca tabelę, wywołaj ją za pomocą klauzuli FROM.
Parametry wejściowe:
Wymagany:
geographyparametr filtra, który określa obszar wyszukiwania. Parametrgeographyprzyjmuje wartość zdefiniowaną przez typ danych BigQueryGEOGRAPHY, który obsługuje punkty, linie i wielokąty.Przykłady użycia różnych typów obszarów geograficznych wyszukiwania, takich jak obszary widoczne i linie, znajdziesz w sekcji
PLACES_COUNTfunkcja.Wymagany: parametr
typesfiltra, który określa typy miejsc do wyszukania.Opcjonalny: dodatkowe parametry filtra, które pozwalają zawęzić wyszukiwanie.
Zwraca:
Tabela z jednym wierszem na każdą wartość
types. Tabela zawiera kolumnytype(STRING),count(INT64) iplace_ids(ARRAY<STRING>), gdzieplace_idszawiera maksymalnie 250 identyfikatorów miejsc dla każdegotype.
Przykład: zwracanie liczby restauracji, kawiarni i barów
W tym przykładzie wyszukujesz wszystkie działające restauracje, kawiarnie i bary w określonym obszarze wyszukiwania zdefiniowanym jako wielokąt w Nowym Jorku.
Parametr types przyjmuje tablicę wartości STRING określających typy miejsc do wyszukania. Pełną listę możliwych wartości znajdziesz w sekcji
Typy miejsc.
W tym przykładzie użyto też funkcji BigQuery
ST_GEOGFROMTEXT
, aby zwrócić wartość GEOGRAPHY z wielokąta.
DECLARE geo GEOGRAPHY; SET geo = ST_GEOGFROMTEXT('''POLYGON((-73.985708 40.75773,-73.993324 40.750298, -73.9857 40.7484,-73.9785 40.7575, -73.985708 40.75773))'''); -- NYC viewport SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE`( JSON_OBJECT( 'types', ["restaurant", "cafe", "bar"], 'geography', geo, 'business_status', ['OPERATIONAL'] ) );
Ta funkcja zwraca tabelę z 3 wierszami – po jednym na każdy typ:

Przykład: zwracanie liczby wystąpień według typu z filtrem według marki
W tym przykładzie używamy filtra brand_ids, aby pobrać liczbę wystąpień według typu dla
konkretnych marek, np. Starbucks z identyfikatorem "1413758728321880760":
DECLARE geo GEOGRAPHY; SET geo = ST_GEOGFROMTEXT('POLYGON((-73.985708 40.75773,-73.993324 40.750298, -73.9857 40.7484,-73.9785 40.7575, -73.985708 40.75773))'); -- NYC viewport SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_TYPE`( JSON_OBJECT( 'types', ["cafe", "restaurant"], 'geography', geo, 'brand_ids', ["1413758728321880760"], -- Filter for Starbucks 'business_status', ['OPERATIONAL'] ) );