Pull to refresh

Широка, необъятна, интерактивна: оффлайн карта России с Plotly

Level of difficultyMedium
Reading time14 min
Views12K

Привет, Хабр!

На связи участник профессионального сообщества NTA Максим Алёшин.

Сегодня создание интерактивной карты на python не составляет большого труда: стоит подключить библиотеку (например, Folium или Bokeh), указать картографический сервер, и после выполнения нескольких «магических» строк кода ваши данные как на ладони!

Но что делать, если данные есть, визуализировать их хочется, а в сети, в которой вы работаете, нет доступа к картографическим серверам? В этом случае помогут Plotly и GeoPandas. Но придётся провести ряд подготовительных работ. В этом посте шаг за шагом я покажу, как построить интерактивную карту России по регионам с помощью Plotly, которая будет работать без интернета, регистрации и смс.

Оффлайн карта России с Plotly
Total votes 24: ↑22 and ↓2+20
Comments8

Визуальное представление выборов в Санкт-Петербурге — магия накрутки голосов

Reading time6 min
Views18K
Привет!

В сентябре этого (2019) года прошли выборы Губернатора Санкт-Петербурга. Все данные о голосовании находятся в открытом доступе на сайте избирательной комиссии, мы не будем ничего ломать, а просто визуализируем информацию с этого сайта www.st-petersburg.vybory.izbirkom.ru в нужном для нас виде, проведем совсем несложный анализ и определим некоторые «волшебные» закономерности.

Обычно для подобных задач я использую Google Colab. Это сервис, который позволяет запускать Jupyter Notebook'и, имея доступ к GPU (NVidia Tesla K80) бесплатно, это заметно ускорит парсинг данных и их дальнейшую обработку. Мне понадобились некоторые подготовительные работы перед импортом.

%%time 
!apt update
!apt upgrade
!apt install gdal-bin python-gdal python3-gdal 
# Install rtree - Geopandas requirment
!apt install python3-rtree 
# Install Geopandas
!pip install git+git://github.com/geopandas/geopandas.git
# Install descartes - Geopandas requirment
!pip install descartes

Далее импорты.

import requests 
from bs4 import BeautifulSoup 
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import geopandas as gpd
import xlrd

Описание используемых библиотек


  • requests — модуль для запроса на подключение к сайту

  • BeautifulSoup — модуль для парсинга html и xml документов; позволяет получить доступ напрямую к содержимому любых тегов в html

  • numpy — математический модуль с базовым и необходимым набором математических функций

  • pandas — библиотека для анализа данных

  • matplotlib.pyplot — модуль-набор методов построения

  • geopandas — модуль для построения карты выборов

  • xlrd — модуль для чтения табличных файлов

Настал момент собирать сами данные, парсим. Избирком позаботился о нашем времени и предоставил отчетность в таблицах, это удобно.
Читать дальше →
Total votes 56: ↑51 and ↓5+46
Comments25

Первые шаги в визуализации данных с использованием Geopandas и OSM

Reading time8 min
Views27K

image
У многих хоть раз возникала необходимость быстро нарисовать карту города или страны, нанеся на нее свои данные (точки, маршруты, тепловые карты и т.д.).
Как быстро решить такую задачу, откуда взять карту города или страны для отрисовки — в подробной инструкции под катом.

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments18

Как мы учились находить заказы по пути домой

Reading time7 min
Views5.1K

Всем привет, меня зовут Оля, и я работаю аналитиком в команде распределения заказов Ситимобила. Наша задача — оптимально находить водителей и предлагать им удобные заказы с учетом ряда ограничений и пожеланий. Поэтому у нас есть разные режимы работы, в том числе «домой»: в этом режиме водителям предлагаются заказы только по пути домой.

Нам жаловались на некоторые предложения: водители считали, что им предлагают заказы не по пути. Поэтому они часто отказывались от заказа после подачи автомобиля, что приводило к плохому пользовательскому опыту и у водителей, и у пассажиров. Мы решили пересмотреть алгоритм. Самый сложный вопрос в этой задаче — «что такое по пути?». Оказалось, каждый водитель понимает это по-своему.

Мы поделимся опытом решения этой аналитической задачи с геоданными. Расскажем, как мы собирали информацию, какие алгоритмы легли в основу текущей версии и с какими сложностями сталкивались в процессе.

Поехали
Total votes 27: ↑27 and ↓0+27
Comments8

Преступность в США и России: сравнительный обзор

Reading time11 min
Views122K

В предыдущем цикле статей я начал рассматривать открытые данные по преступности в США в разных контекстах (связь с расовой принадлежностью, преступления на почве нетерпимости, нападения на полицейских). Мне стало интересно сравнить преступность в США с ситуацией в нашей стране, благо эти данные тоже легко найти. Получилось познавательно. Интересно?

🎩🚬🔫 Да
Total votes 187: ↑157 and ↓30+127
Comments465

Как один мужик карту города рисовал

Reading time3 min
Views13K

Всем привет!



Сегодня поговорим о визуализации геоданных с помощью GeoPandas и Kepler.gl. Хотел бы рассказать, как я за пару дней построил вот такую карту, где высота полигонов регулировалась этажностью здания, а цвет - годом постройки.

Читать далее
Total votes 64: ↑61 and ↓3+58
Comments7

Визуализация данных GeoJSON с использованием GeoPandas и Python

Reading time3 min
Views11K

Ежесекундно в мире появляется огромное количество информации, которую обрабатывать и понимать человеку в большинстве случаев невозможно. Благодаря визуализации данных (построении графиков, диаграмм и нанесении данных на карты), люди могут анализировать информацию, делать выводы и строить прогнозы.

Автором данной статьи является доктор Саумен Атта - постдокторант Лаборатории математических наук в Нантском университете, Франция. Ознакомиться с его блогом можно по ссылке. Оригинал статьи вы можете найти тут.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments2

Пространственный анализ тренировок с помощью GeoPandas и Folium

Reading time11 min
Views6.6K

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

Для решения задач я использовал несколько библиотек Python, предназначенных для работы с пространственными данными и их визуализации – GeoPandas, PyProj, Shapely, Folium, Branca, H3-Pandas, OSMnx.

Подробное описание кода, примеры картографических изображений и ссылка на полный git-проект внутри.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments4