Wizualizacja danych Statystyk Miejsc w Studiu danych

Przegląd

Diagram przepływu pracy ilustrujący wysyłanie przez Data Studio dynamicznych parametrów dotyczących miasta, dnia i godziny do Statystyk miejsc w BigQuery w celu wygenerowania geoprzestrzennej mapy gęstości.

Z tego dokumentu dowiesz się, jak tworzyć dynamiczne raporty geoprzestrzenne za pomocą Places Insights i Studia danych. Uwolnij wartość danych o lokalizacji, umożliwiając osobom niezwiązanym z technologią uzyskiwanie odpowiedzi na własne pytania. Z tego przewodnika dowiesz się, jak przekształcić statyczne raporty w interaktywne narzędzia do analizy rynku w formie mapy cieplnej bez konieczności pisania kodu SQL dla każdego żądania. Umożliwia dostęp do złożonych danych o lokalizacji, wypełniając lukę między inżynierią danych a analityką biznesową.

Wdrożenie tego wzorca architektonicznego zapewnia kilka kluczowych korzyści:

  • Wizualna reprezentacja danych: przekształca dane Statystyki miejsc w interaktywne mapy i wykresy, które od razu pokazują gęstość przestrzenną i trendy.
  • Uproszczona eksploracja bez SQL: umożliwia członkom zespołu, takim jak analitycy rynku czy planiści nieruchomości, dynamiczne filtrowanie danych za pomocą predefiniowanych parametrów (np. zmienianie „Miasta” lub „Pory dnia” za pomocą menu). Mogą oni eksplorować dane bez pisania ani jednej linii kodu SQL.
  • Bezproblemowa współpraca: standardowe funkcje udostępniania w Studio danych umożliwiają bezpieczne rozpowszechnianie tych interaktywnych informacji.

Przepływ pracy rozwiązania

Poniższy proces pozwala utworzyć wydajną architekturę raportowania. Przechodzi od statycznej wartości bazowej do w pełni dynamicznej aplikacji, zapewniając poprawność danych przed wprowadzeniem złożoności.

Wymagania wstępne

Zanim zaczniesz, wykonaj te instrukcje, aby skonfigurować Statystyki Miejsc. Musisz mieć dostęp do Studia danych, które jest bezpłatnym narzędziem.

Krok 1. Ustal statyczną wartość bazową danych geoprzestrzennych

Zanim wprowadzisz interaktywność, utwórz podstawowe zapytanie i upewnij się, że jest ono prawidłowo renderowane w Studio danych. Korzystaj ze Statystyk miejsc i funkcji geoprzestrzennych BigQuery, aby agregować dane w siatkach sześciokątnych za pomocą systemu indeksowania H3. Wygeneruje to dane wyjściowe zapytania, które można wykorzystać w Studio danych do wizualizacji za pomocą typu wykresu mapy wypełnionej.

1.1 Łączenie danych

Aby nawiązać początkowe połączenie, użyj tego statycznego zapytania. Kieruje reklamy na stałą lokalizację (Londyn) i kategorię (Restauracje), aby zweryfikować potok danych.

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    -- Note: Change 'gb' to your target country code (e.g., 'us')
    `places_insights___gb.places`
  WHERE
    'London' IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

Uwaga dotycząca agregacji przestrzennej

To zapytanie korzysta z funkcji z CARTO Analytics Toolbox (carto-os), która jest publicznie dostępna w Google Cloud BigQuery. Funkcja H3_FROMGEOGPOINT przekształca konkretne punkty lokalizacji w komórki H3, system, który dzieli świat na sześciokątne komórki siatki.

Używamy tego przekształcenia, ponieważ Mapa wypełniona w Studio danych wymaga wielokątów (kształtów) do renderowania kolorów. Dzięki przekształcaniu punktów w sześciokąty możemy wizualizować gęstość firm na określonym obszarze, zamiast rysować tysiące nakładających się na siebie kropek.

Uwaga dotycząca progu agregacji

Wszystkie zapytania dotyczące statystyk Miejsc Google wymagają klauzuli WITH AGGREGATION_THRESHOLD. Ta ochrona prywatności zapewnia, że dane są zwracane tylko wtedy, gdy zagregowana liczba jest równa co najmniej 5.

W kontekście tej wizualizacji, jeśli komórka siatki H3 zawiera mniej niż 5 restauracji, jest całkowicie pomijana w zbiorze wyników i na mapie będzie pusta.

Aby wdrożyć to w Studiu danych:

  1. Utwórz nowy pusty raport.
  2. Jako łącznik danych wybierz BigQuery.
  3. W menu po lewej stronie kliknij ZAPYTANIE NIESTANDARDOWE i wybierz identyfikator projektu, w którym chcesz sprawdzić płatności.
  4. Wklej do edytora statyczne zapytanie podstawowe powyżej.
  5. Odznacz parametry Użyj starszej wersji SQL, Włącz zakres dat i Włącz adres e-mail osoby przeglądającej.
  6. Kliknij Dodaj.

1.2. Konfigurowanie wizualizacji geoprzestrzennej

Po połączeniu danych skonfiguruj Studio danych tak, aby prawidłowo rozpoznawało dane granic H3:

  1. Dodaj do obszaru raportu wizualizację Mapa wypełniona z menu Dodaj wykres.
  2. Upewnij się, że pole h3_geo, które zawiera geometrię wielokąta, ma ustawiony typ danych Geoprzestrzenne.
    1. Obok nazwy połączenia kliknij ikonę Edytuj źródło danych (ołówka).
    2. Jeśli h3_geo ma wartość Tekst (ABC), w menu wybierz Geo > Geoprzestrzenne.
    3. Kliknij Gotowe.
  3. Zmapuj pole h3_index na Lokalizacja (pełniące rolę unikalnego identyfikatora).
  4. Zmapuj pole h3_geo na Pole danych geoprzestrzennych (pełniące rolę geometrii wielokąta).
  5. Przypisz pole restaurant_count do Dane o kolorze.

Spowoduje to wyrenderowanie mapy gęstości restauracji według komórki H3. Ciemniejszy niebieski (domyślny kolor) oznacza komórkę z większą liczbą restauracji.

Wypełniona mapa Londynu z nałożoną na nią siatką sześciokątną, na której ciemniejsze niebieskie komórki wskazują większe zagęszczenie restauracji. Legenda wskazuje liczbę gęstości w zakresie od 5 do 1215.

Krok 2. Wdróż parametry dynamiczne

Aby raport był interaktywny, dodamy do niego elementy sterujące, które pozwolą użytkownikowi wybrać jedną z tych opcji:

  • Lokalizacja: określa miasto, na którym skupia się raport.
  • Dzień tygodnia: filtruje miejsca na podstawie dnia, w którym są otwarte, korzystając z rekordu regular_opening_hours w schemacie.
  • Godzina: filtruje miejsca na podstawie godzin otwarcia, porównując je z polami start_time i end_time.

Aby to zrobić, przekaż wybrane przez użytkownika parametry bezpośrednio do zmodyfikowanego zapytania Statystyki miejsc w czasie działania programu. W edytorze źródła danych w Studiu danych musisz jawnie zdefiniować te parametry jako zmienne z określonym typem.

W Studio danych kliknij menu Zasoby, a następnie Zarządzaj dodanymi źródłami danych. W panelu, który się pojawi, kliknij EDIT obok dodanego wcześniej źródła danych BigQuery Custom SQL.

W oknie Edytuj połączenie kliknij DODAJ PARAMETR. Dodamy 3 parametry o wartościach podanych poniżej.

Nazwa parametru Typ danych Dozwolone wartości Lista wartości (musi być dokładnie zgodna z bazą danych)
p_locality Tekst Lista wartości
Wartość Etykieta
London Londyn
Manchester Manchester
Birmingham Birmingham
Glasgow Glasgow
p_day_of_week Tekst Lista wartości
Wartość Etykieta
monday Poniedziałek
tuesday Tuesday (wtorek)
wednesday Wednesday (środa)
thursday Thursday (czwartek)
friday Friday (piątek)
saturday Saturday (sobota)
sunday Niedziela
p_hour_of_day Tekst Lista wartości
Wartość Etykieta
03:00:00 3:00–4:00
08:00:00 8:00–9:00
19:00:00 19:00–20:00

Przykładowa konfiguracja parametru p_hour_of_day.

Interfejs konfiguracji parametru p_hour_of_day z sekcją listy wartości, w której ciągi czasu są mapowane na czytelne etykiety.

W przypadku parametru p_hour_of_day zwróć szczególną uwagę na kolumnę Value. Ponieważ zapytanie SQL używa znaku CAST(@p_hour_of_day AS TIME), wartości przekazywane z Studio danych muszą być w ścisłym formacie HH:MM:SS (zegar 24-godzinny).

Po skonfigurowaniu i zapisaniu wszystkich 3 parametrów zmodyfikuj połączenie z niestandardowym SQL BigQuery, aby odwoływać się do tych zmiennych za pomocą składni @.

Aby to zrobić, kliknij Edytuj połączenie i wklej zmodyfikowane zapytanie poniżej:

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    `places_insights___gb.places`
  WHERE
    -- Dynamic locality filter based on parameter
    @p_locality IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
    AND business_status = 'OPERATIONAL'
    AND EXISTS (
      SELECT 1
      FROM UNNEST(
        CASE @p_day_of_week
          WHEN 'monday' THEN regular_opening_hours.monday
          WHEN 'tuesday' THEN regular_opening_hours.tuesday
          WHEN 'wednesday' THEN regular_opening_hours.wednesday
          WHEN 'thursday' THEN regular_opening_hours.thursday
          WHEN 'friday' THEN regular_opening_hours.friday
          WHEN 'saturday' THEN regular_opening_hours.saturday
          WHEN 'sunday' THEN regular_opening_hours.sunday
        END
      ) AS hours
      WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
        AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
    )
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

Aby zapisać zmiany, kliknij Połącz ponownie. W zmodyfikowanym zapytaniu zwróć uwagę na nowe zmienne, takie jak @p_hour_of_day, które są powiązane z nazwami parametrów, które właśnie skonfigurowaliśmy.

Wróć do obszaru raportu, aby udostępnić te parametry użytkownikowi:

  1. Dodaj do raportu 3 elementy sterujące Lista.
  2. W przypadku każdego elementu sterującego ustaw pole sterujące tak, aby odpowiadało nowo utworzonym parametrom:
    • Element sterujący 1: p_locality
    • Element sterujący 2: p_day_of_week
    • Element sterujący 3: p_hour_of_day

Raport końcowy powinien wyglądać tak: Zmiana wartości w jednym z rozwijanych menu spowoduje pobranie przez Studio danych żądanych danych ze Statystyk miejsc przed wyświetleniem ich na mapie.

Końcowy raport interaktywny przedstawiający mapę gęstości restauracji w Glasgow z 3 filtrami w postaci menu u góry. Menu pory dnia jest rozwinięte i zawiera zakresy czasu, które można wybrać.

Krok 3. Udostępnij wyniki

Użyj narzędzia do udostępniania wbudowanego w Studio danych, aby udostępnić raport. Dzięki temu widzowie będą mogli dynamicznie aktualizować wizualizację na podstawie parametrów wybranych z list rozwijanych.

Podsumowanie

Ten wzorzec tworzy skalowalne, interaktywne narzędzie do raportowania, które wykorzystuje moc obliczeniową BigQuery do dostarczania zagregowanych danych Places Insights do Studia danych. Ta architektura pozwala uniknąć problemów związanych z wizualizacją ogromnych zbiorów danych pierwotnych i zapewnia użytkownikom elastyczność w zakresie eksplorowania danych w różnych wymiarach, takich jak czas, lokalizacja i rodzaj działalności, w czasie zbliżonym do rzeczywistego. To przydatne narzędzie, które zapewnia osobom niezwiązanym z technologią elastyczność w zakresie eksplorowania danych.

Następne kroki

Poznaj inne warianty raportów dynamicznych, parametryzując różne części schematu Statystyk miejsc:

  • Dynamiczna analiza konkurencji: utwórz parametr dla nazw brand, aby umożliwić użytkownikom natychmiastowe przełączanie mapy cieplnej między różnymi konkurentami i sprawdzanie ich względnego nasycenia na rynku. Informacje o dostępności danych o markach znajdziesz w artykule Informacje o danych Statystyk miejsc.
  • Interaktywny wybór witryny: dodaj parametry price_level (np. „Średnia” w porównaniu z „Droga”) i minimalną wartość rating, aby umożliwić zespołom ds. nieruchomości dynamiczne filtrowanie obszarów pasujących do określonych profili demograficznych.
  • Niestandardowe obszary docelowe: zamiast filtrować według nazwy miasta, możesz zezwolić użytkownikom na określanie niestandardowych obszarów badań.
    • Na podstawie promienia: utwórz 3 parametry liczbowe: p_latitude, p_longitude i p_radius_meters. Współrzędne można uzyskać z interfejsów API Google Maps Platform, w tym z Geocoding API. W zapytaniu wstaw te wartości do funkcji ST_DWITHIN:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Wielokątne: w przypadku złożonych kształtów niestandardowych (np. obszarów sprzedaży) użytkownicy nie mogą łatwo wprowadzać tekstu geometrii. Zamiast tego utwórz w BigQuery tabelę przeglądową zawierającą geometrie kształtów i przyjazną nazwę (np. „Strefa A”). Utwórz w Studio danych parametr tekstowy p_zone_name, aby umożliwić użytkownikom wybieranie strefy, i użyj podzapytania do pobierania geometrii dla funkcji ST_CONTAINS.

Współtwórcy