Przegląd

Z tego dokumentu dowiesz się, jak tworzyć dynamiczne raporty geoprzestrzenne za pomocą Places Insights i Data Studio. Zwiększ 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łcać statyczne raporty w interaktywne narzędzia do analizy rynku w formie map cieplnych bez konieczności pisania kodu SQL dla każdego żądania. Umożliwiaj dostęp do złożonych danych o lokalizacji, wypełniając lukę między inżynierią danych a analityką biznesową.
Przyjęcie tego wzorca architektury zapewnia kilka kluczowych korzyści:
- Wizualna reprezentacja danych: przekształca dane Statystyk miejsc w interaktywne mapy i wykresy, które od razu pokazują gęstość przestrzenną i trendy.
- Uproszczone eksplorowanie 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 przepływ pracy tworzy wydajną architekturę raportowania. Przechodzi od statycznej linii 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ą bazową wartość geoprzestrzenną
Zanim wprowadzisz interaktywność, utwórz zapytanie podstawowe i upewnij się, że jest ono prawidłowo renderowane w Studiu danych. Korzystaj ze Statystyk miejsc i funkcji geoprzestrzennych BigQuery, aby agregować dane w siatkach sześciokątnych za pomocą systemu indeksowania H3. W wyniku tego działania otrzymasz dane wyjściowe zapytania, które możesz wykorzystać do wizualizacji za pomocą typu wykresu mapy wypełnionej w Studio danych.
1.1 Łączenie danych
Aby nawiązać połączenie początkowe, użyj tego statycznego zapytania. Jest ono kierowane 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 CARTO Analytics Toolbox (carto-os), która jest publicznie dostępna w Google Cloud BigQuery. Funkcja H3_FROMGEOGPOINT przekształca określone punkty lokalizacji w komórki H3, czyli system dzielący ś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łceniu punktów w sześciokąty możemy wizualizować gęstość firm w 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 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:
- Utwórz nowy pusty raport.
- Wybierz łącznik danych BigQuery.
- W menu po lewej stronie wybierz ZAPYTANIE NIESTANDARDOWE i kliknij Identyfikator projektu, w którym rozliczasz usługi.
- Wklej do edytora statyczne zapytanie podstawowe powyżej.
- Odznacz parametry Użyj starszej wersji SQL, Włącz zakres dat i Włącz adres e-mail osoby przeglądającej.
- Kliknij Dodaj.
1.2 Konfigurowanie wizualizacji geoprzestrzennej
Po połączeniu danych skonfiguruj Studio danych tak, aby prawidłowo rozpoznawało dane granic H3:
- Dodaj do obszaru raportu wizualizację Mapa wypełniona z menu Dodaj wykres.
- Upewnij się, że pole
h3_geo, które zawiera geometrię wielokąta, ma typ danych Geoprzestrzenne.- Obok nazwy połączenia kliknij ikonę Edytuj źródło danych (ołówka).
- Jeśli
h3_geoma wartość Tekst (ABC), w menu wybierz Dane geograficzne > Dane geoprzestrzenne. - Kliknij Gotowe.
- Zmapuj pole
h3_indexna pole Lokalizacja (pełniące rolę unikalnego identyfikatora). - Zmapuj pole
h3_geona Pole danych geoprzestrzennych (pełniące rolę geometrii wielokąta). - Przypisz pole
restaurant_countdo Danych dotyczących koloru.
Wyświetli to mapę gęstości restauracji według komórki H3. Ciemniejszy niebieski (domyślny kolor) oznacza komórkę z większą liczbą restauracji.

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_hoursw schemacie. - Godzina: filtruje miejsca na podstawie godzin otwarcia, porównując je z polami
start_timeiend_time.
Aby to zrobić, przekaż wybrane przez użytkownika parametry bezpośrednio do zmodyfikowanego zapytania Statystyki miejsc w czasie działania. W edytorze źródła danych w Studio danych musisz jawnie zdefiniować te parametry jako zmienne wpisane.
W Studio danych kliknij menu Zasób, 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 dokładnie pasować do bazy danych) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
Tekst | Lista wartości |
|
||||||||||||||||
p_day_of_week |
Tekst | Lista wartości |
|
||||||||||||||||
p_hour_of_day |
Tekst | Lista wartości |
|
Przykładowa konfiguracja parametru p_hour_of_day.

W przypadku parametru p_hour_of_day zwróć szczególną uwagę na kolumnę Value.
Ponieważ zapytanie SQL używa funkcji 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 kodem 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, np. @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:
- Dodaj do raportu 3 elementy sterujące Lista.
- 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
- Element sterujący 1:
Raport końcowy powinien wyglądać tak: Zmiana wartości w jednym z rozwijanych elementów sterujących spowoduje pobranie przez Studio danych żądanych danych ze Statystyk miejsc przed wizualizacją na mapie.

Krok 3. Udostępnij wyniki
Użyj narzędzia do udostępniania wbudowanego w Studio danych, aby udostępnić raport. Umożliwi to osobom wyświetlającym raport dynamiczne aktualizowanie wizualizacji 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 Statystyki miejsc w Studiu 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 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. Dostępność danych o markach znajdziesz w artykule Informacje o Statystykach miejsc. - Interaktywny wybór witryny: dodaj parametry
price_level(np. „Średnie” w porównaniu z „Drogie”) i minimalnerating, 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, umożliwiaj użytkownikom 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ąt: 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, a następnie użyj podzapytania, aby pobrać geometrię dla funkcjiST_CONTAINS.
- 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:
Współtwórcy
- David Szajngarten | Inżynier ds. relacji z programistami
- Henrik Valve | Inżynier ds. DevX