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.
Click once on the OSM-WMS layer. This will display the default Coordinate Reference System in use and the number of CRSes supported by the dataset:
Since we’re not using
EPSG:4326 - WGS 84
for our map, let’s find one that meets our needs.Click the Select CRS button. You will see a standard Coordinate Reference System Selector dialog showing all the CRS the data is published with.
We want a projected CRS, so let’s choose WGS 84 / Pseudo-Mercator with
EPSG:3857
. You can use the top Filter widget.Кликните на кнопку OK. Система координат, связанная с записью, изменилась.
Click Add to load the layer in your project using Layer name` (default is 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.
This will be covered in the next lesson, however. First, let’s add another WMS layer.
10.1.2. Try Yourself
Add the
eAtlas
WMS server at this URL:https://maps.eatlas.org.au/maps/wms
Load a World: Hillshading layer into the map.
You might want to set its Encoding to JPEG and its Tile size option to
200
by200
, so that it loads faster.Your map should look like this (you may need to re-order the layers, and apply some transparency):
Answer
Go to the Data Source Manager, WMS / WMTS tab and create a new connection entry
Use the text box to filter the list of layers and select the corresponding layer
Remember to check/turn its CRS into EPSG:3857 - WGS 84 / Pseudo Mercator as the rest of the map.
After the layer is loaded, you can modify its Opacity value (under the Transparency properties tab)
10.1.3. Try Yourself
Сложность использования WMS заключается в том, чтобы найти хороший (бесплатный) сервер.
Найдите новую WMS на `directory.spatineo.com `_ (или еще где-то в интернете) без надобности оплаты каких-либо услуг или без ограничений и он должен охватывать всю территорию исследования Swellendam.
Помните, что для использования WMS вам нужен лишь адрес сайта (и желательно какое-то описание).
Answer
Spatineo is one of many places you can search for a OGC data. Type in the text area a name, keyword, location of your interest to see if you get some working results. For this lesson, you might want to filter the results to include WMS only.
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 MapServer Demonstration Server WMS at https://demo.mapserver.org/cgi-bin/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities. 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.4. Try Yourself
Add the bluemarble layer from the MapServer Demonstration Server. Is that a suitable dataset for our study area?
Answer
Скройте все остальные слои WMS, чтобы они не отображались в фоновом режиме без надобности.
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.5. In Conclusion
Используя WMS, вы можете добавлять неактивные карты в качестве фона для ваших существующих картографических данных.
10.1.6. Further Reading
10.1.7. What’s Next?
После того как вы добавили неактивную карту в качестве фона, вы будете рады узнать, что вы также можете добавлять объекты (например, другие векторные слои, которые вы добавляли ранее). Добавление объектов с удаленных серверов возможно с помощью веб-сервисов объектов (WFS). Это тема следующего урока.