Outdated version of the documentation. Find the latest one here.

Работа с данными OGC

QGIS поддерживает сервисы WMS и WFS в качестве источников данных.

Что такое данные OGC?

Open Geospatial Consortium (OGC) — это международная организация, в состав которой входит свыше 300 (как коммерческих, так и некоммерческих) правительственных и исследовательских организаций со всего мира. Её участники занимаются разработкой и практической реализацией стандартов в области геоинформационных сервисов.

Описание базовых моделей представления географических объектов и увеличение числа спецификаций призваны удовлетворить потребности в области сервисов, основанных на местоположении, и геопространственных технологий, включая ГИС. Дополнительную информацию можно найти здесь http://www.opengeospatial.org/.

Наиболее важные спецификации OGC:

  • WMS — Web Map Service
  • WFS — Web Feature Service
  • WCS — Web Coverage Service
  • CAT — Web Catalog Service
  • SFS — Simple Features for SQL
  • GML — Geography Markup Language

OGC-сервисы все чаще используются для обмена геопространственными данными между различными ГИС и хранилищами данных. В настоящее врем QGIS поддерживает три из вышеперечисленных спецификации, выступая в роли SFS (как провайдер данных PostgreSQL/PostGIS, см. раздел Слои PostGIS), WFS- и WMS-клиента.

Клиент WMS

Обзор поддержки 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 в качестве механизма передачи данных.

Выбор WMS-серверов

При первом использовании QGIS в качетсве WMS-клиента список WMS-серверов пуст.

Нажмите кнопку mActionAddWmsLayer Добавить WMS-слой на панели инструментов или выберите меню Слой ‣ mActionAddWmsLayer Добавить 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 осуществляется через прокси-сервер, необходимо определить его параметры. Выберите меню Установки ‣ mActionOptions Параметры и перейдите на вкладку Сетевые соединения. Задайте параметры прокси-сервера, предварительно отметив пункт checkbox Использовать прокси-сервер для внешних соединений. Убедитесь в том, что в выпадающем списке Тип прокси selectstring выбран тип, соответствующий используемому прокси-серверу.

Однажды созданное WMS-соединение будет доступно и при следующем запуске QGIS.

Совет

URL WMS серверов

Убедитесь, что введен базовый URL WMS сервера. В частности, он не должен содержать таких фрагментов, как request=GetCapabilities или version=1.0.0.

Загрузка WMS-слоёв

Как только были заданы параметры WMS-соединения, можно нажать кнопку [Подключиться] для получения доступа к содержимому выбранного сервера, которое включает формат изображения, слои, стили слоев и информацию о проекциях. Поскольку это сетевая операция, то скорость её исполнения зависит от качества связи с WMS-сервером. Процесс загрузки данных визуализируется в левом нижнем углу окна добавления WMS-слоя.

Содержимое экрана должно быть похожим на рисунок figure_OGR_1, на котором представлены данные, доступные на WMS сервере DM Solutions Group.

Figure OGR 1:

../../../_images/connection_wms.png

Dialog for adding a WMS server, showing its available layers nix

Формат изображений

Группа Формат изображения содержит список форматов, поддерживаемых одновременно как сервером, так и клиентом. Выберите формат, удовлетворяющий требованиям к точности изображения.

Совет

Формат изображений

Обычно 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-сервером.

Мозаики

При использовании WMS-C (Cached WMS) сервисов, подобных http://labs.metacarta.com/wms-c/Basic.py, становится активной вкладка Мозаики, в которой представлена такая информация, как размер тайлов, поддерживаемые форматы и проекции. В сочетании с этой возможностью удобно использовать переключатель масштаба Вид ‣ Уровень детализации, отражающий доступные масштабы тайл-сервера и обладающий удобным механизмом их смены.

Использование инструмента определения объектов

Если слой, предоставляемый WMS-сервером, даёт возможность осуществления запросов, то появляется возможность использовать инструмент mActionIdentify Определить объекты для получения информации о пикселах карты. При каждой попытке получения такой информации происходит обращение к 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

Не все возможности WMS-клиента были включены в текущую версию QGIS. Рассмотрим наиболее значимые.

Редактирование свойств WMS-слоя

После завершения процедуры mActionAddWmsLayer Добавить 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.

Клиент WFS и WFS-T

В QGIS работа с WFS и обычными векторными слоями практически неотличима. Можно выделять и получать информацию об объектах, просматривать таблицу атрибутов. Начиная с QGIS 1.6, поддерживается и редактирование (WFS-T), если такая возможность предоставляется сервером.

В общем случае добавление WFS-слоя практически не отличается от процесса добавления WMS-слоя. Отличие в том, что по умолчанию нет доступных серверов, их необходимо добавить самостоятельно.

Добавление слоя WFS

В качестве примера будем использовать WFS сервер DM Solutions, расположенный по адресу http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap.

  1. Нажмите кнопку wfs Добавить слой WFS на панели инструментов. Откроется диалог Добавить слой WFS

  2. Нажмите [Создать]

  3. Укажите «DM Solutions» в качестве имени

  4. Введите URL (см. выше)

  5. Нажмите [OK]

  6. В выпадающем списке Соединения с серверами selectstring выберите «DM Solutions»

  7. Нажмите [Подключиться]

  8. Дождитесь заполнения списка доступных слоев

  9. Выберите слой parks

  10. Чтобы добавить слой на карту, нажмите [Применить]

Отметим, что при работе с WFS используются настройки прокси-сервера, если таковые были заданы.

Figure OGR 3:

../../../_images/connection_wfs.png

Adding a WFS layer nix

Процесс загрузки слоя визуализируется в левом нижнем углу главного окна QGIS. По окончании загрузки можно выделять и получать информацию об интересующих объектах, просматривать таблицу атрибутов.

В настоящий момент поддерживается только WFS версии 1.0.0. Тестирование функционала на WFS-серверах, использующих другие версии протокола, не проводилось. При возникновении проблем в таких ситуациях не стесняйтесь и задавайте вопросы разработчикам. Пожалуйста, обратитесь к разделу Списки рассылки для получения дополнительной информации о списках рассылки.

Совет

Поиск WFS серверов

Дополнительные WFS-серверы можно найти, используя Google или любую другую поисковую систему. Существует множество списков, содержащих URL WFS-серверов, некоторые из которых поддерживаются, а некоторые уже нет.