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

QGIS как клиент OGC

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

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

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

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

Клиент WMS/WMTS

Обзор поддержки WMS

На данный момент QGIS способна выступать в роли клиента, поддерживающего WMS серверы версий 1.1, 1.1.1 и 1.3, что было подтверждено тестами различных публичных серверов, таких, как DEMIS.

WMS-клиент (например, QGIS) запрашивает у сервера карту заданного охвата, содержащую определённый набор слоёв с установленной символикой и прозрачностью. После чего WMS-сервер обращается к своему локальному хранилищу данных, растеризует карту и отправляет её клиенту в растровом формате. В случае QGIS таким форматом обычно является JPEG или PNG.

WMS — это REST (Representational State Transfer) сервис, в отличие от полноценных Web-сервисов, что позволяет использовать URL, созданный QGIS, во внешних приложениях, например в web-браузерах для получения таких же изображений, что и в QGIS. Это может быть полезно при поиске неисправностей, поскольку на рынке существуют WMS-серверы различных производителей и каждый из них по своему интерпретирует стандарт WMS.

WMS-слои добавляются очень просто, необходимо только знать URL WMS-сервера, иметь с ним связь и возможность использования сервером протокола HTTP в качестве механизма передачи данных.

Обзор поддержки WMTS

QGIS can also act as a WMTS client. WMTS is an OGC standard for distributing tile sets of geospatial data. This is a faster and a more efficient way of distributing data than WMS because with WMTS the tile sets are pre-generated and the client only requests the transmission of the tiles and not their production. A WMS request typically involves both the generation and transmission of the data. A well known example of a non-OGC standard for viewing tiled geospatial data is Google Maps.

Чтобы отображать данные в масштабе максимально приближённом к заданному пользователем, тайлы WMTS генерируются для различных масштабных уровней. Затем тайлы отдаются ГИС, запросившей их.

Следующий рисунок иллюстрирует концепцию набора тайлов:

Figure WMTS 1:

../../../_images/concept_wmts.png

Концепция набора тайлов WMTS

The two types of WMTS interfaces that QGIS supports are via Key-Value-Pairs (KVP) and RESTful. These two interfaces are different and you need to specify them to QGIS differently.

1) In order to access a WMTS KVP service, a QGIS user opens the WMS/WMTS interface and adds the following string to the URL of the WMTS tile service:

"?SERVICE=WMTS&REQUEST=GetCapabilities"

An example of this type of address is

http://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
  service=WMTS&request=GetCapabilities

Для проверки можно загрузить слой topo2 с этого сервера. Использование строки service=WMTS указывает, что данные запрашиваются по протоколу WMTS, а не WMS.

2) The RESTful WMTS service takes a different form, it is a straightforward URL, the format recommended by the OGC is:

{WMTSBaseURL}/1.0.0/WMTSCapabilities.xml

This format helps you to recognize that it is a RESTful address. A RESTful WMTS is accessed in QGIS by simply adding its address in the WMS setup in the URL field of the form. An example for an Austrian basemap of this type of address is http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml

Примечание

Вы можете столкнуться со старыми сервисами WMS-C. Они очень похожи на сервися WMTS, хотя детали реализации отличаются. Вы можете использовать их аналогично сервисам WMTS, просто добавьте ?tiled=true к строке адреса. Подробную информацию об этом протоколе можно получить по адресу http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification.

Если вы видите в тексте этого руководства WMTS, скорее всего написанное будет примененимо и к WMS-C.

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

При первом использовании 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/WMTS-слоёв

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

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

Figure OGR 1:

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

Диалоговое окно добавления WMS-сервера, представлены доступные слои nix

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

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

Совет

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

Обычно WMS-серверы предлагают на выбор один из двух форматов — JPEG или PNG. JPEG — это формат, использующий алгоритм сжатия с потерями, в то время как PNG — без потерь.

Используйте JPEG, если предполагается, что данные полученные по WMS будут представлять собой фотографии природы и/или вам не принципиально небольшое снижение качества изображений. Использование JPEG позволяет приблизительно в 5 раз снизить объём передаваемой информации по сравнению с PNG.

Используйте PNG, если хотите получить точное воспроизведение оригинальных данных и вас не беспокоит объём передаваемой информации.

Параметры

Группа «Параметры» содержит текстовое поле, где можно указать имя WMS-слоя. Это имя будет отображено в списке слоев по завершении загрузки.

Помимо имени слоя здесь же указывается Размер блока мозаики, чтобы разбить один запрос на несколько и получать данные в виде тайлов заданного размера, к примеру 256x256.

Поле Максимально количество объектов в GetFeatureInfo задает число объектов, запрашиваемых у сервера.

При выборе WMS-слоя из списка, отображается название системы координат, используемой сервером по умолчанию. Если кнопка [Изменить...] активна, систему координат можно изменить на любую другую, поддерживаемую сервером WMS.

Слои

Вкладка Слои содержит список доступных слоев на выбранном WMS-сервере. Можно заметить, что некоторые слои представляют собой раскрывающийся список, это свидетельствует о том, что данные слои можно отобразить с использованием различных стилей.

Можно выбрать несколько слоёв за раз, но при этом каждый из них с использованием только одного стиля. Если выбрано несколько слоёв, то они будут объединены на WMS-сервере и сразу переданы QGIS.

Совет

Порядок WMS-слоёв

В данной версии QGIS WMS-слои отрисовываются сервером путём наложения друг на друга в порядке, представленном во вкладке Слои, начиная с конца списка. Если нужно поменять порядок отрисовки слоёв, воспользуйтесь вкладкой Порядок слоёв.

Прозрачность

Прозрачность слоёв жестко прописана в коде этой версии QGIS и всегда включена для тех слоёв, которые её поддерживают.

Совет

Прозрачность WMS-слоёв

Доступность прозрачности WMS-слоёв зависит от используемого формата изображения: так PNG и GIF поддерживают прозрачность, в то время как JPEG — нет.

Система координат

Система координат (CRS, Coordinate Reference System) — проекция в терминологии OGC.

Каждый WMS-слой может быть отображен с использованием нескольких систем координат, список которых определяется настройками сервера.

Для выбора системы координат нажмите кнопку [Изменить...], появится окно, подобное тому, что представлено на рисунке 3 в разделе Работа с проекциями. Основное отличие WMS-версии данного окна состоит в том, что оно содержит только те системы координат, которые поддерживаются WMS-сервером.

Мозаики

When using WMTS (Cached WMS) Services like

http://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
  service=WMTS&request=GetCapabilities

you are able to browse through the tab Tilesets given by the server. Additional information like tile size, formats and supported CRS are listed in this table. In combination with this feature you can use the tile scale slider from the Settings ‣ Panels (KDE and Windows) or View ‣ Panels (Gnome and MacOSX) then choose Tile scale, which gives you the available scales from the tileserver with nice slider docked in.

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

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

Выбор формата

Если сервер поддерживает выполнение запросов определения, в окне Результат определения появится выпадающий список с доступными форматами отображения результатов. Выбранный формат затем будет использоваться в дальнейшем при работе с этим слоём.

Поддержка формата GML

The mActionIdentify Identify tool supports WMS server response (GetFeatureInfo) in GML (it is called Feature in QGIS GUI in this context) format. If “Feature” format is supported by the server and selected, results of the Identify tool are vector features like from regular vector layer. When a single feature is selected in the tree, it is highlighted in the map and it can be copied to clipboard and pasted to another vector layer. See example setup of UMN Mapserver below to support GetFeatureInfo GML format.

# in layer METADATA add which fields should be included and define geometry (example):

"gml_include_items"   "all"
"ows_geometries"      "mygeom"
"ows_mygeom_type"     "polygon"

# Then there are two possibilities/formats available, see a) and b):

# a) basic (output is generated by Mapserver and does not contain XSD)
# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml,text/html"

# b) using OGR (output is generated by OGR, it is send as multipart and contains XSD)
# in MAP define OUTPUTFORMAT (example):
OUTPUTFORMAT
    NAME "OGRGML"
    MIMETYPE "ogr/gml"
    DRIVER "OGR/GML"
    FORMATOPTION "FORM=multipart"
END

# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "OGRGML,text/html"

Просмотр свойств

Для просмотра свойств 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/WMTS-серверов.

Совет

Доступ к защищённым слоям OGC

Если необходимо получить доступ к защищённым слоям, требующим прохождения аутентификации, отличной от базовой, то следует воспользоваться прозрачным прокси-сервером InteProxy, поддерживающим различные методы аутентификации. Дополнительную информацию можно найти в руководстве InteProxy, расположенном по адресу http://inteproxy.wald.intevation.org.

Совет

Сервер WMS |qg|

Начиная с версии 1.7.0 в QGIS присутствует своя реализация WMS сервера, с поддержкой стандарта WMS 1.3.0. Более подробная информация находится в разделе QGIS как сервер OGC.

Клиент WCS

wcs A Web Coverage Service (WCS) provides access to raster data in forms that are useful for client-side rendering, as input into scientific models, and for other clients. The WCS may be compared to the WFS and the WMS. As WMS and WFS service instances, a WCS allows clients to choose portions of a server’s information holdings based on spatial constraints and other query criteria.

QGIS has a native WCS provider and supports both version 1.0 and 1.1 (which are significantly different), but currently it prefers 1.0, because 1.1 has many issues, each server implements it in different way with various particularities.

The native WCS provider handles all network requests and uses all standard QGIS network settings (especially proxy). It is also possible select cache mode (always cache, prefer cache, prefer network, always network) and the provider also supports selection of time position if temporal domain is offered by server.

Клиент WFS и WFS-T

In QGIS, a WFS layer behaves pretty much like any other vector layer. You can identify and select features and view the attribute table. Since QGIS 1.6 editing (WFS-T) is also supported.

В общем случае добавление 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. Чтобы добавить слой на карту, нажмите [Применить]

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

Figure OGR 3:

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

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

You’ll notice the download progress is visualized in the left bottom of the QGIS main window. Once the layer is loaded, you can identify and select a province or two and view the attribute table.

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

Совет

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

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