GeoLibre: jak uruchomić GIS w przeglądarce, Jupyter i na pulpicie bez instalowania ciężkiego oprogramowania
Jeśli kiedykolwiek pracowałeś z danymi przestrzennymi, znasz standardową sytuację. Chcesz szybko podejrzeć GeoJSON lub wykonać kilka zapytań przestrzennych na pliku Parquet — i otwierasz QGIS. Aplikacja się ładuje, pobiera moduły, a na podstawową wizualizację kończysz zużywając kilka gigabajtów RAM i czasu na konfigurowanie warstw.
Deweloperzy z społeczności OpenGeos postanowili podejść do problemu od innej strony. Stworzyli GeoLibre — lekką platformę do pracy z danymi geoprzestrzennymi, która działa bezpośrednio w przeglądarce, wewnątrz notebooków Jupyter i jako samodzielna aplikacja desktopowa.
Co kryje się pod maską
Architektura projektu łączy kilka nowoczesnych technologii webowych. Frontend jest zbudowany w React i TypeScript. MapLibre GL JS oraz deck.gl odpowiadają za renderowanie map 2D i 3D.
Najciekawsza część dzieje się podczas przetwarzania danych. Zamiast wysyłać ciężkie pliki geoprzestrzenne na zewnętrzne serwery, GeoLibre wykorzystuje DuckDB-WASM z rozszerzeniem przestrzennym. Plik jest przetwarzany po stronie klienta. Przeciągasz plik GeoJSON lub Parquet do okna przeglądarki, a lokalne DuckDB wykonuje zapytania SQL bezpośrednio w pamięci Twojego urządzenia.
Wersje desktopowe i mobilne są zbudowane przy użyciu Tauri v2. Przekłada się to na kompaktowy rozmiar dystrybucji i niskie zużycie zasobów w porównaniu z tradycyjnymi rozwiązaniami opartymi na Electron.
Praktyczne możliwości
Narzędzie obejmuje większość codziennych zadań dla geoanalityków i deweloperów.
Lokalny Spatial SQL w przeglądarce
DuckDB-WASM umożliwia pisanie zapytań spatial SQL bez uruchamiania PostgreSQL z PostGIS. Możesz wykonywać operacje łączenia warstw, obliczać strefy buforowe i agregować dane bezpośrednio w interfejsie aplikacji.
Praca z danymi 3D i skalami czasowymi
GeoLibre obsługuje pracę z 3D Tiles i obiektami wektorowymi o objętości. Wyraźnym przykładem z materiałów demo projektu jest mapa 3D budynków Manhattanu.

Każdy budynek jest wyekstrudowany według wysokości i pokolorowany na podstawie roku budowy. Za pomocą wbudowanego suwaka czasu możesz odtworzyć animację i obejrzeć, jak miasto było zabudowywane od 1850 do 2025 roku.

Mapowanie innych planet
Twórcy projektu nie ograniczyli się do Ziemi. Platforma zawiera mapy bazowe z OpenPlanetaryMap i USGS Astrogeology.

Możesz przełączyć się na Księżyc, Marsa, Merkurego, Wenus lub księżyce Jowisza. Każde ciało niebieskie ma zdefiniowaną własną elipsoidę, więc obliczenia odległości i powierzchni pozostają dokładne.
Integracja z Python i Jupyter
Oddzielna paczka Python geolibre jest dostępna dla naukowców zajmujących się danymi. Umożliwia osadzanie interaktywnych map bezpośrednio w komórkach Jupyter Notebook. Możesz przekazać ramkę DataFrame z Pandas lub GeoPandas do widżetu i natychmiast otrzymać gotową reprezentację kartograficzną.
Jak wypróbować
Najszybszy sposób to otwarcie wersji webowej web.geolibre.app. Nie wymaga rejestracji ani instalacji.
Jeśli pracujesz w Jupyter, paczkę instaluje się standardowym poleceniem:
pip install geolibre
W przypadku instalacji Conda użyj repozytorium conda-forge:
conda install -c conda-forge geolibre
W przypadku lokalnych buildów aplikacji desktopowej dla Twojej dystrybucji, będziesz potrzebować Node.js i Rust:
git clone https://github.com/opengeos/GeoLibre.git
cd GeoLibre
pnpm install
pnpm tauri dev
Dla kogo jest ten projekt
GeoLibre jest przydatny dla deweloperów, badaczy i analityków danych, którzy potrzebują szybkiego narzędzia do przeglądania i wizualizacji danych geoprzestrzennych. Nie zastępuje w pełni ciężkich narzędzi GIS do złożonej kartografii, ale świetnie radzi sobie z szybkim wstępnym przetwarzaniem, prototypowaniem w Jupyter i prezentowaniem danych przestrzennych bezpośrednio w przeglądarce.
Powiązane projekty