Funkcja PLACES_COUNT_PER_TYPE

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: geography parametr filtra, który określa obszar wyszukiwania. Parametr geography przyjmuje wartość zdefiniowaną przez typ danych BigQuery GEOGRAPHY , 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_COUNT funkcja.

    • Wymagany: parametr types filtra, 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 kolumny type (STRING), count (INT64) i place_ids (ARRAY<STRING>), gdzie place_ids zawiera maksymalnie 250 identyfikatorów miejsc dla każdego type.

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:

Wyniki funkcji Places Count Type w Warszawie.

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