Статьи

Разница между векторными и растровыми тайлами в веб-картах

ГИС
Время прочтения: 2 минуты
У многих мобильных и веб-приложений есть свои веб-карты и возможности геолокации. Одна из основных функций современных веб-ГИС — интерактивная картографическая подложка, то есть базовый слой в основе любой цифровой карты, на котором пользователь видит дороги, здания и точки интереса. Чтобы показать картографическую подложку, браузер пользователя запрашивает у сервера c ГИС тайлы в определенном формате, которые согласно тайловой сетке и масштабу отображаются на экране.
Есть два формата представления тайлов — растровый и векторный. Попробуем разобраться, чем они отличаются и какие тайлы применять для веб-приложений.

Отличия растровых и векторных тайлов

Растровые тайлы

Растровые тайлы — это растровые изображения, то есть обычные рисунки PNG, JPG или других форматов, расположенные рядом друг с другом и упорядоченные по принципу пирамиды. Этот нехитрый прием позволяет просматривать лишь небольшую часть карты, не загружая ее целиком, а читатель в это же время видит одно большое пространство. Поскольку растровые тайлы представляют собой сшитые вместе изображения, их можно масштабировать и двигать как одно изображение.
Принцип пирамиды растровых веб-карт. Источник: https://www.maptiler.com/google-maps-coordinates-tile-bounds-projection
Растровые тайлы имеют фиксированные стили, задаваемые в момент их создания (рендеринга). Рендер растров требует больших затрат процессора и памяти, и, чтобы их снизить, поставщики веб-карт предварительно визуализируют тайлы перед их передачей с сервера. И каждый раз, когда пользователь открывает карту, предварительно отрендеренные тайлы просто отображаются на экране. Это означает, что для растровых тайлов ниже требования к устройствам пользователей (браузер и девайс), но выше требования к аппаратному обеспечению сервера.

Недостатки растровых тайлов

  • Нет возможности настроить или добавить новые стили на сайте или в приложении пользователя. Невозможно изменить текст надписей, показать/скрыть объекты.
  • У растровых тайлов достаточно большой размер, и поэтому время загрузки при передвижении и масштабировании веб-карты может быть большим, в зависимости от скорости сетевого соединения. Масштабирование не будет плавным, а при большом увеличении снизится разрешение изображения.

Векторные тайлы

Векторные тайлы появились позже растровых. В отличие от растровых тайлов, векторные представляют собой не изображения, а двоичные файлы в формате PBF (protobuf, бинарная альтернатива XML). Они содержат всю необходимую информацию для генерации карты на стороне клиента. В стиле карты также указывается, следует ли вообще отображать элемент веб-карты, и какой шрифт и язык использовать для надписей. Векторные тайлы позволяют легко изменять внешний вид карты в реальном времени с минимальными затратами ресурсов.
Набор векторных тайлов NL Cartiqo карты Нидерландов, г. Утрехт. Источник: https://cloud.maptiler.com/tiles/nl-cartiqo/

Плюсы векторных тайлов

  • Размер векторных тайлов на 50-70% ниже растровых, поэтому они занимают меньше времени при передаче и требуют меньше ресурсов для обработки. Они также обеспечивают высокое разрешение на всех уровнях масштабирования без увеличения размера файла.
  • Векторные веб-карты быстрее загружаются и менее требовательны к производительности сервера. С ними можно быстро менять вид нескольких тысяч объектов одновременно.
  • Масштаб меняется плавно, и перемещение по веб-карте тоже проходит без задержек рендера.
  • Легко поменять шрифт и язык надписей, а если менять ориентацию карты, надписи не будут поворачиваться вместе с картой и останутся читаемыми.
  • Объекты на веб-картах могут быть интерактивными, и их можно показать в 3D, чего на растровых картах сложно добиться.

Недостатки векторных тайлов

  • Векторные карты более требовательны к устройствам пользователей, так как рендер происходит на стороне клиента, что приводит к проблемам с производительностью на медленных девайсах. И не все SDK для векторных карт пока имеют мобильную версию, так что, бывает, на некоторых устройствах визуализация происходит некорректно или слишком медленно.

Что выбрать

С развитием технических способностей наших устройств идут вперед и технологии векторных тайлов, и сейчас для создания веб-карт они используются чаще. Они легче по размеру и более удобны в использовании, поэтому многие организации, предоставляющие карты-подложки (как студия Stamen), сейчас переходят с растровых тайлов на векторные.
А зачем тогда растровые тайлы и когда их использовать? Хотя векторные карты имеют больше преимуществ, есть ситуации, когда вместо них лучше использовать растровые. Космоснимки и другие данные дистанционного зондирования не перевести в векторный формат, и эти изображения логично показывать пользователям в виде растровых тайлов.
Еще больше интересного про работу веб-карт — в статьях про виды их интерактивности или про 3D-тайлы от Google Maps. А чтобы узнать, как создавать интерактивные веб-карты для любых проектов, приходите учиться веб-картографии.
Источники:
  1. Raster vs Vector Map Tiles: What Is the Difference Between the Two Data Types? – MapTiler Support
  2. Raster vs vector: pros and cons of both map tile types | Geoapify
  3. Кочергин А. М., Ларюков С. А. Особенности использования векторных картографических данных в онлайн гис-системах //Новые информационные технологии в научных исследованиях НИТ-2021. – 2021. – С. 225-226.
Материал подготовила Алия Кутуева