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.
Now right-click on one of your own layers in the Layers panel and click Zoom to layer(s). You should see the Swellendam area:
Обратите внимание, как перекрываются улицы слоя 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
, чтобы она загружалась быстрее:
Answer
Your map should look like this (you may need to re-order the layers):
10.1.3. Попробуйте сами
Скройте все остальные слои WMS, чтобы они не отображались в фоновом режиме без надобности.
Добавьте «OGC» WMS-сервер на:
http://ogc.gbif.org:80/wms
.Добавьте слой bluemarble.
Answer
Use the same approach as before to add the new server and the appropriate layer as hosted on that server:
If you zoom into the Swellendam area, you’ll notice that this dataset has a low resolution:
Therefore, it’s better not to use this data for the current map. The Blue Marble data is more suitable at global or national scales
10.1.4. Попробуйте сами
Сложность использования WMS заключается в том, чтобы найти хороший (бесплатный) сервер.
Найдите новую WMS на `directory.spatineo.com `_ (или еще где-то в интернете) без надобности оплаты каких-либо услуг или без ограничений и он должен охватывать всю территорию исследования Swellendam.
Помните, что для использования WMS вам нужен лишь адрес сайта (и желательно какое-то описание).
Answer
You may notice that many WMS servers are not always available. Sometimes this is temporary, sometimes it is permanent. An example of a WMS server that worked at the time of writing is the World Mineral Deposits WMS at http://apps1.gdr.nrcan.gc.ca/cgi-bin/worldmin_en-ca_ows. It does not require fees or have access constraints, and it is global. Therefore, it does satisfy the requirements. Keep in mind, however, that this is merely an example. There are many other WMS servers to choose from.
10.1.5. В заключении
Используя WMS, вы можете добавлять неактивные карты в качестве фона для ваших существующих картографических данных.
10.1.6. Дополнительные материалы для чтения
10.1.7. Что дальше?
После того как вы добавили неактивную карту в качестве фона, вы будете рады узнать, что вы также можете добавлять объекты (например, другие векторные слои, которые вы добавляли ранее). Добавление объектов с удаленных серверов возможно с помощью веб-сервисов объектов (WFS). Это тема следующего урока.