историческая карта челябинска возраст зданий

Карта возраста зданий города: пошаговый алгоритм создания

Историческая карта Челябинска — результат моего изучения сервисов создания интерактивных карт. На карте указаны годы постройки зданий Челябинска. Красным цветом отмечены наиболее древние здания, желтым — современные постройки. Карта получилась настолько красивой, что сделал для нее сайт: karta74.net. На сайте описаны подробности проекта. Здесь же расскажу, как можно сделать интерактивную карту для своего города. Как обычно, без знаний программирования и вообще без каких-либо специальных знаний.

Как сделать красивую интерактивную карту со своим дизайном и со своими данными:

  1. Собрать базу данных (возраст зданий, этажность, тип здания — все, что вам нужно отобразить на карте).
  2. Провести геокодирование (соотнести адреса с координатами строений на карте).
  3. Обработать базу данных (группировать, удалить лишние данные).
  4. Оформить карту (я использовал Carto.com и Mapbox.com).

Подробнее о каждом этапе.

База данных

Основа карты — база данных в формате xls. Забегая вперед, 80% всего времени уходит на приведение данных в нужный вид, остальные 20% — на поиск недостающих данных и оформление. В окончательной таблице данных — более 40 тыс строк с координатами, адресами зданий, типом зданий (жилой дом, школа, торговый центр, офис, гаражи и т.д.), годом постройки. Данные собраны в несколько этапов, в основном автоматически, но не без ручной проверки и дополнения. На первом этапе достаточно найти «сырые» данные — обрабатывать и визуализировать их нужно в самом конце (после геокодирования). Часть работы можно сделать на сайте carto.com, часть — в Excel. Так выглядит окончательная таблица.

Окончательная база данных после объединения двух таблиц (первая в зеленой рамке — адреса и годы постройки)

Итак, сначала я нашел таблицу с адресами домов и годами их постройки на сайте ДомМинЖКХ (это были три столбца улица, дом, год постройки). Из этих данных сделал таблицу из ≈ 6 тыс адресов (объединил улицу и дом в один столбец) и годов постройки домов. Там были не все дома, поэтому годы постройки многих зданий исторического центра искал на других сайтах вручную (перечислены на karta74.net). Все остальные данные я получил автоматическим способом в процессе геокодирования.

Геокодирование

Геокодирование нужно для соотнесения адресов (и других данных) с координатами на карте (в моей таблице это первый столбец). Найти таблицу координатов для всех строений города-миллионника оказалось крайне сложно для человека, впервые узнавшего, что такое геокодирование. Пришлось прочитать множество статей и руководств и перепробовать десятки ресурсов. В итоге с задачей помог справиться англоязычный сайт: Mygeodata.cloud/osm.

Сайт для геокодирования mygeodata.cloud

Для получения таблицы с адресами и координатами зданий на карте:

  • В левом верхнем поле выберите тему географических объектов (дороги, точки-адреса, природные объекты, школы, жилые дома и пр.). Для своей карты я выбрал все здания (buildings) в виде многоугольников (polygon). В таблице будут отображены только те выбранные объекты.
  • Нажмите define location и выделите на карте нужную область. Есть два варианта выделения: прямоугольная область и многоугольник (выделение точками).
Пример выделения произвольной области на карте
присвоение координат зданию на карте геокодирование
Пример выделения прямоугольной области на карте
  • После выбора нужной области на карте нажмите ОК. В правом окне вы увидите объекты, попадающие в выделенную область карты (в моем случае все здания).
Нажмите зеленую кнопку для получения таблицы с адресами и координатами домов.
Выбирайте формат KML в списке форматов для скачивания (слева можно увидеть вес базы данных и тему)
  • Если выбран небольшой участок карты или узкая тема (например, только школы города), то база данных будет небольшой — до 5 Мб. Такую таблицу можно скачать бесплатно. Базу больше 5 Мб можно скачать за 2-4 доллара (pay and convert). Либо попробовать бесплатную часть из выбранных данных (convert a sample).

Для своей карты я скачал базу всех зданий (≈ 15 Мб) Челябинска за 3,9 доллара.

Переходим к следующему этапу — созданию карты из баз данных.

Обработать базу данных

На третьем этапе я загрузил базу геокодированных данных KML в конструктор карт carto.com. Для этого понадобилось зарегистрировать бесплатный аккаунт (он ограничен 150 Мб данных, 10 наборами данных и 3 картами).

Сайт Carto.com, личный кабинет пользователя

В верхней части сайта две вкладки — Карты (Maps) и Базы данных (Data). Загружаем файл KML с помощью кнопки New dataset.

Далее нажимаем Upload и перетаскиваем базу данных KML.

Затем находим выпадающее меню в базе данных (три точки справа в строке с названием) и нажимаем create map (создать карту).

Конструктор автоматически построит карту на основе загруженного файла геокодирования (KML). Справа мы видим большую карту, на которой отражаются все манипуляции с базой данных. Слева — полоска с инструментами для редактирования. Здесь можно добавить еще базы данных (4 в бесплатной версии сайта), а также нажав на существующую базу данных, поработать с ней.

Карта школ Челябинска

Для своей карты я объединил два собранных массива данных — (1) год, адрес и (2) адрес, координаты. Вторую таблицу я сделал в carto.com из загруженного на предыдущем этапе файла KML (на сайте он преобразовался в прямоугольники на карте, я скачал его в CSV и конвертировал в XLS). Объединение таблиц в одну проводится автоматически в Excel. Не буду на этом останавливаться (материалов по теме «как объединить две таблицы в Excel» много). Главное здесь привести столбец адресов в обоих таблицах к одинаковому виду. Далее я сделал еще один столбец, в котором разделил все здания на 5 групп по году постройки (до 1917 года, 1917-50, 51-2000, 2001-2020 годы и «сбор данных»).

Объединив две таблицы в одну и разбив все здания по группам, я загрузил ее снова на сайт carto.com и перешел к оформлению карты.

Оформление карты

На сайте можно настроить цвета объектов, шрифты, подписи, всплывающие подсказки, легенду карты. Для этого зайдите на вкладку базы данных в своей карте, откройте вкладку STYLE. Для окрашивания зданий разных лет разными цветами я выбрал цвет фигуры «зависит от данных» и выбрал столбец с группами зданий, затем присвоил разные цвета 5 группам зданий (до 1917 года, 1917-50, 51-2000, 2001-2020 годы и «сбор данных»).

Затем убрал контур фигур (если его оставить, то при увеличении карты контуры сливались в белое пятно). Настроил подписи, выбрав столбец годов постройки. Далее настроил всплывающее при окно (POP-UP), чтобы при наведении мышью на здание отображался его адрес.

Настройка легенды (вкладка LEGEND) еще проще.

Вернувшись к начальной странице карты (кнопка Back в левом верхнем углу), можно выбрать базовый слой карты (BASEMAP) и опубликовать интерактивную карту онлайн (PUBLISH).

В конструкторе карт заложено несколько базовых стилей карты-подложки, на которую накладываются многоугольники-здания. Можно выбрать стандартный, одноцветный слой, акварель и несколько других. Для своей карты я сделал оригинальный слой в виде нарисованной карты на сайте Mapbox.com. Если Carto.com позволяет работать с базами географических данных, то Mapbox.com помогает оригинально оформить карты (цвета, стили всех объектов, шрифты надписей, иконки) и затем использовать это оформление как подложку в сервисе Carto.

Алгоритм кратко:

  • сделать таблицу XLS (годы постройки зданий с адресами с сайта ДомМинЖКХ),
  • скачать геоданные зданий (файл KML) с сайта Mygeodata.cloud/osm,
  • загрузить файл KML на сайт Carto.com, скачать базу в формате CSV, конвертировать в XLS,
  • объединить две таблицы XLS по столбцу адресов,
  • загрузить получившуюся таблицу на сайт Carto.com, создать на ее основе карту,
  • оформить и опубликовать карту (можно использовать Mapbox.com для создания оригинального слоя-подложки).

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s