Leafmap – это пакет Python с открытым исходным кодом для создания интерактивных карт и геопространственного анализа. Он позволяет анализировать и визуализировать геоданные за несколько строчек кода в среде Jupyter (Google Colab, Jupyter Notebook и JupyterLab).
Leafmap построен на основе нескольких пакетов с открытым исходным кодом: folium и ipyleaflet для создания интерактивных карт, WhiteboxTools и whiteboxgui для анализа геоданных и ipywidgets для разработки интерактивного интерфейса. Инструменты Leafmap позволяют пользователям легко загружать векторные и растровые данные на карту и использовать мощный аналитический бэкэнд (WhiteboxTools) для выполнения геопространственного анализа непосредственно в пользовательском интерфейсе, не написав ни строчки кода.
Графический интерфейс WhiteboxTools, интегрированный в Leafmap. Источник – Qiusheng Wu
Leafmap предназначен для всех, кто хочет интерактивно анализировать и визуализировать геопространственные данные в среде Jupyter. Он особенно подходит для пользователей с начальными навыками программирования, но и для продвинутых программистов Leafmap может помочь при создании интерактивных веб-приложений.
Зачем нужен Leafmap, если и пакетов Python и так много
Не секрет, что есть множество пакетов Python для геопространственного анализа, таких как geopandas для векторных данных и xarray для растров. Есть и множество вариантов визуализации, начиная от специальных библиотек для создания карт (ipyleaflet и kepler.gl), и заканчивая общими инструментами, которые вдобавок поддерживают геоданные (hvPlot, GeoViews и plotly). У этих инструментов большие возможности, но отобразить и проанализировать геоданные из файлов различных форматов на интерактивной карте – сложная задача для начинающих пользователей. Многие инструменты также работают в одностороннем режиме, то есть они могут генерировать карты в браузере, но не поддерживают интерактивность и изменение элементов на карте.
Leafmap построен на двусторонней связи между фронтэндом (браузером) и бэкэндом (Python) и предоставляет множество удобных функций для загрузки и визуализации наборов данных с помощью одной строки кода.
Лучший вариант посмотреть на пакет Leafmap в работе – запустить учебник с интерактивными блокнотами в Google Colab. Первый же пример в Colab покажет, как создать интерактивную карту в пару строк кода:
!pip install leafmap
import leafmap
m = leafmap.Map(center=(50, 70), zoom=4)
m
Пример интерактивной карты в Leafmap. Через встроенные инструменты на ней уже можно менять оформление и добавлять фигуры или метки
Что можно делать с Leafmap
создавать полноценные интерактивные карты с помощью пары строк кода;
выбирать карты-подложки в интерактивном режиме без кода;
преобразовывать CSV в точки и отображать их в виде кластеров;
добавлять на карту свои векторные и растровые данные (шейп-файлы, GeoJSON, KML, GeoTIFF);
загружать и отображать данные OpenStreetMap с помощью одной строки кода;
добавлять на карту данные из базы данных PostGIS;
добавлять на карту легенду;
проводить геопространственный анализ с WhiteboxTools и whiteboxgui.