На окраинах мегаполисов кипит тотальная застройка человейниками… А тем временем их жители ездят учиться, закупаться продуктами и лечиться за многие километры от дома. Хайлоад по-краснодарски: в школах параллельные классы с А по Я, 30-40 учеников в каждом и уроки во много смен. Нагрузочное тестирование по-питерски: очереди из больных не вмещаются в поликлинику и тянутся по улице. И это только начало: крупные города стремительно обрастают не пригодными для жизни районами без инфраструктуры.
В эфире проект ХоумХаб — карта для непредвзятого анализа качества городской среды. Наша цель — предоставить инструмент для оценки развитости инфраструктуры, состояния экологии, плотности застройки и других факторов, влияющих на качество жизни. Наше кредо — открытые данные, расчеты и код. Наши инструменты — OSM, PostgreSQL, python и C++.
В прошлый раз мы перемывали косточки удушающе-плотной застройке, а сегодня пройдемся по социальной инфраструктуре. Можно ли достоверно оценить ее доступность и где поджидают грабли?
![](https://habrastorage.org/webt/pr/1u/v6/pr1uv6poxuogqvndgik6g8drqcs.jpeg)
Гадание по фото: сколько здесь школ и поликлиник?
Облачная инфраструктура. Когда до магазина как до неба
Если инфраструктура в изобилии и под боком, она воспринимается как данность. Не возникает подозрений, что даже в соседнем районе дела обстоят не столь радужно. Массмедиа этому способствует и ловко перетягивает внимание на более удобные темы. Но нет-нет, да и проскочат в новостях отголоски назревающей беды:
- В краснодарской школе сформировано 33 параллельных класса. Школа рассчитана на тысячу детей, а принять вынуждена в 4 раза больше. Уроки будут проводиться в несколько смен. Интересно, какой уровень преподавания ожидается от раздавленных таким потоком учителей?
- В сочинских детских садах и школах закончились места. 46 учеников в классе — не предел. Администрация города утверждает, что место для строительства новых садов и школ… тоже закончилось. Уважаемые застройщики, не волнуйтесь. Для новых человейников место найдется всегда.
- Чтобы попасть на прием ко врачу, московские пенсионеры стоят в очереди по 6-9 часов. Что характерно, поликлиники переполнены именно в районах, нашпигованных новостройками. И это столица, на благополучие которой тратятся космические средства. А что в городах с бюджетом поскромнее?
Дефицит социальной инфраструктуры — мина замедленного действия. Какой багаж знаний приобретет выпускник краснодарской школы? Свяжет ли здравомыслящий человек свою судьбу с медициной, окунувшись в адок местной поликлиники и заглянув в глаза выжатому как лимон терапевту?
Как бы то ни было, по-прежнему полно районов с развитой и продуманной социальной инфраструктурой. Почему какому-то району повезло, а соседний катастрофически от него отстает?
1920-е годы. В Союзе разворачивается грандиозное жилищное строительство. Такого еще не было! В рекордные сроки заселяются целые районы. Небывалые масштабы требуют поиска принципиально новых градостроительных решений. Так внедряется научное градостроительство, в частности районная планировка. Одна из ее задач — комплексное размещение инфраструктурных объектов, обязательно с учетом демографической динамики и перспектив развития района.
![](https://habrastorage.org/webt/bp/kr/tq/bpkrtq90cfirwqpvsvde-48kf88.jpeg)
Кроме удачных нововведений были и провальные эксперименты. Дом-коммуна — один из них. В квартирах нет кухонь. Предполагалось, что их заменит общая столовая.
1950-е годы. Применяются новые стандарты градостроительства и благоустройства. По смелым генеральным планам заново перестраиваются разрушенные войной города. Одно остается неизменным: планирование жилых районов идет в комплексе с инфраструктурой.
![](https://habrastorage.org/webt/zh/qm/c7/zhqmc7oddnzo__ueaame7hddgp8.jpeg)
Строительство сталинской высотки на Котельнической набережной. Первый этаж отведен под инфраструктуру: гастроном, почтовое отделение, кинотеатр, ресторан.
1990 — 2000-е годы. Ажиотаж вокруг мегаполисов приводит к тому, что плотность и высотность застройки растут. Пускает корни уплотнительная застройка. Под снос идут разорившиеся заводы и предприятия. Опустевшие промзоны застраиваются лофт-кварталами, деловыми пространствами и жилыми комплексами. Новые микрорайоны плохо пригодны для жизни. Инфраструктура никому не нужна. Кроме людей.
2020-е. Экстенсивное расползание мегаполисов, обрастание спальными районами. В лучшем случае инфраструктуру строят в догонку. Даже если власти запрещают вводить в эксплуатацию жилые объекты до сдачи школы или детского сада, минимальный набор очевиден во всем. Научное градостроительство — в прошлом. Вместо него — переполненные поликлиники, забитые под завязку школы. Ого, да нас ждет интересное будущее.
![](https://habrastorage.org/webt/ti/kk/qv/tikkqvayhuofdugvqj5d_stpst4.jpeg)
ЖК ЗИЛАРТ на месте легендарного автомобильного завода. До ближайшей поликлиники — от 20 минут на машине.
Так или иначе, но таковы современные реалии: в каком-то районе в каждом дворе по школе и детскому саду, а в соседнем — плотность застройки в четыре раза выше, но нет жизненно-необходимых объектов вроде поликлиники. И что со все этим делать?
Карта для людей
ХоумХаб — это карта для тех, кому небезразлично настоящее и будущее наших городов. При работе над картой мы придерживаемся принципа абсолютной открытости и воспроизводимости расчетов. Это единственный способ гарантировать объективность при оценке факторов, влияющих на качество жизни.
Расскажем о том, как мы добавили на карту социальную инфраструктуру и что из этого получилось.
![](https://habrastorage.org/webt/2d/ry/ll/2dryllmah9j6lrrdggulxxjt8ak.jpeg)
Теперь на карте можно анализировать социальную инфраструктуру. Активны два слоя: “Шаговая доступность” и “Объекты инфраструктуры”.
Фактор “инфраструктура” представлен двумя слоями на карте (и одним пунктом контекстного меню, но о нем позже):
- Шаговая доступность. Этот слой — тепловая карта города. На нем зеленым цветом отмечены места с отлично развитой инфраструктурой, а красным — с зачаточной или вовсе отсутствующей.
- Объекты инфраструктуры. Это слой с инфраструктурными объектами, по которым мы рассчитываем шаговую доступность.
Вообще говоря, объектов инфраструктуры невероятно много — от спорткомплексов и детских площадок до шиномонтажных мастерских. Но если учитывать их все при расчете доступности инфраструктуры, модель здорово усложнится. А этого без явной необходимости хотелось бы избежать.
Поэтому мы сконцентрировались на самом важном и выделили 5 категорий, по которым оцениваем шаговую доступность инфраструктуры:
— Магазины.
— Аптеки.
— Поликлиники.
— Детские сады.
— Школы.
Да, дети есть далеко не у всех. Но детские сады и школы — лакмусовая бумажка общей обустроенности. Если они отсутствуют, то наверняка это не единственная проблема района.
Среди перечисленных категорий нет одной безумно наболевшей. Парковок! В обсуждении под предыдущим постом многие из вас предлагали идеи об оценке парковочной доступности. Мы избороздили интернет в поисках источника данных о парковках. Ничего с адекватной полнотой и точностью не откопали. В OSM замаплены преимущественно наземные парковки, и те слабовато. На отдельных ресурсах есть данные по новостройкам, но ведь и этого мало. В общем, вопрос с парковками острый и пока открытый.
Помимо слоев, помогающих оценить инфраструктуру, мы добавили специальный пункт контекстного меню “Пешая доступность”. Он появляется по нажатию на дом и нужен для отображения изохрон пешей доступности.
Изохроны — это линии, очерчивающие область, границы которой достижимы из заданной точки за одинаковое время. Изохроны отвечают на вопрос: куда из исходного места я успею добраться за желаемое время.
![](https://habrastorage.org/webt/rf/l0/vu/rfl0vud-uad700iddfjwael_bp4.jpeg)
Изохроны в 5 и 10 минут вокруг выбранного дома. Активен слой “Объекты инфраструктуры”.
Итак, слой “Шаговая доступность” позволяет оценить уровень социальной инфраструктуры по шкале от “ужасно” до “отлично”. Слой “объекты инфраструктуры” отображает на карте самые важные категории инфраструктурных объектов. Контекстное меню “Пешая доступность” помогает понять, куда можно быстро дойти от выбранного дома.
Этого достаточно, чтобы не отрываясь от компа прикинуть доступность инфраструктуры возле интересующего дома или района.
Расчет шаговой доступности
Задача звучит так: рассчитать для домов значение шаговой доступности инфраструктуры. Использовать для этого шкалу, нижняя граница которой означает полное отсутствие инфраструктуры. Затем обобщить полученные значения на некоторую площадь. Это нужно, чтобы анализировать шаговую доступность не только приближая карту к конкретным домам, но и на обзорных зумах:
![](https://habrastorage.org/webt/1f/dl/om/1fdlomu2zn7klb4r0zfxkuck070.jpeg)
Плитка из гексагонов, цвет которых характеризует доступность инфраструктуры.
Задача решается за 8 простых шагов:
1. Импортируем данные. Извлекаем из OSM 5 категорий объектов социальной инфраструктуры: магазины, аптеки, поликлиники, детские сады, школы. Раскладываем их по табличкам в PostgreSQL с активированным расширением PostGIS.
2. Рассчитываем значимость инфраструктурных объектов. Некоторые инфраструктурные объекты важнее, чем другие. Помимо субъективной составляющей есть и объективные критерии. Так, ассортимент в сетевом супермаркете шире, чем в местном ларьке, а соотношение цена-качество более предсказуемое. Поэтому мы рассчитываем значимость для каждого объекта инфраструктуры:
3. Ищем ближайшие к дому объекты. Для каждого дома находим объекты инфраструктуры, расстояние до которых не превышает 1.5 км. Затем в игру вступает навигационный движок с открытым исходным кодом valhalla. С его помощью от дома до выбранных объектов прокладываются пешеходные маршруты. Valhalla возвращает не только геометрию маршрута, но и ожидаемое время в пути. Оно-то нам и пригодится.
Если бы наша лень превалировала над желанием добиться точного результата, мы бы забили на использование навигационного движка и ограничились просто вычислением расстояния от дома до объекта по прямой и делением его на среднюю скорость пешехода. Такой наивный подход игнорирует преграды на пути в виде водоемов, заборов и железных дорог, а это, мягко говоря, приводит к искаженным результатам.
![](https://habrastorage.org/webt/zi/p_/da/zip_das4ed9kcclzx0vim1ncfgs.jpeg)
Слева: расчет расстояния между домом и объектами инфраструктуры по прямой, без учета рек и дорог. Справа: расчет расстояния с помощью навигационного движка. Это медленнее, но точнее.
4. Рассчитываем шаговую доступность инфраструктурных объектов. Во-первых, фильтруем объекты: оставляем только те, что в 15-минутной доступности.
Затем из значения выводим
— доступность объекта по шкале
. Значение 0 означает, что до объекта придется идти средним шагом минут 15. 1 означает, что объект находится близко к дому или даже в самом доме.
5. Определяем суммарный вес инфраструктурных объектов. Мы получили набор инфраструктурных объектов с их значимостью и доступностью. Для каждого объекта выводим его значимость для конкретного дома, будем считать это весом :
Суммируем веса всех объектов и получаем итоговый вес инфраструктуры возле дома:
6. Вычисляем коэффициент диверсификации объектов. Он равен количеству категорий объектов в шаговой доступности от дома , деленному на общее количество рассматриваемых нами категорий
:
Например, если возле дома обнаружены только поликлиники и детские сады, коэффициент диверсификации будет равен
.
7. Получаем итоговое значение шаговой доступности. У нас есть все, чтобы вывести некоторое число и по нему судить о том, насколько хорошо представлена инфраструктура в шаговой доступности возле дома. Назовем его . Он равен суммарному весу инфраструктурных объектов, умноженному на коэффициент диверсификации:
8. Обобщаем для обзорных зумов. Разбиваем карту на гексагоны, для каждого гексагона усредняем шаговую доступность всех попавших в него домов.
Естественно, в предложенной схеме есть уязвимость, о которой не стоит забывать: никакие расчеты не имеют смысл, если исходные данные содержат ошибки. Не секрет, что в OSM много устаревших и некорректных данных, некоторые микрорайоны вообще отсутствуют. Но мы верим в открытую картографию, силу сообщества и его перспективы. Верят и корпорации, которые все активнее и активнее инвестируют свои ресурсы в развитие OSM. А это значит, что в обозримом будущем качество данных в OSM будет неуклонно расти.
Шаговая доступность на примерах. Хороший, плохой, эко
Кейс “как надо”. Районы с развитой социальной инфраструктурой без труда отыскиваются на карте. К счастью, их все еще много. Как правило это старые районы, в частности — центры городов. Например, центр Челябинска:
![](https://habrastorage.org/webt/el/da/ap/eldaapf8uhz-gm3gey1q3v5btii.jpeg)
В центре Челябинска с инфраструктурой все отлично.
Интереснее рассмотреть пару кейсов с отвратительной инфраструктурой.
Кейс “зато мы построили школу”. Да, в этом районе есть аж одна школа. Вмещает ли она всех детей школьного возраста из соседних человейников?
![](https://habrastorage.org/webt/yz/e7/nx/yze7nxlpzivpcab7sarclkh45z8.jpeg)
Новостройки вокруг школы на слое “Шаговая доступность” неумолимо окрашены в бордовый. На слое “Объекты инфраструктуры” видны школа и аптека. Красные линии — это Сокольническая ветка метро.
Этот пример — классика современности, он типичен для новых районов мегаполисов России. Громадные коробки, забитые людьми. Застройщик может раскошелиться на школу и уверять, что в ЖК шикарно развита социальная инфраструктура.
Кейс “у нас эко”. Со слов застройщика, уникальный уютный эко-район Новой Москвы. По факту — один из множества клочков земли, нашпигованных дешевыми малоэтажками. На 219 домов ни одного магазина, ни одной школы или детского сада, ни одной аптеки или поликлиники.
![](https://habrastorage.org/webt/i_/cr/np/i_crnpeie4vuhgjvckw-uaz2hre.jpeg)
Этот и подобные ему районы изящно сочетают недостатки жизни в мегаполисе и деревне. В ближайший супермаркет — только на машине. Не сюрприз, что все дома на слое “Шаговая доступность” — красные. Слой “Объекты инфраструктуры” включен, просто объектов нет.
![](https://habrastorage.org/webt/yk/jy/rl/ykjyrl7xqyv94p3dsber0018pcm.jpeg)
Через дорогу строится более дешевый район. Дорога небольшая, но оживленная, и под окнами эко-домов постоянно приключаются пробки.
Этот пример посвящен эксплуатации мечты горожанина вырваться поближе к природе. Но мыслеобраз “завтракаю и смотрю из окна на лес” трансформируется в реалии быта в многоквартирном доме с никакущей шумоизоляцией и постоянной необходимостью куда-то и зачем-то ездить.
Но что мы все о магазинах да об аптеках? Давайте о самом проекте!
Чем мы занимались эти пол года
Опрос под предыдущим постом показал, что 72% из вас при выборе жилья в первую очередь ориентируются на транспортную доступность. Мы сразу же захотели за нее взяться… и, как в истории с парковочной доступностью, забуксовали на отсутствии данных. Для расчета транспортной доступности необходимы исторические данные по дорожному трафику. Ретроспектива дорожного трафика опубликована для некоторых европейских городов, но в России ничего подобного в открытом доступе нет.
Вот мы и переключились на социальную инфраструктуру, которая по результатам опроса заняла второе место в рейтинге ключевых факторов: за нее проголосовало 62%.
Помимо выкатки социальной инфраструктуры мы успели много важных дел:
- У нас появился полноценный сервер-сайд! Во-первых, это сервис гео-поиска. Он ищет адреса домов, улицы, города, метро и ЖК. И часто — находит. Во-вторых, навигационный движок для построения изохрон. Оба проекта на C++, быстрые и не прожорливые.
- Упростили интерфейс и освежили дизайн.
- Подготовили страницу “Данные и расчеты”, на которой описано, как устроены все слои на карте. Ведь смысл нашего проекта в максимальной воспроизводимости результатов и открытости расчетов.
- Пофиксили тонну мелких багов. Спасибо всем, кто репортил!
- По просьбам наших пользователей мы добавили на карту новые города. Помимо Москвы это Санкт-Петербург, Самара, Алматы, Архангельск, Екатеринбург, Тюмень, Челябинск, Сочи, Краснодар… Ха, да мы только начали!
- Теперь с нашей карты легко переключиться на карту OSM, спозиционированную в нужной точке. Это можно сделать по правой кнопке. Чрезвычайно удобно, если обнаруживаешь ошибку в данных и знаешь, как ее исправить.
- Мы выложили исходный код и документацию на GitLab. Ждем новых баг-репортов и пул-реквестов!
![](https://habrastorage.org/webt/x-/s8/nl/x-s8nlsiqae5mh5pfkscqub1g_q.jpeg)
Сочи и Краснодар с прошлой недели на карте! Море, солнце и слой “Рельеф”.
Жизнь ХоумХаба показывает, что даже силами маленькой команды энтузиастов можно планомерно развивать и улучшать проект. Кто-то занимается этим по выходным, кто-то — вечерами, кто-то — эпизодически подкидывает идеи… Но из этих небольших трудовложений выкристализовываются по-настоящему крупные фичи, и это впечатляет. В кооперации — сила!
Отдельное спасибо Irkest за чуткий выбор курса для развития проекта, Rostixman — за настоящую фронтендерскую магию, а engine9 — за спасение дизайна из моих бэкендерских лап.
Наши планы
У нас появились задумки, как запилить вменяемую транспортную доступность без исторических данных по пробкам. Рискнем их реализовать, но это будет непросто. Также обязательно искупим один застарелый грешок: каемся, слой “Экология” не настолько хорош, как хотелось бы. Мы доведем его до ума и по результатам выкатим пост.
И да, мы набираем добровольцев в нашу команду. Ресерч, оптимизация, изящные микросервисы, солидные монолиты. Новые фичи! Особенно будем рады питонистам. Пссст, у нас можно выкатываться в пятницу вечером.
Послесловие
Доступность социальной инфраструктуры формирует наше качество жизни. Речь об обеспечении потребностей в жизненно-важных услугах и товарах. В современных реалиях этот факт игнорируется. Научное градостроительство? Не, не слышали. Проработка социальной инфраструктуры на этапе планирования района? Спасибо, у комитета по архитектуре свои планы. Что до застройщиков, то им школы, поликлиники и прочая “социалка” априори не выгодна.
Вот и получается, что в школе 33 параллельных класса, пробиться на прием ко врачу могут только самые здоровые, а из эко-домов в булочную лучше ездить на такси.
Взяв за основу открытые данные, мы отразили на карте доступность инфраструктуры в нескольких крупных городах. Теперь любой желающий может составить собственное, не навязанное выгодоприобретателями мнение. Так в каких районах с инфраструктурой все отлично на самом деле, а в каких — только на словах застройщика?
![](https://habrastorage.org/webt/sh/-7/so/sh-7soc2-abhdg06a7mzl0pr2rg.jpeg)
В школах Китая до сих пор есть классы с сотней учеников. Но в Поднебесной работают над ошибками и активно развивают социальную инфраструктуру. А мы напротив идем к тому, чтобы побить китайский анти-рекорд.