Организация пространственных данных в веб-среде. Стандарты и подходы
- О чём эта тема
- Как карты попадают в браузер: веб-картография и её классификация, тайлы и тайловые пирамиды, стандарты Открытого геопространственного консорциума — WMS, WMTS, WFS и WCS — и подключение веб-сервисов к QGIS.
- Аннотация
- Конспект начинается с определения веб-картографии и честного разбора того, зачем людям веб-карты и какие проблемы у них накопились: от подмены вектора растром до упрощения Google Maps, потерявшего за шесть лет 83 % городов на обзорных уровнях. Затем — классификация веб-карт по Крааку и её современное развитие. Центральная часть посвящена механике доставки карт: пирамида тайлов с нумерацией Z/X/Y, растровые и векторные тайлы с их плюсами и минусами — всё это можно покрутить в интерактивном тренажёре тайловой пирамиды. Далее семейство стандартов OGC: WMS и WMTS для изображений, WFS для векторных объектов, WCS для многомерных растровых покрытий — и квиз на выбор правильного стандарта под задачу. Завершают конспект пошаговое подключение WMS/WMTS-сервиса в QGIS и спецификация Simple Features for SQL с таблицами метаданных SPATIAL_REF_SYS и GEOMETRY_COLUMNS, знакомыми по практике 4.
- Пререквизиты
- Лекция 4 — системы координат и проекция Меркатора (на ней построены все тайловые сетки); практика 4 — таблицы метаданных геометрии.
- Мотивация
- Каждый из нас ежедневно пользуется веб-картами: проложить маршрут, найти кафе, посмотреть пробки. За этой обыденностью — целая инженерная дисциплина: как отдать браузеру карту всей планеты, не передавая терабайты данных? Ответ — тайлы и стандарты OGC. Для специалиста по геоданным это не абстракция: в главе 3 РГР вы подключаете NASA GIBS по WMS, а понимание разницы между WMS, WFS и WCS определяет, получите вы картинку, вектор с атрибутами или многоканальный растр для анализа.
1. Веб-картография
Веб-картографирование — процесс использования карт, которые предоставляются географическими информационными системами (ГИС) в Интернете.
Зачем людям веб-карты?
- Визуализация данных и облегчение работы с ними. Пользователи могут искать объекты, прокладывать маршруты и выполнять другие функции, основанные на местоположении объектов.
- Распространение пространственных данных. С помощью картографических веб-приложений можно организовать загрузку данных и обмен ими, а также совместно использовать их.
- Формирование массива пространственных данных. Пользователи могут применять технологии веб-ГИС для создания массивов географических данных.
- Пространственный анализ данных (реже). В картографических веб-приложениях доступны аналитические функции: картометрические функции, поиск оптимального маршрута, статистический анализ, построение профиля и другие.
1.1. Несколько проблем с веб-картами
Храним «вектор» — рисуем растр. Данные в основе веб-карты векторные, но пользователю чаще всего отдаётся растровая картинка. Сравните: OSM отдаёт растр вместо вектора, тогда как «Кадастровая карта» — настоящая векторная карта:
Как Google Maps стали проще. Упрощение алгоритма использования цифровых карт стало причиной несколько парадоксальной тенденции: карты становятся примитивнее. Более того, современная версия Google Maps менее подробна, чем была шесть лет назад. Карта стала схематичнее, упор сделан на отображение улиц и дорог, а не на гармоничное соотношение разных объектов: это уже не столь нужно, главное — посмотреть, как быстрее добраться по пробкам. Сколько городов исчезло с карты? На одном и том же обзорном уровне в 2010 году отображались 46 городов, в 2016 — только 8, то есть сокращение на 83 %.
1.2. Классификация веб-карт
По классификации Краака 2001 года веб-карты подразделялись на статические, динамические и интерактивные:
Современный взгляд (от NextGIS): к 2022 году существенно расширился круг источников статического электронного картирования. На рынок выпущены продукты, позволяющие пользователям создавать карты, хранить, загружать на сервер и передавать другим агентам; карты создаются в специальных редакторах или написанием сценария. Обязательные рабочие компоненты цифровой картографии — клиентские и серверные приложения. Для работы с динамической информацией требуется постоянное обращение к пространственным БД: пользователь отправляет запросы, делает выборку информации, экспортирует и импортирует необходимые сведения.
QGIS умеет подключаться к тайловым серверам напрямую:
2. Тайлы и тайловые пирамиды
Тайл (от англ. tile — плитка) в картографических сервисах — это одно из множества изображений, на которые разбивается карта. Тайлы отображаются рядом друг с другом, создавая впечатление одной большой картинки. Поскольку большую часть Земли покрывает вода, для карты достаточно хранить и показывать один синий тайл для всего мирового океана — это экономит дисковое пространство.
Пирамида тайлов — набор изображений (тайлов), содержащих геопространственную информацию, которые в совокупности отображают карту земной поверхности и составляют единую иерархию. Весь мир разделяется на несколько уровней масштаба, каждый из которых делится на равные квадраты — получается пирамида тайлов на всю земную поверхность.
| Уровень | Сетка | Количество тайлов | Примечание |
|---|---|---|---|
| 0 | 1 тайл на всю Землю | 1 | |
| 1 | 2 × 2 | 4 | |
| 2 | 4 × 4 | 16 | |
| n | 2ⁿ × 2ⁿ | 2²ⁿ | |
| 12 | 4096 × 4096 | 16 777 216 | |
| 16 | 65 536 × 65 536 | 2³² = 4 294 967 296 | максимальный уровень сервиса OpenCycleMap |
| 17 | 131 072 × 131 072 | 17 179 869 184 | максимальный уровень сервиса Osmarender layer |
| 18 | 262 144 × 262 144 | 68 719 476 736 | максимальный уровень сервиса Mapnik layer |
2.1. Требования к тайловым пирамидам
Согласно стандартам, по которым работает большинство картографических сервисов, обращение к конкретному тайлу происходит по следующим критериям:
- нумерация масштабов {Z} идёт с нуля; нулевой масштаб представлен одним тайлом со всей планетой. Сейчас можно встретить масштабы 0–18 для спутниковых снимков; иногда до 22 масштаба встречаются снимки с беспилотных летательных аппаратов или очень подробные карты;
- масштаб тайлов кратен двойке: при увеличении масштаба каждый тайл делится на четыре (2 по вертикали и 2 по горизонтали), то есть количество тайлов на слое равно 4ⁿ;
- тайлы нумеруются слева направо {X} и сверху вниз {Y}: начало координат находится в северо-западном углу;
- для сопоставления географических координат и координат тайловой сетки (проецирования круглой Земли на квадраты тайлов) используется проекция Меркатора.
Пример строки для запроса тайла:
https://tile.openstreetmap.org/7/63/42.png
2.2. Тренажёр: тайловая пирамида
Подвигайте уровень масштаба Z. Тренажёр показывает сетку уровня, вычисляет по формулам веб-Меркатора номера {X} и {Y} тайла, в который попадает Москва, собирает URL запроса и считает разрешение на экваторе. Обратите внимание, как взрывообразно растёт число тайлов: каждая единица Z — учетверение.
Оранжевым выделен тайл с Москвой (55,75° с. ш., 37,62° в. д.); формулы пересчёта координат в номера тайлов — стандартные формулы slippy map (проекция Меркатора). Сетка рисуется до Z = 6, дальше клетки мельче пикселя.
2.3. Растровые тайлы
Растровые тайлы — это растровые изображения, то есть обычные рисунки PNG, JPG или других форматов, расположенные рядом друг с другом и упорядоченные по принципу пирамиды. Этот нехитрый приём позволяет просматривать лишь небольшую часть карты, не загружая её целиком, а читатель в это же время видит одно большое пространство.
Недостатки растровых тайлов:
- нет возможности настроить или добавить новые стили на сайте или в приложении пользователя;
- невозможно изменить текст надписей, показать или скрыть объекты;
- у растровых тайлов достаточно большой размер, поэтому время загрузки при передвижении и масштабировании может быть большим — в зависимости от скорости сетевого соединения;
- масштабирование не будет плавным, а при большом увеличении снизится разрешение изображения.
2.4. Векторные тайлы
Векторные тайлы появились позже растровых. В отличие от растровых, они представляют собой не изображения, а двоичные файлы в формате PBF (protobuf, бинарная альтернатива XML) и содержат всю необходимую информацию для генерации карты на стороне клиента.
Плюсы векторных тайлов:
- векторные веб-карты быстрее загружаются и менее требовательны к производительности сервера;
- можно быстро менять вид нескольких тысяч объектов одновременно;
- масштаб меняется плавно, перемещение по карте проходит без задержек рендера;
- легко поменять шрифт и язык надписей; при повороте карты надписи не поворачиваются вместе с ней и остаются читаемыми;
- объекты могут быть интерактивными, и их можно показать в 3D, чего на растровых картах сложно добиться.
Недостатки: векторные карты более требовательны к устройствам пользователей — рендер происходит на стороне клиента, что приводит к проблемам с производительностью на медленных устройствах.
3. Спецификации OGC
OGC (Open Geospatial Consortium) — международная некоммерческая организация, ведущая деятельность по разработке стандартов в сфере геопространственных данных и сервисов. Цель OGC — разработка и внедрение консенсусных решений в области открытых стандартов для геопространственных данных, обработки данных геоинформационных систем и совместного использования данных.
Основа стандартов OGC состоит из стандартов для интерфейсов, кодирования, профилей, схем приложений и документов с примерами лучшей практики (opengeospatial.org/standards). Референсная модель OGC (ORM) описывает данные стандарты и связи между ними и соответствующими стандартами ISO: она даёт обзор стандартов OGC и служит полезным ресурсом для определения архитектуры конкретных приложений.
3.1. WMS и WMTS
WMS (Web Map Service) — стандарт, который позволяет визуализировать географические данные в интернете. Он не предоставляет собственно геоданные, а только их изображение с привязкой к местности (например, файлы PNG, JPEG или GIF).
В 2010 году OGC разработал новый стандарт — WMTS (Web Map Tiled Service): в его основе те же принципы, что и в WMS, за исключением того, что изображения возвращаются в виде небольших тайлов размером 256 × 256 или 512 × 512 пикселей.
3.2. WFS
WFS (Web Feature Service) — стандарт, который позволяет возвращать векторные геометрии и их атрибуты. Он предоставляет необходимые инструменты для создания интерактивных карт с различными функциями. WFS может быть достаточно ресурсоёмким как на сервере, так и в сети из-за большого объёма передаваемых данных: если WMS возвращает только изображение, которое обычно сжато и имеет относительно небольшой размер, то WFS может возвращать большие объёмы данных в GML — формате пространственных данных, похожем по структуре на XML. GML — довольно старый и не всегда удобный формат, однако последняя версия WFS основана на JSON и более удобна.
3.3. WCS
WCS (Web Coverage Service) — стандарт, аналогичный WFS, но позволяющий запрашивать многомерные растровые данные: спутниковые снимки, аэрофотоснимки и растровые геоданные, которые могут содержать информацию сразу за многие годы и в различных контекстах.
Сервис работает с данными, которые описываются терминами «грид» (grid) или «покрытие» (coverage). Все они имеют схожий формат хранения: прямоугольная область, разделённая по регулярной сетке, в каждой ячейке которой содержится несколько значений — для многоканальных сенсоров число значений в ячейке равно количеству каналов. Как и для WFS, задачи WCS сводятся к унифицированному доступу к различным хранилищам (WKTRaster, RasterLite, rasdaman), базовым операциям чтения-записи и применению фильтров. Форматы — расширенный GML, GeoTIFF, JPEG2000 и другие.
Спецификации трёх сервисов:
- Web Map Service — opengeospatial.org/standards/wms
- Web Feature Service — opengeospatial.org/standards/wfs
- Web Coverage Service — opengeospatial.org/standards/wcs
3.4. Квиз: какой стандарт выбрать?
Шесть задач — четыре стандарта. Для каждой задачи выберите сервис, который решает её наилучшим образом.
4. Подключаем веб-данные в QGIS
Чтобы посмотреть на всё это в действии, подключимся к веб-сервисам через QGIS. Для начала найдём бесплатный источник серверов, откуда можно запросить данные, — например, поисковую систему для сервисов Geoseer. Для подключения к серверам с WMS и WMTS выполните шаги:
- В верхней панели меню выберите Слой → Добавить слой → Добавить слой WMS/WMTS.
- В открывшемся окне «Источники данных | WMS/WMTS» нажмите кнопку Создать (для создания нового подключения к сервису).
- Во всплывающем окне «Создать новое подключение WMS/WMTS» в поле «Название» дайте название подключению, а в поле «URL» вставьте адрес сервера. В «Параметрах» можно настроить режим отображения растровых слоёв из WMS-сервера (WMS DPI-Mode) и соотношение пикселей тайла на стороне сервера WMTS (WMTS server-side tile pixel ratio).
- Вернитесь к окну «Источники данных | WMS/WMTS» и нажмите Подключиться — загрузятся доступные слои. Выберите нужный слой или несколько слоёв и нажмите «Добавить».
- Вернитесь на карту — нужные слои подгрузились.
5. Simple Features Specification for SQL
Simple Features Specification for SQL (SQL-MM Part 3) — спецификация Открытого геопространственного консорциума, которая определяет стандартную схему SQL для поддержки хранения, извлечения, запроса и обновления простых геопространственных коллекций.
Спецификация определяет стандартные типы объектов ГИС, функции для манипуляции ими и набор таблиц метаданных. В целях сохранения корректности метаданных такие операции, как создание и удаление столбцов с пространственными данными, осуществляются с помощью специальных процедур, определённых OpenGIS. Существуют две таблицы метаданных OpenGIS: SPATIAL_REF_SYS и GEOMETRY_COLUMNS.
5.1. Таблица SPATIAL_REF_SYS
Таблица SPATIAL_REF_SYS содержит числовые идентификаторы и текстовые описания систем координат, используемых в пространственной базе данных. Она определяется следующим образом:
- SRID — целое число, уникальный идентификатор системы координат (Spatial Referencing System, SRS) в пределах базы данных;
- AUTH_NAME — название стандарта или стандартизирующей организации, являющейся источником информации о данной системе координат; например, правильным значением будет «EPSG»;
- AUTH_SRID — идентификатор системы координат, как он определяется организацией, указанной в AUTH_NAME; в случае EPSG это код проекции EPSG;
- SRTEXT — WKT-представление системы координат.
Информацию о European Petroleum Survey Group (EPSG) и их базе данных систем координат можно найти на epsg.org; подробно о WKT и кодах EPSG — в лекции 4.
5.2. Таблица GEOMETRY_COLUMNS
Таблица GEOMETRY_COLUMNS определяется следующим образом:
- F_TABLE_CATALOG, F_TABLE_SCHEMA, F_TABLE_NAME — составляющие имени таблицы, содержащей столбец геометрии. Термины «catalog» и «schema» заимствованы из Oracle; в PostgreSQL нет аналога для «catalog», поэтому этот столбец остаётся пустым, а для «schema» используется имя схемы PostgreSQL (по умолчанию public);
- F_GEOMETRY_COLUMN — имя столбца геометрии в таблице объектов;
- COORD_DIMENSION — пространственная размерность столбца (2, 3 или 4 измерения);
- SRID — идентификатор системы координат, используемой для геометрии в этой таблице; внешний ключ к таблице SPATIAL_REF_SYS;
- TYPE — тип пространственного объекта.
Контрольные вопросы
-
Визуализация данных и работа с ними (поиск, маршруты), распространение пространственных данных, формирование массивов геоданных, реже — пространственный анализ. Проблема: карты упрощаются — современный Google Maps менее подробен, чем шесть лет назад (46 городов на обзорном уровне в 2010 году против 8 в 2016, −83 %).
-
По Крааку (2001) — статические, динамические и интерактивные. К 2022 году (NextGIS) расширился круг источников статического картирования: продукты для создания, хранения и передачи карт; обязательные компоненты — клиентские и серверные приложения, а динамика требует постоянного обращения к пространственным БД.
-
Уровни Z нумеруются с нуля (Z=0 — один тайл со всей планетой); при каждом шаге тайл делится на четыре, число тайлов уровня — 4ⁿ (сетка 2ⁿ × 2ⁿ); X нумеруется слева направо, Y — сверху вниз от северо-западного угла; для сопоставления координат используется проекция Меркатора. Пример адреса: https://tile.openstreetmap.org/7/63/42.png.
-
Растровые — готовые картинки PNG/JPG: просты, но стили не изменить, надписи фиксированы, файлы тяжёлые, зум ступенчатый. Векторные — двоичные PBF-файлы с данными для рендера на клиенте: быстрая загрузка, плавный зум, смена стилей/языка, интерактивность и 3D; цена — требовательность к устройству пользователя.
-
WMS — изображение карты (PNG/JPEG/GIF) с привязкой; WMTS (2010) — то же, но тайлами 256×256 или 512×512; WFS — векторные геометрии с атрибутами (GML, в новых версиях JSON); WCS — многомерные растровые данные-«покрытия» (гриды): снимки, модели рельефа — в GeoTIFF, JPEG2000 и др.
-
WMS отдаёт готовое сжатое изображение небольшого размера, а WFS передаёт сами данные — геометрии и атрибуты в GML (XML-подобном формате), объём которых может быть очень большим; нагрузка ложится и на сервер, и на сеть.
-
Слой → Добавить слой → Добавить слой WMS/WMTS → «Создать» → задать название и URL сервера (при необходимости — WMS DPI-Mode и tile pixel ratio) → «Подключиться» → выбрать слои из списка → «Добавить». Источники серверов можно искать через Geoseer.
-
SPATIAL_REF_SYS — реестр систем координат: SRID, AUTH_NAME (например, EPSG), AUTH_SRID, SRTEXT (WKT-описание). GEOMETRY_COLUMNS — реестр геометрических столбцов: имя таблицы (catalog/schema/name), имя столбца, размерность, SRID (внешний ключ к SPATIAL_REF_SYS) и тип объекта.
Источники
- OGC Standards — Open Geospatial Consortium : [сайт]. — URL: https://www.ogc.org/standards/ (дата обращения: 18.08.2026).
- Kraak, M.-J. Web Cartography: Developments and Prospects / M.-J. Kraak, A. Brown. — London : Taylor & Francis, 2001. — 213 p.
- Slippy map tilenames — OpenStreetMap Wiki : [сайт]. — URL: https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames (дата обращения: 18.08.2026).
- OpenGIS Implementation Specification for Geographic information — Simple feature access — Part 2: SQL option : [сайт]. — URL: https://www.ogc.org/standards/sfs (дата обращения: 18.08.2026).
- NextGIS — блог о геоинформационных технологиях : [сайт]. — URL: https://nextgis.ru/blog/ (дата обращения: 18.08.2026).