Что такое 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 и начало работы
Процесс установки выглядит так:
$ 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 вы узнаете, как добавить в проект интерактивную карту-врезку :)
Если вы хотите получать самые интересные статьи про карты из блога Картетики, новости мира геотехнолоний и полезные ссылки от нашей команды, подпишитесь на рассылку. Письма приходят по вторникам раз в две недели.