Добавление базовых карт от Google или Bing в QGIS?

Ответы:

115

Обновление 2019: плагин не требуется, см. Новый ответ: https://gis.stackexchange.com/a/217670/187

Обновление 2015: новый плагин с еще большим количеством опций фоновой карты - QuickMapServices

Оригинал: используйте плагин OpenLayers для получения фоновых карт Google Maps, Bing, OSM или Yahoo.

Обратите внимание, что эти слои НЕ ПОДХОДЯТ ДЛЯ ПЕЧАТИ! (см. открытые билеты в ответе на https://gis.stackexchange.com/a/42141/187 )

введите описание изображения здесь

Подземье
источник
Рекомендовать редактирование, чтобы принять во внимание сервисы плиток XYZ. TKS :)
Тони Гил
Смотрите другой / новый ответ на этой странице. Должен быть самый высокий голос, как я пишу это. Плагин не требуется.
mankoff
120

Плагин не требуется

Существует базовый функционал провайдера XYZ Tile Server, который был реализован с некоторыми другими приятными улучшениями UX для плиточных сервисов (доступно с QGIS 2.18). Это означает, что нет необходимости во внешнем плагине, хотя для простой настройки вы все равно можете использовать внешние плагины (см. Нижнюю часть этого поста), и он предлагает различные улучшения по сравнению с решениями на основе чистых плагинов .

На панели браузера найдите запись Tile Server и щелкните ее правой кнопкой мыши, чтобы добавить новую службу.

введите описание изображения здесь

Введите URL-адрес службы, которую вы хотите использовать, заменив части x, y и z подстановкой фигурных скобок, как показано ниже.

введите описание изображения здесь

Дважды щелкните по вновь созданной записи, чтобы добавить слой на карту.

Слои добавлены следующим образом:

  • Загружай быстрее
  • Поддержка репроекции
  • Поддержка печати
  • Мощно кэшируются
  • Совместимы с QField

Некоторые примеры URL

OpenTopoMap

https://tile.opentopomap.org{z}/{x}/{y}.png

(См. Комментарий ниже для атрибуции )

OpenStreetMap

http://tile.openstreetmap.org/{z}/{x}/{y}.png

Google Hybrid

https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}

Google Satellite

https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}

Google Road

https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}

(Коды для других типов плиток от Google можно найти здесь )

Bing Aerial

http://ecn.t3.tiles.virtualearth.net/tiles/a{q}.jpeg?g=1

Графический интерфейс

Начиная с версии 0.18.7 и в сочетании с QGIS> = 2.18.8 можно использовать QuickMapServices как очень простой в использовании инструмент для настройки слоев. Просто установите флажок «Использовать встроенный рендер» (спасибо @DmitryBaryshnikov)

Матиас Кун
источник
1
Эти параметры подключения должны быть добавлены в список браузеров QGIS по умолчанию. Я думаю, что любое программное обеспечение ГИС должно поставляться с возможностями базовой карты одним щелчком мыши или два.
Jwely
3
OpenStreetMap был добавлен по умолчанию. Другие несут риск того, что их доставка вызовет юридические проблемы. Если кто-то знает о других службах, которые по умолчанию безопасны для доставки (или может предоставить юридическую консультацию), пожалуйста, свяжитесь со списком рассылки QGIS qgis.org/en/site/getinvolved/mailinglists.html .
Матиас Кун
1
только что рассказали об OpenTopoMap - используйте: tile.opentopomap.org {z} / {x} / {y} .png и добавьте цитату, подобную этой, к своим картам "данные карты: © Участники OpenStreetMap, SRTM | Стиль карты: © OpenTopoMap ( CC-BY-SA) "(спасибо @JakobMiksch)
Югеле
50

Еще один плагин для добавления базовых карт в QGIS - QuickMapServices:

введите описание изображения здесь

Хранилище подключаемых модулей Python QGIS: https://plugins.qgis.org/plugins/quick_map_services/

Больше информации о плагине:

Hast
источник
У меня QGIS 2.18.3 (Mac OS X), но у меня нет возможности добавить плитки XYZ. Вы уверены, что все версии 2.18.x имеют XYZ Tiles?
RutgerH
@RutgerH Я использую QGIS 3 (Mac OS X), и у него есть опция XYZ Tiles.
Грубоватый Эколог
7

Если вы хотите добавить базовые карты ESRI в QGIS, выполните шаги в этом блоге, используя консоль QGIS Python:

Скопируйте и вставьте этот код в консоль QGIS Python:

Добавляет сервис ESRI_Imagery_World_2D:

qgis.utils.iface.addRasterLayer("http://server.arcgisonline.com/arcgis/rest/services/ESRI_Imagery_World_2D/MapServer?f=json&pretty=true","raster")

Добавляет ESRI World_Street_Map сервис:

qgis.utils.iface.addRasterLayer("https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer?f=json&pretty=true","raster")

Затем вы можете сохранить их как файлы определения слоя QGIS и позже добавить их в любой проект.

А вот конечная точка REST всех базовых карт ArcGIS Online, которые вы можете добавить с помощью приведенного выше кода:

https://services.arcgisonline.com/arcgis/rest/services

DPSSpatial
источник