Aplikacja do analizy migracji klimatycznych, ubóstwa i mobilności

Przegląd
To case study opisuje współpracę naszego zespołu z Luksemburskim Instytutem Badań Społeczno-Ekonomicznych (LISER) przy tworzeniu interaktywnej aplikacji mapowej do wizualizacji wzorców migracyjnych pod wpływem zmian klimatycznych. Aplikacja ma na celu wspieranie badaczy i decydentów w rozumieniu trendów migracyjnych oraz podejmowaniu świadomych decyzji na podstawie szczegółowych i dostępnych danych.
Jej podstawowym celem było stworzenie intuicyjnego, opartego na mapie i skalowalnego narzędzia do wizualizacji danych migracyjnych. Umożliwiło to LISER-owi efektywne wykorzystanie rozległych zbiorów danych i algorytmów do lepszego podejmowania decyzji i angażowania interesariuszy.
O LISER
LISER jest poświęcony wysokiej jakości badaniom w naukach społecznych. Platforma Systemów Informacyjnych (IS) wspiera działalność badawczą LISER, zapewniając solidną, innowacyjną i skalowalną infrastrukturę danych i IT. Platforma integruje zasady privacy-by-design, dbając o to, by kwestie prywatności były wbudowane w system od samego początku. Zapewnia to bezpieczeństwo, integralność i prywatność danych, czyniąc z LISER zaufany zasób dla badaczy i decydentów.
LISER koncentruje swoje badania na rozumieniu i rozwiązywaniu kluczowych wyzwań związanych z ruchami transgranicznymi napędzanymi przez politykę swobodnego przepływu UE, niestabilność polityczną, zmiany klimatyczne i nierówności globalne. Badania LISER mają na celu ocenę wzorców migracyjnych, analizę wpływu ekonomicznego i społecznego, opracowywanie narzędzi projekcyjnych oraz tworzenie baz danych wspierających interesariuszy w podejmowaniu decyzji politycznych i społecznych.
Wyzwanie
Głównym wyzwaniem było stworzenie pilota zdolnego do skutecznego prezentowania wyników symulacji przewidujących przyszłą migrację i ubóstwo wywołane zmianami klimatycznymi na dashboardzie. Wiązało się to z kilkoma złożonymi czynnikami:
- Integracja zaawansowanych algorytmów prognozujących migrację i ubóstwo spowodowane klimatem, opartych na scenariuszach IPCC.
- Prezentacja danych w przyjaznym dla użytkownika systemie opartym na mapie, który nie był czysto GIS-owy, lecz zawierał możliwości filtrowania danych.
- Stworzenie funkcjonalnego POC (Proof of Concept) demonstrującego potencjał systemu i stanowiącego fundament pełnej wersji. Od samego początku staraliśmy się myśleć szerzej — nie tylko w kategoriach MVP (minimum viable product).
- Brak bezpośredniej informacji zwrotnej od użytkowników końcowych — interakcje odbywały się przede wszystkim z ich przedstawicielami. Faza pilotażowa nie pozwalała na przeprowadzenie rozległych badań w kontekście docelowych użytkowników; etap odkrycia opierał się na wiedzy i percepcji reprezentantów tych grup.
Klient dysponował surowymi danymi i algorytmami, ale nie potrafił skutecznie wizualizować ani prezentować tych informacji. Nie istniała żadna mapa ani wizualna reprezentacja danych migracyjnych, a pierwotny blueprint był kłopotliwy i niepraktyczny do wyświetlania danych.
Szybkie, przyjazne dla użytkownika narzędzie do wizualizacji opartej na mapie, umożliwiające szczegółowe filtrowanie danych i wspierające decydentów w samorządach lokalnych. Prototyp jest minimalistyczny i przejrzysty, zapobiega przeciążeniu informacjami i jest zaprojektowany tak, by łatwo skalować go na potrzeby przyszłych rozszerzeń.
System obsługuje około 2,3 miliona pikseli na mapie, z których każdy reprezentuje obszar 5×5 km na całym globie.
Projekt został ukończony w około dwa miesiące — imponujące tempo jak na tak niestandardowe i złożone przedsięwzięcie.
Zobacz efekty naszej pracy! Oto działająca aplikacja.
Nasza praca
Odkrycie i planowanie
Projekt rozpoczęliśmy od intensywnej fazy odkrycia, by dokładnie zrozumieć potrzeby interesariuszy i złożoność danych. Była to dla nas szczególnie interesująca okazja, bo mieliśmy szansę współpracować z naukowcami. Faza ta polegała na szybkim zbieraniu wymagań i wniosków, co pozwoliło nam sprawnie przejść do etapów projektowania i developmentu.
Projekt
W fazie projektowania stworzyliśmy środowisko testowe do prezentacji danych na mapie, które umożliwiło szybkie prototypowanie i weryfikację koncepcji. Mocno postawiliśmy na minimalistyczny i przejrzysty design UI/UX, by zapobiec zmęczeniu użytkownika i uniknąć przeciążenia informacjami. Nasze podejście doprowadziło do stworzenia kontekstowego i skalowalnego interfejsu, który dostosowuje się do różnych danych wejściowych, zapewniając długoterminową użyteczność i aktualność systemu.
Zaprojektowana przez nas aplikacja to interaktywna mapa, w której każdy piksel reprezentuje obszar 5×5 km. Mapa używa kolorów do wskazywania trendów migracyjnych — wzrostów lub spadków populacji. Oprócz wizualizacji wzorców migracyjnych mapa integruje dane socjodemograficzne dotyczące wieku, płci i poziomu wykształcenia migrantów. Pozwala to użytkownikom — w tym urzędnikom i naukowcom — zobaczyć szczegółowe informacje o tym, kto migruje i dokąd.

System obsługuje rozbudowane opcje filtrowania, umożliwiając użytkownikom wyodrębnianie konkretnych grup demograficznych i analizowanie leżących u ich podstaw trendów. Funkcja ta jest szczególnie przydatna dla decydentów w samorządach lokalnych, którzy muszą określać, gdzie inwestować zasoby, które obszary wymagają uwagi i jakie polityki mogą pomóc ograniczyć migrację wywołaną zmianami klimatycznymi.
Development
Faza developmentu projektu LISER ruszyła niemal natychmiast, z silnym naciskiem na holistyczną współpracę z zespołem projektowym. Ta bliska kooperacja pozwoliła nam wdrożyć kluczowe funkcje i zapewnić, że system spełni zróżnicowane potrzeby użytkowników.
Wstępny development i implementacja funkcji
Nasze pierwsze prace developerskie skupiły się na integracji podstawowych funkcji: filtrowania danych, breadcrumbów do nawigacji oraz zwijanch modułów maksymalizujących widoczność mapy. Naszym celem było stworzenie przyjaznego interfejsu oferującego wiele metod dostępu do konkretnych obszarów danych, odpowiadających różnym preferencjom użytkowników. Dostęp do informacji był możliwy wieloma ścieżkami: przez przybliżanie mapy, menu rozwijane lub wybór danych z bocznej tabeli. Ta redundancja zapewniała, że nawigacja wizualna i strukturalna były równie dobrze obsługiwane, ułatwiając użytkownikom odnalezienie potrzebnych informacji.
Przetwarzanie i optymalizacja danych
Architektura aplikacji została oparta na Next.js i Tileserver-gl. Dane klienta były dostarczane w plikach TIFF z metadanymi — formacie nieodpowiednim do bezpośredniego wyświetlania w sieci ze względu na rozmiar, często wynoszący kilkaset MB. Aby zoptymalizować wydajność, wstępnie przetworzyliśmy te dane do formatu .mbtiles i z wyprzedzeniem obliczyliśmy jak najwięcej informacji. To wstępne przetwarzanie znacząco zmniejszyło liczbę operacji wymaganych po stronie przeglądarki, zwiększając szybkość i efektywność aplikacji.
Kluczowe kroki optymalizacyjne obejmowały: konwersję danych shapefile do formatu GeoJSON, uproszczenie współrzędnych geograficznych w celu zmniejszenia rozmiaru pliku oraz przypisanie jednostek administracyjnych do każdego piksela mapy. Kroki te zminimalizowały potrzebę dodatkowych obliczeń po stronie przeglądarki i umożliwiły efektywne filtrowanie danych. Wstępnie obliczone zostały też kolory pikseli, co zapewniło szybkie i płynne renderowanie mapy. Końcowa transformacja danych do formatu .mbtiles zagwarantowała efektywne przechowywanie i szybkie renderowanie dużych zbiorów danych mapowych.
Formaty GeoJSON i MBTiles
GeoJSON to popularny format pliku do kodowania danych geograficznych, oparty na JSON (JavaScript Object Notation). Jest powszechnie stosowany w aplikacjach webowych do wizualizacji danych przestrzennych i obsługuje różne typy danych geometrycznych — punkty, linie i wielokąty — wraz z ich atrybutami. Elastyczność i kompatybilność GeoJSON czynią go idealnym wyborem dla webowych aplikacji mapowych.
MBTiles to z kolei format oparty na SQLite, zaprojektowany do przechowywania kafelków mapowych w uporządkowany i skompresowany sposób. Format ten pozwala na efektywne przechowywanie dużych zbiorów danych kartograficznych w jednym pliku, ułatwiając zarządzanie i szybkie renderowanie map. Zastosowanie MBTiles było kluczowe dla obsługi rozległych zbiorów danych wymaganych przez projekt LISER, zapewniając płynne i efektywne działanie mapy.
Niestandardowe interakcje z mapą
Jednym ze szczegółowych wymagań klienta było dostosowanie domyślnego zachowania mapy przy przybliżaniu, klikaniu elementów i innych interakcjach. Deck.gl umożliwił te dostosowania, utrzymując jednocześnie doskonałą wydajność. Ta elastyczność była kluczowa dla spełnienia wymagań klienta i poprawy doświadczeń użytkownika.
Podstawowymi wyzwaniami podczas developmentu były: wybór odpowiedniego stosu technologicznego, optymalizacja czasu ładowania aplikacji oraz zapewnienie wydajnych operacji na mapach. Wybór deck.gl w połączeniu z wstępnym przetwarzaniem danych do formatów .mbtiles i GeoJSON okazał się kluczowy dla pokonania tych wyzwań. Decyzje te pozwoliły nam stworzyć responsywną, wysokowydajną aplikację mapową spełniającą potrzeby i oczekiwania klienta.
Faza developmentu projektu LISER była kompleksowym wysiłkiem, który wymagał starannego planowania, innowacji technologicznych i silnego nacisku na doświadczenia użytkownika. Podejmując wyzwania projektu bezpośrednio i wykorzystując mocne strony wybranych technologii, z powodzeniem dostarczyliśmy solidne i skalowalne rozwiązanie mapowe.
Aspekty UI/UX
Kwestie UI/UX były centralnym elementem naszego podejścia — skupialiśmy się na tworzeniu przyjaznego interfejsu z minimalistycznymi elementami projektowymi. Zadbaliśmy o to, by system mógł obsługiwać szczegółowe dane socjodemograficzne, umożliwiając kompleksową analizę dla decydentów. Intuicyjny system nawigacji z rozbudowanymi możliwościami wyszukiwania i kontekstowymi wyświetlaczami informacji był integralną częścią naszego projektu.

Wyzwania techniczne
W trakcie projektu napotkaliśmy szereg wyzwań technicznych. Jednym z nich było opracowanie rozwiązania do wyświetlania danych tekstowych w interfejsie bez przeciążania użytkowników. Stworzyliśmy skalowalne moduły do sortowania i wyświetlania danych według różnych kryteriów oraz zaprojektowaliśmy interfejs z myślą o przyszłym wzroście objętości i złożoności danych. Obejmuje to możliwość dodania bardziej szczegółowych danych demograficznych, informacji na poziomie ulic i innych istotnych parametrów.

Korzyści dla użytkowników
Nasza filozofia projektowania była skoncentrowana na mapie — zadbaliśmy o to, by mapa pozostawała głównym punktem uwagi, niezasłoniętym przez nadmiar informacji. W tym celu wdrożyliśmy zwijane moduły oszczędzające miejsce na ekranie, pozwalające mapie zajmować jak największą część wyświetlacza. Podejście to zapewnia użytkownikom przejrzyste i efektywne środowisko pracy, ułatwiające analizę danych bez rozpraszania uwagi.
Aby dodatkowo usprawnić doświadczenia użytkownika, wprowadziliśmy grupowe opcje filtrowania, skracające czas interakcji z narzędziem i obniżające próg wejścia. Funkcja ta umożliwia szybkie dostosowanie widoków danych, zapewniając sprawne wyodrębnianie i badanie konkretnych zbiorów danych.
Nasza aplikacja wyróżnia się przyjaznym interfejsem, skalowalnością i kompleksową integracją danych, czyniąc ją nieocenionym narzędziem dla decydentów i naukowców. Wspiera zaawansowane procesy analizy i podejmowania decyzji, dostarczając przejrzystych, dostępnych i szczegółowych danych migracyjnych i socjodemograficznych. Prototyp z powodzeniem zaprezentował złożone dane w interaktywnym formacie mapowym, umożliwiając użytkownikom łatwe przeglądanie i eksplorację rozległych zbiorów danych.
Wyniki i wnioski
Jedną z wyróżniających cech naszej aplikacji jest zdolność do efektywnego zarządzania i wyświetlania ogromnej ilości danych.
System obsługuje około 2,3 miliona pikseli na mapie, z których każdy reprezentuje obszar 5×5 km na całym globie.
Projekt został ukończony w około dwa miesiące — imponujące tempo jak na tak niestandardowe i złożone przedsięwzięcie.
Czego się nauczyliśmy:
Szybkie, iteracyjne procesy odkrycia znacząco przyspieszyły harmonogram projektu, potwierdzając skuteczność startupowego podejścia do zarządzania i realizacji projektów na dużą skalę.
Holistyczne, oparte na współpracy podejście między zespołami projektowym i developerskim przyczyniło się do lepszej synergii i solidnych rozwiązań, zapewniając bezproblemowe działanie wszystkich elementów aplikacji.
Skalowalne projektowanie było kluczowe dla dostosowania się do przyszłych rozszerzeń, pozwalając aplikacji rosnąć i adaptować się do nowych wymagań danych bez utraty wydajności.
Nacisk na przejrzystość, minimalizm i intuicyjną nawigację zaowocował projektem zorientowanym na użytkownika, poprawiającym jego doświadczenia. Podejście to zapewniło, że aplikacja pozostaje dostępna i łatwa w obsłudze dla szerokiego grona użytkowników — od laików po ekspertów.
