Андрей Кочанов
крайний за развитие карты

Карта: новые тайлы, этажи и крыши

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

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

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

Двигайте слайдеры, чтобы сравнить тайлы в трёх их версиях: слева — прежняя, в центре и справа — две новые нарезки с разной степенью детализации.
Изображение 1
Изображение 2
Изображение 3
Старая разрезка и тайлы
с полными данными
Новая разрезка и тайлы
с упрощёнными данными
Новая разрезка и тайлы
с детальными объектами
Что это дало
Благодаря новой двойной разрезке кадры в среднем стали рисоваться на ≈15% быстрее, появился эффект быстро загружаемого фона вместо пустой карты. Размер каждого отдельного тайла уменьшился, а загрузка распараллелилась лучше.

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

В первую очередь мы исправили этот недостаток: на схемах в приложениях появился объём у стенок и полигонов фирм. Дополнительно освежили дизайн, перекрасили всё в более теплые и спокойные цвета, чтобы количество деталей не мешало восприятию.
Слева — прежние поэтажные планы, очень схематичные и плоские. В новых планах есть объём, они нагляднее. Двигайте слайдер, чтобы сравнить
Следующим шагом к реалистичности и удобству восприятия стали 3D-модели типовых объектов. На схемах появляются лифты, эскалаторы, скамейки, столики — все неотъемлемые атрибуты торговых центров.
Для вокзалов и аэропортов дополнительно сделали модели для специфичных объектов — досмотровые рамки, стойки регистрации багажа, скамейки в залах ожидания. Добавили даже модели самолётов и поездов!
Типовые крыши зданий
Форма крыши — довольно узнаваемая архитектурная деталь. Раньше для всех зданий на карте мы рисовали только плоские крыши. При этом реалистичные модели создавались всегда в соответсвии с реальностью, форма крыши всегда соответствовала действительности. За счёт этой детали нам хотелось повысить узнаваемость и обычных зданий, но важно было сделать это без высоких трудозатрат и ручной работы.

Поэтому мы научили нейросеть определять по космическим снимкам форму крыши здания, разделили все типы на три основных: двускатная, четырёхскатная и плоская. Потом мы научили карту на основании геометрии здания и типа формировать её крышу. Получилось наглядно и реалистично.
И благодаря новому формату и крышам мы смогли добавить зданиям в мобильной версии скругление углов у зданий, которые раньше вышли для веб-версии 2ГИС. Оцените в мобильных приложениях!
Нажимая кнопку «Комментировать», вы принимаете условие Лицензионного соглашения и даёте ООО «ДубльГИС» согласие на обработку персональных данных на условиях и в целях, определённых «Политикой конфиденциальности».