Статьи

Библиотека folium и пять любопытных примеров ее применения

WEB Программирование Картография
Пример интерактивной тепловой карты в folium / Источник: Mapping messy addresses part 2: insights from Folium

Что такое folium


Folium – это библиотека Python для легкой визуализации геоданных. Она предоставляет Python-интерфейс для leaflet.js, одной из лучших библиотек JavaScript для создания интерактивных карт.
Простая в использовании и производительная библиотека folium сочетает в себе мощь leaflet и простоту Python, и это делает ее отличным инструментом для создания интерактивных карт на Python. Она позволяет использовать возможности leaflet из Jupyter и легко получать доступ к структурам данных Python (например, pandas.DataFrame).
Folium имеет восемь встроенных подложек из OpenStreetMap, Mapbox и Stamen для придания картам особого стиля, а также поддерживает настраиваемые наборы тайлов с API Mapbox или Cloudmade. С Folium вы сможете работать с файлами GeoJSON и TopoJSON, создавать фоновые картограммы с палитрами от color-brewer, настраивать всплывающие подсказки и интерактивные карты-врезки.
Пример использования folium с базовой картой Stamen Toner / Источник: Plotting with Folium

Установка folium и начало работы


Процесс установки выглядит так:

$ pip install folium
или
$ conda install -c conda-forge folium
После установки вы можете добавить в свой проект карту мира всего парой строк:
world_map = folium.Map()
world_map
Или добавить интерактивную карту любой территории – только подставьте свои координаты:
coord = [61.707053, 30.699183] #Широта, долгота в градусах
my_map = folium.Map(location = coord, zoom_start = 14)
my_map

Здесь zoom_start – это начальный уровень масштабирования. После отображения карты его легко изменить путем увеличения или уменьшения масштаба.
Другие примеры начальных этапов работы с folium посмотрите на Google Colab.
Рекомендуем также узнать сильные стороны folium на примере проектов других пользователей: например, как поставить точки на интерактивную карту, как добавить кластеры точек и фоновые картограммы, как создать тепловые карты, а также как использовать кастомные иконки в виде любых изображений, чтобы использовать их как маркеры на своей карте.

Пять вариантов применения folium


Посмотрим подробно на некоторые применения folium – в них можно многому научиться и найти идеи для своих проектов.
Пример 1. Интерактивная карта со статистикой преступности

Источник: Creating interactive crime maps with Folium


В этом проекте вы узнаете, как таблицу с точками в формате .csv превратить в интерактивную карту с кластерами точек, а также сделать на основе данных фоновую картограмму с уровнями преступности.

Пример 2. Картографирование пожаров и визуализация данных SQLite

Источник: Creating an interactive map of wildfire data using Folium in Python


Этот проект с визуализацией данных о пожарах кроме folium использует GeoPandas и Branca. Здесь в простом виде показано, как создать интерактивную карту на основе датасета SQLite с данными о 1.88 млн пожаров и датасета USGS с полигонами.

Пример 3. Антропогенное воздействие на тропические леса

Источник: Human Impact on Amazon Rainforests: A Geospatial Analysis Using Python


В этой статье автор визуализирует статическое и динамическое воздействие человека на леса бассейна Амазонки. В этом ему помогают два важных аспекта folium: интерактивность и удобство кластеризации точечных объектов.

Пример 4. Визуализация данных о велосипедных поездках в Нью-Йорке на интерактивных и анимированных картах

Источник: Visualizing NYC Bike Data on interactive and animated maps with Folium plugins.


Автор этого проекта использует плагины и визуализирует открытые данные о велосипедных поездках в Нью-Йорке, чтобы получить анимированные интерактивные карты.

Проект 5. Оценка "страшности" городов и районов США

Источник: How Spooky is Your City? Mapping and Predicting Scary Stuff


В этом необычном проекте кластеры точек и тепловая карта показывают кладбища, дома с привидениями, сообщения о НЛО и о бигфуте. Кроме стильной визуализации в folium здесь вы найдете дата-анализ и прогноз страшных явлений (хотя автор отмечает, что страшные явления получаются трудно предсказуемыми, как и все мистическое).

Полезные ссылки:
●     Основы работы с folium – пошагово и доступно;
●     Подробно про работу с геоданными в Python и Jupyter;
●     Десять простых примеров использования folium

А в видео Interactive Maps in Python вы узнаете, как добавить в проект интерактивную карту-врезку :)

Если вы хотите получать самые интересные статьи про карты из блога Картетики, новости мира геотехнолоний и полезные ссылки от нашей команды, подпишитесь на рассылку. Письма приходят по вторникам раз в две недели.