Funkcja PLACES_COUNT_PER_GEO

Funkcja PLACES_COUNT_PER_GEO przyjmuje tablicę obszarów geograficznych do przeszukania i zwraca tabelę z liczbą miejsc na obszar. Jeśli na przykład jako obszar wyszukiwania określisz tablicę kodów pocztowych, odpowiedź będzie zawierać tabelę z osobnym wierszem dla każdego kodu pocztowego.

Funkcja PLACES_COUNT_PER_GEO zwraca tabelę, więc wywołaj ją za pomocą klauzuli FROM.

  • Parametry wejściowe:

    • Wymagany: parametr filtra geographies, który określa obszar wyszukiwania. Parametr geographies przyjmuje tablicę wartości zdefiniowanych przez typ danych GEOGRAPHY BigQuery, który obsługuje punkty, ciągi linii i wielokąty.

    • Opcjonalnie: dodatkowe parametry filtra, które pozwalają zawęzić wyszukiwanie.

  • Zwraca:

    • Tabela z 1 wierszem na każdy obszar geograficzny. Tabela zawiera kolumny geography (GEOGRAPHY), count (INT64) i place_ids (ARRAY<STRING>), przy czym kolumna place_ids zawiera maksymalnie 250 identyfikatorów miejsc dla każdego obszaru geograficznego.

Przykład: obliczanie liczby restauracji w każdym hrabstwie Nowego Jorku

W tym przykładzie generowana jest tabela z liczbą działających restauracji w poszczególnych hrabstwach w Nowym Jorku.

W tym przykładzie używamy publicznego zbioru danych BigQuery United States Census Bureau Data, aby uzyskać granice 3 hrabstw w Nowym Jorku: „Queens”, „Kings” i „New York”. Granice każdego hrabstwa są zawarte w kolumnie county_geom.

Następnie w tym przykładzie używana jest funkcja BigQuery ST_SIMPLIFY, która zwraca uproszczoną wersję county_geom. Funkcja ST_SIMPLIFY zastępuje prawie proste łańcuchy krawędzi pojedynczą długą krawędzią.

DECLARE geos ARRAY<GEOGRAPHY>;

SET geos = (SELECT ARRAY_AGG(ST_SIMPLIFY(county_geom, 100))
            FROM `bigquery-public-data.geo_us_boundaries.counties`
            WHERE county_name IN ("Queens","Kings", "New York") AND state_fips_code = "36");

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_GEO`(
  JSON_OBJECT(
      'geographies', geos,
      'types', ["restaurant"],
      'business_status', ["OPERATIONAL"]
      )
);

Przykład: obliczanie liczby według hrabstwa z filtrowaniem według marki

Poniższy przykład używa filtra brand_ids do pobierania liczby miejsc i przykładowych identyfikatorów miejsc dla konkretnych marek, takich jak Starbucks "1413758728321880760":

DECLARE geos ARRAY<GEOGRAPHY>;

SET geos = (SELECT ARRAY_AGG(ST_SIMPLIFY(county_geom, 100))
            FROM `bigquery-public-data.geo_us_boundaries.counties`
            WHERE county_name IN ("Queens","Kings", "New York") AND state_fips_code = "36");

SELECT * FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_GEO`(
  JSON_OBJECT(
      'geographies', geos,
      'brand_ids', ["1413758728321880760"], -- Filter for Starbucks
      'business_status', ["OPERATIONAL"]
      )
);

Wizualizacja wyników

Na poniższych obrazach widać te dane wyświetlane w Looker Studio jako mapa z wypełnieniem, w tym kontury każdego hrabstwa:

Mapa z zaznaczonymi sklepami spożywczymi i ogólnospożywczymi w Nowym Jorku, które są dostępne dla osób na wózkach.

Aby zaimportować dane do Looker Studio:

  1. Uruchom funkcję powyżej, aby wygenerować wyniki.

  2. W wynikach BigQuery kliknij Otwórz w -> Looker Studio. Wyniki są automatycznie importowane do Looker Studio.

  3. Looker Studio utworzy domyślną stronę raportu i zainicjuje ją tytułem, tabelą i wykresem słupkowym wyników.

    Domyślny raport w Looker Studio.

  4. Zaznacz całą zawartość strony i ją usuń.

  5. Kliknij Wstaw –> Mapa kartogramu, aby dodać do raportu mapę kartogramu.

  6. W sekcji Typy wykresów -> Konfiguracja skonfiguruj pola w taki sposób:

    Konfiguracja mapy termicznej w Looker Studio.

  7. Wypełniona mapa wygląda jak powyżej. Możesz też wybrać Typy wykresów -> Style, aby dodatkowo skonfigurować wygląd mapy.

Więcej informacji i przykładów wizualizacji wyników Statystyk miejsc znajdziesz w artykule Wizualizacja wyników zapytań.