Wizualizacja danych Statystyk Miejsc w Studiu danych

Przegląd

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

Z tego dokumentu dowiesz się, jak tworzyć dynamiczne raporty geoprzestrzenne za pomocą Statystyk miejsc i Studia danych. Wykorzystaj wartość danych o lokalizacji, umożliwiając osobom bez wiedzy technicznej uzyskiwanie odpowiedzi na pytania. Z tego przewodnika dowiesz się, jak przekształcić statyczne raporty w interaktywne narzędzia w stylu mapy termicznej do analizy rynku bez konieczności pisania kodu SQL dla każdego żądania. Zapewnij dostęp do złożonych danych o lokalizacji, wypełniając lukę między inżynierią danych a analityką biznesową.

Zastosowanie tego wzorca architektonicznego zapewnia kilka kluczowych korzyści:

  • Wizualna reprezentacja danych: przekształca dane ze Statystyk miejsc w interaktywne mapy i wykresy, które natychmiast pokazują gęstość przestrzenną i trendy.
  • Uproszczona eksploracja bez SQL: umożliwia członkom zespołu, takim jak analitycy rynkowi czy planiści nieruchomości, dynamiczne filtrowanie danych za pomocą wstępnie zdefiniowanych parametrów (np. zmiana „Miasta” lub „Pory dnia” za pomocą menu). Mogą analizować dane bez konieczności pisania kodu SQL.
  • Bezproblemowa współpraca: standardowe funkcje udostępniania Studia danych umożliwiają bezpieczne rozpowszechnianie tych interaktywnych statystyk.

Przepływ pracy rozwiązania

Poniższy przepływ pracy pozwala utworzyć wydajną architekturę raportowania. Przechodzi od statycznej bazy 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. Potrzebujesz dostępu do Studia danych, które jest bezpłatnym narzędziem.

Krok 1. Ustalenie statycznej wartości bazowej danych geoprzestrzennych

Zanim wprowadzisz interaktywność, utwórz zapytanie podstawowe i sprawdź, czy jest ono prawidłowo renderowane w Studiu danych. Użyj Statystyk miejsc i funkcji geoprzestrzennych BigQuery, aby agregować dane w siatkach sześciokątnych za pomocą systemu indeksowania H3. Spowoduje to wygenerowanie wyniku zapytania, który można wykorzystać w Studiu danych do wizualizacji typu mapy kartogramu.

1.1 Łączenie danych

Użyj tego zapytania statycznego, aby nawiązać połączenie początkowe. Kieruje 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 używa funkcji z zestawu narzędzi analitycznych CARTO (carto-os) dostępnego publicznie w Google Cloud BigQuery. Funkcja H3_FROMGEOGPOINT konwertuje określone punkty lokalizacji na komórki H3, czyli system, który dzieli świat na komórki siatki sześciokątnej.

Używamy tego przekształcenia, ponieważ mapa kartogramu w Studiu danych wymaga wielokątów (kształtów) do renderowania kolorów. Przekształcając punkty w sześciokąty, możemy zwizualizować gęstość firm na danym obszarze, zamiast nanosić na mapę tysiące nakładających się punktów.

Uwaga dotycząca progu agregacji

Wszystkie zapytania dotyczące Statystyk miejsc wymagają klauzuli WITH AGGREGATION_THRESHOLD. Ta ochrona prywatności zapewnia, że dane są zwracane tylko wtedy, gdy zagregowana liczba wynosi co najmniej 5.

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

Aby wdrożyć to rozwiązanie w Studiu danych:

  1. Utwórz nowy pusty raport.
  2. Jako łącznik danych wybierz BigQuery.
  3. W menu po lewej stronie wybierz ZAPYTANIE NIESTANDARDOWE i wybierz identyfikator projektu do rozliczeń.
  4. Wklej w edytorze podane wyżej statyczne zapytanie podstawowe.
  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. Skonfiguruj wizualizację geoprzestrzenną

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

  1. Dodaj do obszaru roboczego raportu wizualizację Mapa kartogramu z menu Dodaj wykres.
  2. Upewnij się, że pole h3_geo, które zawiera geometrię wielokąta, ma ustawiony typ danych Dane geoprzestrzenne.
    1. Kliknij ikonę Edytuj źródło danych (ołówek) obok nazwy połączenia.
    2. Jeśli h3_geo jest ustawione na Tekst (ABC), w menu wybierz Geolokalizacja > Dane geoprzestrzenne.
    3. Kliknij Gotowe.
  3. Zmapuj pole h3_index na Lokalizacja (które będzie działać jako unikalny identyfikator).
  4. Zmapuj pole h3_geo na Pole danych geoprzestrzennych (działające jako geometria wielokąta).
  5. Zmapuj pole restaurant_count na Dane koloru.

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

Mapa Londynu z nałożoną siatką sześciokątną, na której ciemniejsze niebieskie komórki wskazują większą koncentrację restauracji. Legenda wskazuje gęstość 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:

  • Miejscowość: określa miasto, którego dotyczy 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 osiągnąć, przekażesz parametry wybrane przez użytkownika bezpośrednio do zmodyfikowanego zapytania Statystyk miejsc w czasie działania. W edytorze źródeł danych Studia danych musisz jawnie zdefiniować te parametry jako zmienne typowane.

W Studiu danych wybierz menu Zasób, a następnie kliknij Zarządzaj dodanymi źródłami danych. W wyświetlonym panelu kliknij EDIT obok dodanego wcześniej źródła danych BigQuery Custom SQL.

W oknie Edytuj połączenie kliknij DODAJ PARAMETR. Dodamy 3 parametry z podanymi niżej wartościami.

Nazwa parametru Typ danych Dozwolone wartości Lista wartości (musi dokładnie odpowiadać bazie danych)
p_locality Tekst Lista wartości
Wartość Etykieta
London Londyn
Manchester w Manchesterze
Birmingham w 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 znaków 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 CAST(@p_hour_of_day AS TIME), wartości przekazywane ze Studia danych muszą być w ścisłym formacie HH:MM:SS (zegar 24-godzinny).

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

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

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;

Kliknij Połącz ponownie, aby zapisać zmiany. W zmodyfikowanym zapytaniu zwróć uwagę na nowe zmienne, takie jak @p_hour_of_day, które odpowiadają skonfigurowanym przed chwilą nazwom parametrów.

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

  1. Dodaj do raportu 3 elementy sterujące Lista rozwijana.
  2. W przypadku każdego elementu sterującego ustaw Pole sterujące tak, aby odpowiadało nowo utworzonym parametrom:
    • Sterowanie 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ć podobnie do tego poniżej. Zmiana wartości w jednym z menu spowoduje, że Studio danych pobierze żądane dane ze Statystyk miejsc, zanim zwizualizuje je na mapie.

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

Krok 3. Udostępnij wyniki

Aby udostępnić raport, użyj narzędzia do udostępniania wbudowanego w Studio danych. 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 udostępniania zagregowanych danych Statystyk miejsc w Studiu danych. Ta architektura pozwala uniknąć problemów związanych z wizualizacją ogromnych nieprzetworzonych zbiorów danych i zapewnia użytkownikom elastyczność w zakresie analizowania danych w różnych wymiarach, takich jak czas, lokalizacja i rodzaj działalności, w czasie zbliżonym do rzeczywistego. To zaawansowane narzędzie, które daje osobom niezwiązanym z technologią elastyczność w eksplorowaniu danych.

Następne kroki

Poznaj inne odmiany 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 termicznej między różnymi konkurentami i sprawdzanie ich względnego nasycenia na rynku. Informacje o dostępności danych dotyczących marek znajdziesz w artykule Informacje o danych Statystyk miejsc.
  • Interaktywny wybór lokalizacji: dodaj parametry price_level (np. „umiarkowane” i „drogie”) oraz minimalną wartość rating, aby umożliwić zespołom ds. nieruchomości dynamiczne filtrowanie obszarów pasujących do określonych profili demograficznych.
  • Niestandardowe obszary zasięgu: zamiast filtrować według nazwy miasta, pozwól użytkownikom definiować niestandardowe obszary badania.
    • 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)
    • Na podstawie wielokątów: w przypadku złożonych kształtów niestandardowych (np. obszarów sprzedaży) użytkownicy nie mogą łatwo wpisywać tekstu geometrycznego. Zamiast tego utwórz w BigQuery tabelę przeglądową zawierającą geometrie kształtów i przyjazną nazwę (np. „Strefa A”). Utwórz parametr tekstowy p_zone_name w Studiu danych, aby umożliwić użytkownikom wybór strefy, i użyj podzapytania, aby pobrać geometrię dla funkcji ST_CONTAINS.

Współtwórcy