QGIS поддерживает сервисы WMS и WFS в качестве источников данных.
Open Geospatial Consortium (OGC) — это международная организация, в состав которой входит свыше 300 (как коммерческих, так и некоммерческих) правительственных и исследовательских организаций со всего мира. Её участники занимаются разработкой и практической реализацией стандартов в области геоинформационных сервисов.
Описание базовых моделей представления географических объектов и увеличение числа спецификаций призваны удовлетворить потребности в области сервисов, основанных на местоположении, и геопространственных технологий, включая ГИС. Дополнительную информацию можно найти здесь http://www.opengeospatial.org/.
Наиболее важные спецификации OGC:
OGC-сервисы все чаще используются для обмена геопространственными данными между различными ГИС и хранилищами данных. В настоящее врем QGIS поддерживает три из вышеперечисленных спецификации, выступая в роли SFS (как провайдер данных PostgreSQL/PostGIS, см. раздел Слои PostGIS), WFS- и WMS-клиента.
На данный момент QGIS способна выступать в роли клиента, поддерживающего WMS серверы версий 1.1, 1.1.1 и 1.3, что было подтверждено тестами различных публичных серверов, таких, как DEMIS и JPL OnEarth.
WMS-клиент (например, QGIS) запрашивает у сервера карту заданного охвата, содержащую определённый набор слоёв с установленной символикой и прозрачностью. После чего WMS-сервер обращается к своему локальному хранилищу данных, растеризует карту и отправляет её клиенту в растровом формате. В случае QGIS таким форматом обычно является JPEG или PNG.
WMS — это REST (Representational State Transfer) сервис, в отличие от полноценных Web-сервисов, что позволяет использовать URL, созданный QGIS, во внешних приложениях, например в web-браузерах для получения таких же изображений, что и в QGIS. Это может быть полезно при поиске неисправностей, поскольку на рынке существуют WMS-серверы различных производителей и каждый из них по своему интерпретирует стандарт WMS.
WMS-слои добавляются очень просто, необходимо только знать URL WMS-сервера, иметь с ним связь и возможность использования сервером протокола HTTP в качестве механизма передачи данных.
При первом использовании QGIS в качетсве WMS-клиента список WMS-серверов пуст.
Нажмите кнопку Добавить WMS-слой на панели инструментов или выберите меню Слой ‣
Добавить WMS-слой....
Появится окно добавления WMS-серверов Добавить слои с сервера. Существует возможность автоматически добавить несколько серверов, для этого нажмите кнопку [Сервера по умолчанию]. Добавится как минимум два WMS-сервера: DM Solutions и Lizardtech. Для определения нового WMS-сервера во вкладке Слои выберите [Создать]. Затем укажите параметры соединения с выбранным WMS-сервером, как показано в таблице table_OGC_1:
Имя |
Имя соединения. Это имя будет использоваться в выпадающем списке WMS-серверов, поэтому рекомендуется давать соединениям понятные имена. |
URL | URL WMS-сервера. Должно быть указано разрешенное имя хоста; в таком же формате, что и при использовании команд telnet или ping. |
Пользователь |
Имя пользователя для доступа к защищенному WMS-серверу. Этот параметр опционален. |
Пароль |
Пароль для базовой аутентификации WMS-сервером. Этот параметр опционален. |
Игнорировать URI запроса GetMap |
Соответствующий запрос будет отправлен по адресу, указаному в поле «URL». |
Игнорировать URI запроса GetFeatureInfo |
Соответствующий запрос будет отправлен по адресу, указаному в поле «URL» |
Таблица OGC 1: Параметры WMS-соединения
Если доступ к сервисам WMS осуществляется через прокси-сервер, необходимо определить его параметры. Выберите меню Установки ‣ Параметры и перейдите на вкладку Сетевые соединения. Задайте параметры прокси-сервера, предварительно отметив пункт
Использовать прокси-сервер для внешних соединений. Убедитесь в том, что в выпадающем списке Тип прокси
выбран тип, соответствующий используемому прокси-серверу.
Однажды созданное WMS-соединение будет доступно и при следующем запуске QGIS.
Совет
URL WMS серверов
Убедитесь, что введен базовый URL WMS сервера. В частности, он не должен содержать таких фрагментов, как request=GetCapabilities или version=1.0.0.
Как только были заданы параметры WMS-соединения, можно нажать кнопку [Подключиться] для получения доступа к содержимому выбранного сервера, которое включает формат изображения, слои, стили слоев и информацию о проекциях. Поскольку это сетевая операция, то скорость её исполнения зависит от качества связи с WMS-сервером. Процесс загрузки данных визуализируется в левом нижнем углу окна добавления WMS-слоя.
Содержимое экрана должно быть похожим на рисунок figure_OGR_1, на котором представлены данные, доступные на WMS сервере DM Solutions Group.
Figure OGR 1:
Формат изображений
Группа Формат изображения содержит список форматов, поддерживаемых одновременно как сервером, так и клиентом. Выберите формат, удовлетворяющий требованиям к точности изображения.
Совет
Формат изображений
Обычно WMS-серверы предлагают на выбор один из двух форматов — JPEG или PNG. JPEG — это формат, использующий алгоритм сжатия с потерями, в то время как PNG — без потерь.
Используйте JPEG, если предполагается, что данные полученные по WMS будут представлять собой фотографии природы и/или вам не принципиально небольшое снижение качества изображений. Использование JPEG позволяет приблизительно в 5 раз снизить объём передаваемой информации по сравнению с PNG.
Используйте PNG, если хотите получить точное воспроизведение оригинальных данных и вас не беспокоит объём передаваемой информации.
Параметры
Группа «Параметры» содержит текстовое поле, где можно указать имя WMS-слоя. Это имя будет отображено в списке слоев по завершении загрузки.
Помимо имени слоя здесь же указывается Размер блока мозаики, чтобы разбить один запрос на несколько и получать данные в виде тайлов заданного размера, к примеру 256x256.
Поле Максимально количество объектов в GetFeatureInfo задает число объектов, запрашиваемых у сервера.
При выборе WMS-слоя из списка, отображается название системы координат, используемой сервером по умолчанию. Если кнопка [Изменить...] активна, систему координат можно изменить на любую другую, поддерживаемую сервером WMS.
Слои
Вкладка Слои содержит список доступных слоев на выбранном WMS-сервере. Можно заметить, что некоторые слои представляют собой раскрывающийся список, это свидетельствует о том, что данные слои можно отобразить с использованием различных стилей.
Можно выбрать несколько слоёв за раз, но при этом каждый из них с использованием только одного стиля. Если выбрано несколько слоёв, то они будут объединены на WMS-сервере и сразу переданы QGIS.
Совет
Порядок WMS-слоёв
В данной версии QGIS WMS-слои отрисовываются сервером путём наложения друг на друга в порядке, представленном во вкладке Слои, начиная с конца списка. Если нужно поменять порядок отрисовки слоёв, воспользуйтесь вкладкой Порядок слоёв.
Прозрачность
Прозрачность слоёв жестко прописана в коде и всегда включена для тех слоёв, которые её поддерживают.
Совет
Прозрачность WMS-слоёв
Доступность прозрачности WMS-слоёв зависит от используемого формата изображения: так PNG и GIF поддерживают прозрачность, в то время как JPEG — нет.
Система координат
Система координат (CRS, Coordinate Reference System) — проекция в терминологии OGC.
Каждый WMS-слой может быть отображен с использованием нескольких систем координат, список которых определяется настройками сервера.
Для выбора системы координат нажмите кнопку [Изменить...], появится окно, подобное тому, что представлено на рисунке 3 в разделе Работа с проекциями. Основное отличие WMS-версии данного окна состоит в том, что оно содержит только те системы координат, которые поддерживаются WMS-сервером.
QGIS позволяет осуществлять поиск WMS-серверов. На рисунке Figure_OGC_2 показана вкладка Поиск серверов диалогового окна Добавить слои с сервера.
Figure OGR 2:
Для начала процедуры поиска необходимо указать в текстовом поле ключевые слова и нажать кнопку [Поиск]. После завершения поиска результаты будут отображены в виде списка, расположенного под текстовым полем. Просмотрите получившийся список и выберите нужную строку. Для визуализации слоёв с выбранного сервера нажмите кнопку [Добавить выбранный сервер в список] и вернитесь обратно на вкладку Слои. QGIS автоматически обновляет список серверов, добавляя в него выбранный WMS-сервер и делая его активным. Пользователю остаётся только получить список слоёв с сервера, нажав кнопку [Подключиться]. Эта возможность очень удобна в случае необходимости поиска карт по ключевым словам.
Фактически, это фронт-энд к API http://geopole.org.
При использовании WMS-C (Cached WMS) сервисов, подобных http://labs.metacarta.com/wms-c/Basic.py, становится активной вкладка Мозаики, в которой представлена такая информация, как размер тайлов, поддерживаемые форматы и проекции. В сочетании с этой возможностью удобно использовать переключатель масштаба Вид ‣ Уровень детализации, отражающий доступные масштабы тайл-сервера и обладающий удобным механизмом их смены.
Если слой, предоставляемый WMS-сервером, даёт возможность осуществления запросов, то появляется возможность использовать инструмент Определить объекты для получения информации о пикселах карты. При каждой попытке получения такой информации происходит обращение к WMS-серверу. Результат запроса представляется в виде простого текста, а его форматирование определяется настройками того или иного WMS-сервера.
Просмотр свойств
Для просмотра свойств WMS-сервера добавьте в проект слой с этого сервера, в списке слоёв щелкните на нём правой кнопкой мыши и выберите menuselection:Свойства.
Метаданные
Вкладка Метаданные содержит подробную информацию о WMS-сервере, полученную из ответа Capabilities. Определения большинства параметров можно найти в описании стандарта WMS (см. OPEN-GEOSPATIAL-CONSORTIUM Литература и ссылки на web-ресурсы), представим некоторые из них:
Свойства сервера
Версия WMS — Версия WMS, поддерживаемая сервером.
Форматы изображения — Список MIME-типов, поддерживаемых сервером. QGIS доступны любые форматы, с поддержкой которых была собрана библиотека Qt, обычно это image/png и image/jpeg.
Форматы запроса — Список MIME-типов, в которых сервер может отдавать ответы на запросы к слою. В настоящее время QGIS поддерживает только text-plain.
Свойства слоя
Выбранные слои — Показывает, был или не был выбран слой при добавлении сервера в проект.
Видимость — Определяет, включена или отключена видимость слоя в списке слоёв (не используется в текущей версии QGIS).
Можно определять — Возможно или нет осуществлять запросы к слою с помощью инструмента идентификации.
Может быть прозрачным — Показывает, доступна или нет возможность отрисовки слоя с поддержкой прозрачности. Текущая версия QGIS всегда использует прозрачность, если это значение равно Да и формат изображения поддерживает прозрачность.
Можно увеличивать — Доступна или нет возможность увеличения слоя на стороне сервера. Текущая версия QGIS подразумевает, что этот параметр для любого слоя установлен в значение Да. Не отвечающие данному требованию слои могут быть отрисованы некорректно.
Количество каскадов — Одни WMS-серверы могут работать как прокси-серверы для других. Эта запись показывает, сколько раз запрос к данному серверу был послан на другие WMS-серверы до моментв получения результата.
Фикс. ширина, Фикс. высота — Установлен или нет фиксированный размер слоя в пикселях. Текущая версия QGIS подразумевает, что этот параметр для любого слоя не установлен. Не отвечающие данному требованию слои могут быть отрисованы некорректно.
Рамка WGS 84 — Ограничивающий прямоугольник слоя в координатах WGS 84. Некоторые WMS-серверы некорректно устанавливают значение данного параметра (например, используются координаты UTM). В таком случае слой может быть отрисован с очень высоким увеличением. О таких ошибках следует сообщать администратору WMS-сервера, который сможет устранить их путём редактирования элементов WMS XML LatLonBoundingBox, EX_GeographicBoundingBox или CRS:84 BoundingBox.
Доступен в CRS — Проекции, в которых слой может быть отрисован WMS-сервером. Перечислены в «родном» для WMS формате.
Доступен в стилях — Стили в которых может быть отрисован слой WMS-сервером.
Не все возможности WMS-клиента были включены в текущую версию QGIS. Рассмотрим наиболее значимые.
Редактирование свойств WMS-слоя
После завершения процедуры Добавить WMS-слой, изменить настройки слоя невозможно. Данное ограничение обходится путём полного удаления слоя и повторного его добавления с новыми настройками.
Защищённые WMS-серверы
В настоящее время поддерживается работа как с публичными, так и с защищёнными WMS-серверами. Доступ к защищённым WMS-серверам можно получить посредством прохождения публичной аутентификации. Имя пользователя и пароль (опционально) задаются при добавлении WMS-сервера. За подробностями обратитесь к разделу Выбор WMS-серверов.
Совет
Доступ к защищённым слоям OGC
Если необходимо получить доступ к защищённым слоям, требующим прохождения аутентификации, отличной от базовой, то следует воспользоваться прозрачным прокси-сервером InteProxy, поддерживающим различные методы аутентификации. Дополнительную информацию можно найти в руководстве InteProxy, расположенном по адресу http://inteproxy.wald.intevation.org.
Совет
WMS сервер QGIS
Начиная с версии 1.7.0 в QGIS присутствует своя реализация WMS сервера, с поддержкой стандарта WMS 1.3.0. Более подробная информация находится в разделе QGIS Server.
В QGIS работа с WFS и обычными векторными слоями практически неотличима. Можно выделять и получать информацию об объектах, просматривать таблицу атрибутов. Начиная с QGIS 1.6, поддерживается и редактирование (WFS-T), если такая возможность предоставляется сервером.
В общем случае добавление WFS-слоя практически не отличается от процесса добавления WMS-слоя. Отличие в том, что по умолчанию нет доступных серверов, их необходимо добавить самостоятельно.
Добавление слоя WFS
В качестве примера будем использовать WFS сервер DM Solutions, расположенный по адресу http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap.
Нажмите кнопку Добавить слой WFS на панели инструментов. Откроется диалог Добавить слой WFS
Нажмите [Создать]
Укажите «DM Solutions» в качестве имени
Введите URL (см. выше)
Нажмите [OK]
В выпадающем списке Соединения с серверами выберите «DM Solutions»
Нажмите [Подключиться]
Дождитесь заполнения списка доступных слоев
Выберите слой parks
Чтобы добавить слой на карту, нажмите [Применить]
Отметим, что при работе с WFS используются настройки прокси-сервера, если таковые были заданы.
Figure OGR 3:
Процесс загрузки слоя визуализируется в левом нижнем углу главного окна QGIS. По окончании загрузки можно выделять и получать информацию об интересующих объектах, просматривать таблицу атрибутов.
В настоящий момент поддерживается только WFS версии 1.0.0. Тестирование функционала на WFS-серверах, использующих другие версии протокола, не проводилось. При возникновении проблем в таких ситуациях не стесняйтесь и задавайте вопросы разработчикам. Пожалуйста, обратитесь к разделу Списки рассылки для получения дополнительной информации о списках рассылки.
Совет
Поиск WFS серверов
Дополнительные WFS-серверы можно найти, используя Google или любую другую поисковую систему. Существует множество списков, содержащих URL WFS-серверов, некоторые из которых поддерживаются, а некоторые уже нет.