Статьи
WEB

Стандарты веб-сервисов: WMS, WMTS, WFS и WCS

Время прочтения: 4 минуты
Стандарты или веб-сервисы Открытого геопространственного консорциума (OGC) — это технические спецификации для обеспечения совместимости геоданных и сервисов. Они определяют правила кодирования и обмена пространственными данными между разными системами. Благодаря этим стандартам можно создавать картографические сервисы и ГИС-приложения, способные работать совместно с другими источниками данных — это позволяет избежать дополнительной обработки и адаптации данных из разных источников.
Есть несколько различных стандартов для веб-карт, но в этой статье мы разберем известные и часто используемые WMS, WMTS, WFS и WCS.
Спецификации всех стандартов OGC находятся в свободном доступе. Документацию и информацию о них можно найти на странице стандартов Open Geospatial Consortium

WMS, WMTS, WFS и WCS

WMS (Web Mapping Service) — стандарт, который позволяет визуализировать географические данные в интернете. Он не предоставляет собственно геоданные, а только их изображение с привязкой к местности (например, файлы PNG, JPEG или GIF). WMS обеспечивает визуализацию геоданных из различных источников и позволяет пользователям просматривать различные источники карт по отдельности или накладывать несколько видов данных для настраиваемых карт. Первую версию WMS для стандартизации картографических веб-технологий OGC выпустил аж в 1999 году.
В 2010 году OGC разработал новый стандарт, WMTS (Web Mapping Tiled Service) — в его основе лежат те же принципы, что и в WMS, за исключением того, что изображения возвращаются в виде небольших тайлов размером 256x256 или 512x512 пикселей. Одно из преимуществ использования WMTS — возможность предварительного рендера на стороне сервера тайлов карты в различных масштабах. В результате загрузка информации проходит быстрее, и пользовательский опыт от этого лучше.
Протоколы WMS и WMTS основаны на растровых изображениях, но пользователям нужны и протоколы, которые работают с векторными данными. Так был создан Web Feature Service (WFS) — стандарт, который позволяет возвращать векторные геометрии и их атрибуты. Он предоставляет необходимые инструменты для создания интерактивных карт с различными функциями. WFS может быть достаточно ресурсоемким как на сервере, так и в сети из-за большого объема передаваемых данных. Если WMS возвращает только изображение, которое обычно сжато и имеет относительно небольшой размер, то WFS может возвращать большие объемы данных в GML — это формат пространственных данных, похожий по структуре на XML (GML — довольно старый и не всегда удобный формат, однако последняя версия WFS основана на JSON и более удобна). WFS полезен в тех случаях, когда пользователям необходимо просматривать, анализировать и редактировать географические данные, обычно в рамках ПО ГИС. Протокол WFS позволяет редактировать геометрию и данные с последующим сохранением изменений на носителе, обычно в базе пространственных данных.
WCS (Web Coverage Service) — это стандарт, аналогичный WFS, но он позволяет запрашивать многомерные растровые данные. Например, с его помощью можно получить спутниковые снимки, аэрофотоснимки и растровые геоданные, которые, например, могут содержать информацию сразу за многие годы и в различных контекстах.

Подключаем веб-данные в QGIS

Чтобы посмотреть на все это в действии, мы можем подключиться к веб-сервисам через QGIS. Для начала найдем бесплатный источник серверов, откуда мы можем запросить данные. Для этого примера я буду использовать поисковую систему для сервисов Geoseer.
Для подключения к серверам с WMS и WMTS сделаем следующие шаги:
1. В верхней панели меню выберем “Слой” — “Добавить слой” — “Добавить слой WMS/WMTS”.
2. В открывшемся окне “Источники данных | WMS/WMTS” выберем кнопку “Создать” (для создания нового подключения к сервису).
3. Во всплывающем окне “Создать новое подключение WMS/WMTS” в поле “Название” даем название подключению, а в поле “URL” вставляем url сервера. В "Параметрах" можем настроить режим отображения растровых слоев из WMS сервера (WMS DPI-Mode) и соотношение пикселей тайла на стороне сервера WMTS (WMTS server-side tile pixel ratio).
4. Переходим к предыдущему окну “Источники данных | WMS/WMTS”, где необходимо нажать на кнопку “Подключиться” — загрузятся доступные слои. Выберем нужный слой или несколько слоев и нажмем “Добавить”.
5. Вернемся на карту и увидим, что нужные слои подгрузились
Подключение к WFS и WCS серверам происходит по тем же принципам.
WFS и WCS помогали стандартизировать веб-картографию на протяжении последних двадцати лет. За это время веб сильно продвинулся вперед: от мобильной связи до стремления к высоким скоростям и объемам, более простой навигации и сбора данных. Поэтому большинство современных веб-карт не используют WMS или WFS и в целом движутся в сторону векторных тайлов. Google Maps, Bing Maps и Mapbox перешли на векторные тайлы, которые обеспечивают более высокую скорость работы сервисов и облегчают трафик для пользователя. Теперь, когда большинство устройств оснащены встроенными графическими чипами, мы можем проще и точнее визуализировать карты на стороне пользователя, чем в то время, когда OGC впервые создал протокол WMS.
В связи с переходом к векторным тайлам в последнее время наблюдается рост числа различных стандартов. Многие используют файлы PBF, у компании ESRI свой, несколько иной стандарт векторных тайлов, а некоторые работают с GeoJSON. Будет интересно посмотреть, попытается ли OGC в будущем стандартизировать векторные тайлы.

Источники:

Материал подготовила Алия Кутуева