HOW OLD IS THIS HOUSE
Россия больших городов

Проект картографического издательства Кон-Тики,
рассказывающий о возрасте застройки 80 крупнейших городов страны

🤖📊🛠️🕵️‍♀️
Процесс сбора и анализа данных
Артур Кислицын
куратор проекта how-old-is-this.house
После 14 авторских карт, посвященных отдельным городам России, в спецпроекте издательства Кон-Тики how-old-is-this.house появилась большая интерактивная всероссийская карта возраста домов. Кроме статьи о результатах исследования я подготовил бекстейдж-рассказ о данных.

Расскажу о том, как были собраны данные и как их можно использовать

🎬📚 Пролог

Жизнь проекта how-old-is-this.house началась с выходом карты Петербурга в 2020 году, которую собрал Никита Славин — основатель издательства Кон-Тики. Затем вышли ещё 6 карт: Москвы, Владимира, Казани, Екатеринбурга, Воронежа, Калининграда и Архангельска, данные для которых собирались из разных источников и детально обрабатывались авторами (карта Калининграда — мой первый кропотливый проект). Весной 2021 года мы познакомились с программистом Сашей Качкаевым, который заинтересовался проектом и захотел автоматизировать процесс создания карт возраста домов. Так появился тот самый скрипт.

Скрипт Tooling for how-old-is-this.house — набор инструментов, которые написаны на TypeScript и которыми можно пользоваться с помощью командной строки. Для каждой отдельной территории нужно составить файл конфигурации.

Автоматизация принесла с собой большое облегчение для авторов и имела ряд крайне важных преимуществ:
  • Сбор данных стал быстрее — до 2-3 суток;
  • Единый алгоритм позволяет унифицировать данные и избежать человеческого фактора;
  • Скрипт проводит унификацию адресов, что позволяет минимизировать зависимость сбора данных от геокодирования;
  • Скрипт предоставляет удобный инструмент для сбора данных Росреестра.

С помощью нового помощника появились карты Пензы, Нижнего Новгорода, Кирова, Краснодара, Волгограда и Томска. Тем не менее на практике творческая роль автора совсем не потеряла значения: решение технических проблем, связанных с исходными данными, а также масштабная постобработка всё ещё лежит на плечах картографов.

🌐🚀 Новый масштаб

Появление универсального инструмента натолкнуло нас на мысль: нельзя ли таким образом собрать разом всю информацию по зданиям России?

Ответ на амбициозный вопрос оказался отрицательным. Россия очень просторная, вычислительные возможности ограничены, исходные открытые данные несовершенны.

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

🛠️🤖 Техника

Несмотря на кажущуюся лёгкость, сбор данных для восьми десятков городов оказался долгой и непростой задачей.

Сам механизм работы интересно описан в лонгриде Саши Качкаева о проекте карты Пензы. Здесь опишем основную структуру.

Скрипт собирает разные данные из следующих семи источников:
  • Проект «МинЖКХ»
  • Реестр Министерства Культуры
  • ОСМ
  • Росреестр
  • Викиданные
  • Викимапия
  • Викигид
Источники данных. Автор — Александр Качкаев
Росреестр — основной источник о возрасте и этажности нежилых зданий и индивидуальных домов. К сожалению, именно эта часть сбора данных доставляла больше всего хлопот: на один крупный город требовалось более двух суток непрерывного парсинга. На текущий момент (январь 2024 года) инструменты скрипта не позволяют парсить объекты с помощью API Росреестра, так как требуется пересборка скрипта и его запросов.

Иные проблемы были связаны с ограничениями скрипта по обработке границ городов со сложной геометрией и изъянами в открытых данных — это требовало ручного вмешательства в весь процесс.

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

🔍✨ Что полезного есть в этих данных?

Всё же несмотря на все преграды спустя год у меня получилось собрать огромный датасет на 3 миллиона зданий на полтора гигабайт в 80 городах.

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

😬⚡ Почему нужно быть осторожными?

Любой честный дата-проект должен открыто заявлять об ограничениях, вызванных условиями разработки. Наш набор данных заведомо не лишён ошибок: немалый процент объектов могут иметь неточности в имени, адресе, фотографиях, этажности, статусе многоквартирного дома или, что самое важное — в годе постройки.

На это есть ряд причин:
  • Государственные открытые данные в России, под которыми я имею в виду прежде всего Росреестр, нельзя назвать источниками удовлетворительного качества. Низкая доля геопривязанных объектов и недостаточная точность адресных перечней приводят порой к неприятным последствиям при объединении слоёв информации: некоторые здания буквально оказались не на своём месте в пределах квартала.
  • Адресные перечни объектов культурного наследия (ОКН) Минкульта также требуют внимательного отношения. Если аналитик орудует автоматическими инструментами, то он рискует потерять немало данных из-за того, что группы ОКН, например части крупных усадеб и монастырей, могут иметь адреса с разными литерами и не иметь геопривязки.
  • Опен-стрит-мэп, главный портал открытых пространственных данных, наполняемый много лет силами волонтёров, естественным образом не может гарантировать полное покрытие городов России информацией о геометриях зданий. В то время как в крупных городах пробелы в покрытии немногочислены, в небольших городах (например, Владикавказе) порой неразмеченными остаются целые кварталы, особенно индивидуальной жилой застройки.

Одним словом, при работе с данными в масштабе городского квартала необходима осторожная перепроверка информации.

Теперь перейдём к глобальным проблемам нашего датасета
  • Данные о годе постройки большинства дореволюционных зданий были утеряны ещё век назад — в базах данных для них указан 1917 год. Для Калининграда и Выборга характерна проблема 1945 и 1940 года соответственно (Выборгского района нет в датасете, но может появиться в будущем). В Калининграде такой эрзац-датировкой также иногда служит 1900 год.
  • У данных есть выбросы, унаследованные в первую очередь от Росреестра. Пока единственный крупный выявленный изъян — около полусотни советских зданий в Челябинске датируются 1900 годом (устранены при анализе данных, но оставлены в конечном слое данных).
  • Скрипт округляет неточные датировки (например, начало XIX века) для возможностей количественного анализа и визуализации данных. Текстовый формат сохраняется в отдельном поле.
  • Для немалой доли строений отсутствует информация об этажности: в ходе анализа такие здания считались одноэтажными.
И немного о приятных особенностях нашего набора данных:
  • Датасет Архангельска также включает в себя данные о Северодвинске и Новодвинске (не учтены в анализе данных);
  • Датасет Москвы включает в себя данные о Новой Москве. В анализе данных эти две части столицы разделены.

🙅‍♂️📉 Для чего не подходят эти данные?

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

Кроме того, при сравнении и анализе нужно быть осторожным с использованием абсолютных значений.

🗺️🎮 Интерактивная карта

Мы подготовили интерактивную бесшовную карту, которая существует параллельно с локальными проектами на каждый город или агломерацию. Для всероссийского проекта была разработана особая цветовая шкала: за основу мы взяли самую первую, петербургскую палитру, немного сгладили её оттенки для того, чтобы каждый исторический период можно было легко определить на глаз на карте любого города. Кроме того, эта палитра понятна для пользователей-дальтоников.
Выражаю искреннюю благодарность Александру Качкаеву, наделившему нас могущественным скриптом; Никите Славину, создавшему how-old-is-this.house; команде Геосемантике, поддерживавшей проект с технической стороны, и всем первым двенадцати авторам карт возраста домов!