Вік будівель на карті – це просто!

building-age-map-cover

Останнім часом з’являється дедалі більше карт, що відображають вік забудови міст.

Усе почалося з карти віку будівель Амстердаму, яка тепер вже розрослася на усе королівство Нідерладнів. Інші міста не схотіли бути осторонь, тому з часом було створено подібні карти для Нью Йорку / Брукліну, Портланда та його канадського сусіда Ванкувера.

portland-building-age

У Європі з’явилися Бареслона, Москва (працює не дуже коректно), Рейк’явік та Любляна.

barcelona-building-age

Іще є карта квартальної забудови Великої Британії та Уельсу, яка, хоча і не відображає окремих будівель, наглядно, ніби петчворк, показує шматочки міст різних епох.

london-buildng-age

Кожна з цих мап може поглинути людину на довгий час :) Усі вони мають різноманітний дизайн, яскраві кольорові палитри, додаткову інформацію, та водночас подібні одна до одної.

 

– А як щодо України? – спитаєте Ви.
– І ми не пасемо задніх! – відповідаємо ми.

Першою для України була зроблена карта Києва. Тут нічого дивного:)

kyiv-building-age

Ініциативна група киян створила карту за допомогою інформації з ріелтерських сайтів та оголошень про купівлю та оренду. Тому, нажаль, карта поки неповна.

Подібна карта була створена також для Львова. Про неї докладніше.

lviv-building-age

Ця карта візуалізує дані про вік будівель, їх Львівська міськрада виклала у вільний доступ, а спільнота ОСМ в свою чергу додала на мапу. Поки що не усі будинки отримали вік, і навіть Ви можете виправити це. Заходьте в інструмент редагування ОСМ для того, щоб додати рік зведення будівель (звичайно, якщо Ви його знаєте), які ще не мають даних.

Як це зроблено?

Візуалізація була виконана командою Intetics за допомогою open-source JavaScript бібліотеки для інтерактивних карт Leaflet. У якості підложки було використано растрові тайли за даними OpenStreetMap, на яких будівлі відображені за віковою класифікацією. При наведенні курсора на будівлю у верхній панелі карти можна побачити точний рік побудови, а також адресу споруди. Таке картографування потребує значної кількості ітерактивних точок чи полігонів, відображення яких на карті може суттєво сповільнювати роботу, а часом зовсім не спрацювати.

У нашому випадку інтерактивна частина карти імплементована за допомогою тайлів UTFGrid.

Що ж це за тайли?

UTFGrid – це дані, що представляють точки та полігони у текстовому форматі, звідти і назва. Свого роду “ASCII Art” (малюнки ASCII):

          !######$$$$%%% %%%% %
          !#######$$$$%%%    %%%
         !!#####   $$$%%%    %%%
         !######  $$$$%%% %% %%%
        !!!####  $$$$$%%%%  %%%%
      ! !###### $$$$$$%%%%%%%%%%
     ! !!#####  $$$$$$$%%%%%%%%%
    !!!!!####   $$$$$$%%%%%%%%%%
    !!!!!####   $$$$$$%%%%%%%%%%
    !!!!!####   $$$$$%%%%%%%%%%%
    !!!!!#####% $$   %%%%%%%%%%%
    !!!!!### #      %%%%%%%%%%%%
    !!! #####   ''''%%%%%%%%%%%%
     !   ###      ('%%%%%%%%%%%%
       ) ### #  ( ((%%%%%%%%%%%%
      ))  ##   (((((%%%%%%%%%%%%
      ))  #    ****(+%%%%%%%%%%%
       )        %**++++%%%%%%%%%
       , , ------*+++++%%%%%%%%%
.     ,,,,,------+++++++%%%%%%%%
..  /,,,,,,------++++++%%%%%%%%%
.  //,,,,,,------000++000%%%%%%%
  211,,,,,33------00000000%%%%%%
 2221,,,,33333---00000000000%%%%
222222,,,,3635550000000000000%%%
222222,,,,6665777008900000000%%%
22222::66666777788889900000 %%%%
22222:;;;;%%=7%8888890  0   %%%%
22222;;;; ==??%%888888  00 %%%%%
222222 ;;  =??%%%8888       %%%%
222     ;;   ?A>>@@@          B%
CCC      ;;   DEE@@@          BB

Кожний об’єкт представлений власним символ і пов’язаний з даними JSON за кодом цього символу. Тож, тайли з цими символами приховані за графічним відображенням карти та дозволяють швидко співставляти необхідні значення без зверненнь до сервера.

Щоб краще зрозуміти, як це працює, можна переглянути ось це демо.

Ще можна почитати більше про специфікацію та роботу цього формату тут чи ось тут (англйською мовою).

Якщо ця тема цікава, ми можемо описати створення подібних карт більш детально.

А що Ви думаєте про такі карти віку будівель? Чим вони Вам подобаються? Як вважаєте, навіщо вони взагалі потрібні?
Пишіть нам у коментарях!