10.1. Занятие: Сервисы веб-карт¶
Сервисы веб-карт (WMS) - это сервис, размещенный на удаленном сервере. Как и в случае с веб-сайтом, вы можете получить к нему доступ, если у вас есть соединение с сервером. Используя QGIS, вы можете загрузить WMS прямо на свою существующую карту.
Как вы помните из урока по плагинам, можно, например, загрузить новое растровое изображение из Google. Тем не менее, это разовая операция: после того, как вы загрузили изображение, оно не меняется. WMS отличается тем, что это интерактивный сервис, который автоматически обновляет свой вид при панорамировании или масштабировании карты.
Цель этого урока: Использовать WMS и понять ее ограничения.
10.1.1. Идем дальше: Загружаем слои WMS¶
Для выполнения данного упражнения вы можете использовать либо базовую карту, которую вы создали в начале курса, или же просто создать новую карту и загрузить в нее некоторые существующие слои. В приведенном примере мы использовали новую карту и загрузили исходные слои places, landuse и protected_areas и скорректировали условные обозначения:
Загрузите эти слои на новую карту или используйте свою исходную карту с только этими слоями.
Перед тем, как добавить слой WMS, отключите проекцию «на лету» (вкладка No CRS (or unknown/non-Earth projection). Это может привести к тому, что слои больше не будут правильно перекрываться, но не волнуйтесь: мы это исправим позже.
, отметитьДля того, чтобы добавить слои WMS, кликните на кнопку для того, чтобы открыть диалоговое окно Data Source Manager и включить вкладку WMS/WMTS.
Вспомните, как вы подключались к базе данных SpatiaLite или GeoPackage в начале курса. Слои landuse, buildings и roads хранятся в базе данных. Для того, чтобы использовать эти слои, вам надо было сперва подключиться к базе данных. WMS используется аналогичным образом, за исключением того, что слои находятся на удаленном сервере.
Для того, чтобы создать новое подключение к WMS, надо кликнуть на кнопку New.
Для продолжения работы вам нужен адрес WMS. Существует несколько бесплатных серверов WMS. Один из них `terrestris `_ , который использует набор данных `OpenStreetMap `_ .
Для того, чтобы воспользоваться этим WMS, настройте ее в вашем текущем диалоговом окне следующим образом:
Значение поля Name должно быть
terrestris
.Значение поля URL должно быть
https://ows.terrestris.de/osm/service
.
Кликните на кнопку OK. Вы должны увидеть в списке новый WMS-сервер:
Кликните на Connect. В списке ниже вы должны увидеть эти новые загруженные записи:
Это все слои, размещенные на этом сервере WMS.
Кликните один раз на слой OSM-WMS. Появится его Coordinate Reference System:
Так как мы не используем
WGS 84
для нашей карты, давайте посмотрим все CRS, из которых нам нужно выбрать.Кликните на кнопку Change…. Вы увидите стандартное диалоговое окно Coordinate Reference System Selector.
Нам нужна проецированная CRS, так что давайте выберем WGS 84 / Pseudo Mercator.
Введите значение
pseudo
в поле Filter:Выберите WGS 84 / Pseudo Mercator (с epsg: 3857) из списка.
Кликните на кнопку OK. Система координат, связанная с записью, изменилась.
Кликните на Add и появится новый слой на вашей карте как OpenStreetMap WMS - by terrestris.
Закройте диалоговое окно Data Source Manager, если оно не закрылась автоматически.
На панели Layers кликните и перетащите в конец списка.
Уменьшите масштаб для того, чтобы получить общий вид слоев. Вы заметите, что ваши слои расположены неправильно (рядом с западной Африкой). Это произошло потому, что проецирование «на лету» отключено.
Давайте снова включим пере-проецирование, но используя ту же проекцию, что и в слое OpenStreetMap WMS т.е. WGS 84 / Pseudo Mercator.
Откройте вкладку
.Снимите флажок No CRS (or unknown/non-Earth projection).
Выберите WGS 84 / Pseudo Mercator из списка.
Кликните на кнопку OK.
Теперь кликните правой кнопкой мыши на одном из ваших слоев в панели Layers и кликните на Zoom to layer extent. Вы увидите местность Swellendam:
Обратите внимание, как перекрываются улицы слоя WMS и наши улицы. Это хороший знак!
Сущность и ограничения WMS¶
К настоящему времени вы, возможно, заметили, что этот слой WMS на самом деле имеет много функций. Здесь есть улицы, реки, заповедники и так далее. Даже если он выглядит так, как будто он состоит из векторов, он больше смахивает на растр, но вы не можете изменить его условные обозначения. Почему?
Так работает WMS: это карта, похожая на обычную бумажную карту, которую вы получаете в виде изображения. У вас есть векторные слои, которые QGIS отображает как карту. Но при использовании WMS эти векторные слои находятся на сервере WMS, который отображает их как карту и выдает эту карту вам как изображение. QGIS может показать это изображение, но не может изменять его условные обозначения, потому что все это обрабатывается на сервере.
Это дает вам несколько преимуществ, вам не нужно беспокоиться об условных обозначениях. Они уже отработаны и на них можно посмотреть на любой грамотно спроектированной WMS.
С другой стороны, вы не сможете изменить условные обозначения, если они вам не нравятся, и если что-то меняется на сервере WMS, они также поменяются на вашей карте. Поэтому иногда вам захочется использовать вместо этого веб-сервисы объектов (WFS), которые предоставляют векторные слои отдельно, а не как часть карты в стиле WMS.
Этот вопрос будет рассмотрено в следующем уроке. Сначала давайте добавим еще один слой WMS из сервера WMS terrestris.
10.1.2. Попробуйте сами¶
Надо скрыть слой OSM-WSM в панели Layers.
Добавьте «ZAF CGS 1M Bedrock Lithostratigraphy» WMS сервер в: URL:
http://196.33.85.22/cgi-bin/ZAF_CGS_Bedrock_Geology/wms
.Загрузите слой BEDROCKGEOLOGY на карту (вы также можете использовать кнопку для того, чтобы открыть диалоговое окно the Data Source Manager). Надо проверить, находится ли она той же WGS 84 / World Mercator проекции как и остальная часть вашей карты!
Вы можете настроить его Encoding на JPEG и его Tile size опцию на
200
на200
, чтобы она загружалась быстрее:
10.1.3. Попробуйте сами¶
Скройте все остальные слои WMS, чтобы они не отображались в фоновом режиме без надобности.
Добавьте «OGC» WMS-сервер на:
http://ogc.gbif.org:80/wms
.Добавьте слой bluemarble.
10.1.4. Попробуйте сами¶
Сложность использования WMS заключается в том, чтобы найти хороший (бесплатный) сервер.
10.1.5. В заключении¶
Используя WMS, вы можете добавлять неактивные карты в качестве фона для ваших существующих картографических данных.
10.1.6. Дополнительные материалы для чтения¶
10.1.7. Что дальше?¶
После того как вы добавили неактивную карту в качестве фона, вы будете рады узнать, что вы также можете добавлять объекты (например, другие векторные слои, которые вы добавляли ранее). Добавление объектов с удаленных серверов возможно с помощью веб-сервисов объектов (WFS). Это тема следующего урока.