Przegląd

Z tego dokumentu dowiesz się, jak tworzyć dynamiczne raporty geoprzestrzenne za pomocą Statystyk miejsc i Studia danych. Wykorzystaj potencjał danych o lokalizacji, umożliwiając osobom niezajmującym się kwestiami technicznymi samodzielne uzyskiwanie odpowiedzi na pytania. Z tego przewodnika dowiesz się, jak przekształcić statyczne raporty w interaktywne narzędzia do analizy rynku w stylu mapy cieplnej bez konieczności pisania kodu SQL dla każdego zapytania. Umożliwiaj dostęp do złożonych danych o lokalizacji, aby zlikwidować lukę między inżynierią danych a analizą 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 natychmiast informują o gęstości przestrzennej i trendach.
- 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. zmiana „Miasta” lub „Pory dnia” za pomocą menu). Mogą oni eksplorować dane bez konieczności pisania choćby jednej linijki kodu SQL.
- Bezproblemowa współpraca: standardowe funkcje udostępniania Studia danych umożliwiają bezpieczne rozpowszechnianie tych interaktywnych statystyk.
Przebieg rozwiązania
Ten przebieg tworzy 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. Będziesz potrzebować dostępu do Studia danych, które jest bezpłatnym narzędziem.
Krok 1. Ustal statyczną wartość bazową geoprzestrzenną
Zanim wprowadzisz interaktywność, utwórz zapytanie podstawowe i upewnij się, że jest ono prawidłowo renderowane w Studiu danych. Użyj Statystyk miejsc i funkcji geoprzestrzennych BigQuery, aby agregować dane w siatki sześciokątne za pomocą systemu indeksowania H3. Spowoduje to wygenerowanie danych wyjściowych zapytania, których można użyć do wizualizacji za pomocą typu mapy kartogramu w Studiu danych.
1.1 Łączenie danych
Aby nawiązać połączenie początkowe, użyj tego zapytania statycznego. Kieruje ono 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) dostępnej publicznie w Google Cloud BigQuery. Funkcja
H3_FROMGEOGPOINT przekształca określone punkty lokalizacji w komórki H3,
czyli system, który dzieli świat na sześciokątne komórki siatki.
Używamy tej transformacji, ponieważ kartogram w Studiu danych wymaga do renderowania kolorów wielokątów (kształtów). Dzięki przekształceniu punktów w kształty sześciokątne możemy wizualizować gęstość firm w określonym obszarze, a nie rysować tysięcy nakładających się kropek.
Uwaga dotycząca progu agregacji
Wszystkie zapytania Statystyk miejsc wymagają klauzuli WITH AGGREGATION_THRESHOLD.
Ta ochrona prywatności zapewnia, że dane są zwracane tylko wtedy, gdy zagregowana liczba jest równa 5 lub większa.
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 pusta na mapie.
Aby zaimplementować to w Studiu danych:
- Utwórz nowy pusty raport.
- Jako łącznik danych wybierz BigQuery.
- W menu po lewej stronie kliknij ZAPYTANIE NIERUTYNOWE i wybierz identyfikator projektu rozliczeniowego.
- Wklej do edytora zapytanie podstawowe statyczne podane powyżej.
- Wyczyść 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 graniczne H3:
- W menu Dodaj wykres dodaj do obszaru roboczego raportu wizualizację Kartogram.
- Upewnij się, że pole
h3_geo, które zawiera geometrię wielokąta, ma ustawiony typ danych Geoprzestrzenne.- Obok nazwy połączenia kliknij ikonę Edytuj źródło danych (ołówka).
- Jeśli pole
h3_geoma ustawiony typ Tekst (ABC), w menu wybierz kolejno Dane geograficzne > Geoprzestrzenne. - Kliknij Gotowe.
- Przypisz pole
h3_indexdo Lokalizacji (pełniącej rolę unikalnego identyfikatora). - Przypisz pole
h3_geodo Pola geoprzestrzennego (pełniącego rolę geometrii wielokąta). - Przypisz pole
restaurant_countdo Dane koloru.
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.

Krok 2. Wdrażanie parametrów dynamicznych
Aby raport był interaktywny, dodamy do niego elementy sterujące, które umożliwią użytkownikowi wybór spośród 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 osiągnąć, przekażesz parametry wybrane przez użytkownika bezpośrednio do zmodyfikowanego zapytania Statystyk miejsc w czasie wykonywania. W edytorze źródła danych Studia danych musisz jawnie zdefiniować te parametry jako zmienne z typami.
W Studiu danych kliknij menu Zasób , a następnie Zarządzaj dodanymi źródłami danych. W wyświetlonym panelu kliknij EDIT obok
źródła danych BigQuery – niestandardowy SQL, które zostało dodane wcześniej.
W oknie Edytuj połączenie kliknij DODAJ PARAMETR. Dodamy 3 parametry z wartościami podanymi poniżej.
| Nazwa parametru | Typ danych | Dozwolone wartości | Lista wartości (musi dokładnie odpowiadać bazie 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 CAST(@p_hour_of_day AS TIME), wartości przekazywane
ze Studia danych muszą być w formacie HH:MM:SS (zegar 24-godzinny).
Po skonfigurowaniu i zapisaniu wszystkich 3 parametrów zmodyfikuj połączenie BigQuery – niestandardowy SQL, 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 odpowiadają nazwom parametrów ustawionym przed chwilą.
Aby udostępnić te parametry użytkownikowi końcowemu, wróć do obszaru roboczego raportu:
- Dodaj do raportu 3 elementy sterujące Lista rozwijana.
- 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:
Gotowy raport powinien wyglądać tak: Zmiana wartości w jednym z elementów sterujących listy rozwijanej spowoduje, że Studio danych pobierze żądane dane ze Statystyk miejsc przed wizualizacją na mapie.

Krok 3. Udostępnianie wyników
Aby udostępnić raport, użyj narzędzia do udostępniania wbudowanego w Studio danych. Umożliwi to osobom przeglądającym 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 Statystyk miejsc w Studiu danych. Ta architektura pozwala uniknąć pułapek związanych z wizualizacją ogromnych zbiorów danych pierwotnych i zapewnia użytkownikom końcowym elastyczność w zakresie eksplorowania danych w różnych wymiarach, takich jak czas, lokalizacja i typ firmy, w czasie zbliżonym do rzeczywistego. Jest to zaawansowane narzędzie, które zapewnia osobom niezajmującym się kwestiami technicznymi 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 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 marce znajdziesz w artykule Informacje o danych Statystyk miejsc data. - Interaktywny wybór lokalizacji: dodaj parametry
price_level(np. „Średnia” lub „Droga”) i minimalną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, umożliw użytkownikom definiowanie 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ć za pomocą interfejsów API Google Maps Platform, w tym interfejsu Geocoding API. W zapytaniu wstaw je do funkcji ST_DWITHIN:
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- Na podstawie wielokąta: 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 Studiu danych parametr tekstowy
p_zone_name, aby umożliwić użytkownikom wybór strefy, i 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ć za pomocą interfejsów API Google Maps Platform, w tym interfejsu Geocoding API. W zapytaniu wstaw je do funkcji ST_DWITHIN:
Współtwórcy
- David Szajngarten | Inżynier ds. relacji z programistami
- Henrik Valve | Inżynier DevX