Карта типов улиц Москвы
Идея поста взята из статей The Beautiful Hidden Logic of Cities и The Beautiful Hidden Logic of Cities –Worldwide. Автор изобразил на картах городов типы улиц разными цветами и поделился наблюдениями. Например, западная половина Сан-Франциско состоит только из avenue, а восточная — из street. В Лондоне за пределами исторического центра почти нет street, их сменяют roads. Мне стало интересно нарисовать такую же карту Москвы и посмотреть, какие закономерности можно увидеть.
В первой части сразу о результатах, технические подробности во второй части; также для интересующихся — исходный код в Jupyter Notebook на Github.
Карты
Полная карта Москвы внутри МКАД:

Ближе центр города:

Интерактивная карта, на которой можно по клику увидеть название каждой улицы.
Наглядно видно, как отличается характер разных районов. Центр города — плотная сеть улиц и переулков. Чем дальше от центра, тем меньше становится переулков, а за ТТК они почти полностью пропадают. Выделяется в центре проспект Академика Сахарова — единственный проспект в пределах Садового кольца, не считая переименованных проспекта Маркса (который включал в себя Моховую улицу, Охотный Ряд и Театральный проезд) и проспекта Калинина (улица Новый Арбат).
Ещё в центре почти нет проездов. Их вообще не так много в жилых районах, чаще проезды встречаются в местах промышленной застройки.
По бульварам и валам можно отследить старые границы города. Официально “вал” это не тип улицы, а только часть названия, например, улица Земляной вал или Валовая улица. Но мне показалось интересным выделить московские валы отдельно, чтобы увидеть, как старые укрепления отражены в современной топографии. Большая часть валов — напоминание о Камер-Коллежском вале, границе города до 1917 года.
За пределами Камер-Коллежского вала улицы становятся более разреженными. Проспекты и шоссе нарезают город на округа. По крупным улицам проходят границы жилых микрорайонов.
Не всё, конечно, поддаётся простому логическому объяснению. Продолжение проспекта Академика Сахарова без видимых причин становится улицей Маши Порываевой. “Улице” Новый Арбат больше к лицу было быть проспектом. Старокалужское шоссе, наоборот, сохранило название, но превратилось в узкий дворовой проезд. Олимпийский проспект не переходит в шоссе — запланированное продолжение на север так и не было построено, память о проекте сохранилась в названии.
В сравнении особенно со строго спланированными североамериканскими городами сетка московских улиц выглядит скорее как живой эволюционирующий организм, сохранивший память о своей истории, странные рудименты прошлого, следы необдуманных решений и нереализованных проектов.
Как это сделано
Данные я взял из выгрузки с Openstreetmap на http://download.geofabrik.de/ — из файла .shp.zip на странице региона. В этом архиве в файлах gis_osm_roads_free_1.* содержится информация о дорогах. С помощью GeoPandas я загрузил файлы в GeoDataFrame. С использованием shapely и GeoPy обозначил нужный геометрический регион (эллипс с осями 21 и 17 км) и выбрал из GeoDataFrame улицы внутри него.
В файлах геоданных перечислены все “дороги”, в том числе дворовые проезды и дорожки в парках. Для отображения на карте я выбрал улицы, у которых есть названия. Чтобы на карте не было пустых мест, также отобразил улицы без названий, которые по классификации OSM относятся к типам “trunk” или “primary”. Так обозначаются крупные автомобильные дороги, в черте города это эстакады, мосты или развязки.
Карта создана с помощью matplotlib. Чтобы переулки в центре не сливались, они изображены тоньше других улиц. Интерактивная карта сгенерирована с помощью folium.
Исходный код на Github.