QuickMapServices - быстрая работа с базовыми картами в QGIS: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 14: Строка 14:
{{NextGIS}}
{{NextGIS}}


=== Замечания по установке ===
== Замечания по установке ==


Расширение доступно из [http://plugins.qgis.org/plugins/quick_map_services/ официального репозитория].
Расширение доступно из [http://plugins.qgis.org/plugins/quick_map_services/ официального репозитория].
Строка 28: Строка 28:
<pre>git clone git@github.com:nextgis/quickmapservices_contrib.git</pre>
<pre>git clone git@github.com:nextgis/quickmapservices_contrib.git</pre>


=== Работа с расширением ===
== Работа с расширением ==


После установки расширения в панели инструментов "Интернет" появится кнопка расширения (кнопку можно расположить и на другой, возможно более удобной панели, см. Настройки). Так же появится группа QuickMapServices в одноименном меню.
После установки расширения в панели инструментов "Интернет" появится кнопка расширения (кнопку можно расположить и на другой, возможно более удобной панели, см. Настройки). Так же появится группа QuickMapServices в одноименном меню.
Строка 44: Строка 44:
Настройки сервисов хранятся отдельно от самого модуля и при удалении-обновлении модуля они не удаляются.
Настройки сервисов хранятся отдельно от самого модуля и при удалении-обновлении модуля они не удаляются.


=== Почему QuickMapServices ===
== Почему QuickMapServices ==


Для удобной работы с подложками на данный момент существует несколько модулей расширения QGIS: OpenLayers plugin, Tile Map Scale Plugin, TileLayer. QuickMapServices наследует преимущества этих модулей и одновременно исправляет их недостатки:
Для удобной работы с подложками на данный момент существует несколько модулей расширения QGIS: OpenLayers plugin, Tile Map Scale Plugin, TileLayer. QuickMapServices наследует преимущества этих модулей и одновременно исправляет их недостатки:
Строка 58: Строка 58:
[[Файл:Quickmapservices-03.png|700px|thumb|center|Базовая картографическая основа MapSurfer и слой ЗОУТ (информация в панели справа - через плагин Identify+)]]
[[Файл:Quickmapservices-03.png|700px|thumb|center|Базовая картографическая основа MapSurfer и слой ЗОУТ (информация в панели справа - через плагин Identify+)]]


=== Настройки ===
== Настройки ==
В последней версии модуля появилось окно настроек, здесь можно задать общие настройки:
В последней версии модуля появилось окно настроек, здесь можно задать общие настройки:


Строка 75: Строка 75:
[[Файл:qms-contrib-01.png|419px|thumb|center|Настройки получения тайлов]]
[[Файл:qms-contrib-01.png|419px|thumb|center|Настройки получения тайлов]]


=== Дополнительные сервисы ===
== Дополнительные сервисы ==
Наверняка у вас есть набор подложек (сервисов) которые вы постоянно используете и вы хотели бы иметь их в плагине причем так, чтобы они устанавливались автоматически вместе с ним самим.
Наверняка у вас есть набор подложек (сервисов) которые вы постоянно используете и вы хотели бы иметь их в плагине причем так, чтобы они устанавливались автоматически вместе с ним самим.


Строка 86: Строка 86:
[[Файл:qms-contrib-5.png|419px|thumb|center|Полный список сервисов]]
[[Файл:qms-contrib-5.png|419px|thumb|center|Полный список сервисов]]


=== Создание описаний сервисов ===
== Создание описаний сервисов ==


Для добавления сервиса в модуль нужны два файла, используйте примеры:
Для добавления сервиса в модуль нужны два файла, используйте примеры:
Строка 113: Строка 113:
</pre>
</pre>


==== Дополнительные параметры ====
=== Дополнительные параметры ===
Могут понадобится также следующие параметры:
Могут понадобится также следующие параметры:


Строка 124: Строка 124:
Что касается проекций, эти настройки только декларируют систему координат источника, но не влияют на сетку тайлов.
Что касается проекций, эти настройки только декларируют систему координат источника, но не влияют на сетку тайлов.


==== Куда отправлять готовые описания сервисов ====
=== Куда отправлять готовые описания сервисов ===
После того как метаданные и иконка подготовлены их нужно отправить авторам модуля одним из перечисленных способов (в порядке предпочтительности):
После того как метаданные и иконка подготовлены их нужно отправить авторам модуля одним из перечисленных способов (в порядке предпочтительности):


Строка 137: Строка 137:
Мы можем перенести сервисы из дополнительных в базовый, так, чтобы сразу включались с QuickMapServices. Но для этого сервис должен отвечать нескольким условиям: он не вызывать сомнений в лицензионной чистоте и быть правильно описан.
Мы можем перенести сервисы из дополнительных в базовый, так, чтобы сразу включались с QuickMapServices. Но для этого сервис должен отвечать нескольким условиям: он не вызывать сомнений в лицензионной чистоте и быть правильно описан.


=== Известные ограничения ===
== Известные ограничения ==
QuickMapServices умеет работать через прокси-сервер, но имеет некоторые ограничения:
QuickMapServices умеет работать через прокси-сервер, но имеет некоторые ограничения:


* При использовании HTTP прокси-сервера на уровне ОС должны быть заданы необходимые [http://trac.osgeo.org/gdal/wiki/ConfigOptions#GDALOGRHTTPoptions переменные окружения], обеспечивающие корректную работу утилит GDAL, используемых при работе QuickMapServices. Если используется прокси-сервер без аутентификации, то достаточно задать только переменную GDAL_HTTP_PROXY. В ОС Windows это выглядит так:
* При использовании HTTP прокси-сервера на уровне ОС должны быть заданы необходимые [http://trac.osgeo.org/gdal/wiki/ConfigOptions#GDALOGRHTTPoptions переменные окружения], обеспечивающие корректную работу утилит GDAL, используемых при работе QuickMapServices. Если используется прокси-сервер без аутентификации, то достаточно задать только переменную GDAL_HTTP_PROXY. В ОС Windows это выглядит так:
<pre>SET GDAL_HTTP_PROXY = host:port</pre>
<pre>SET GDAL_HTTP_PROXY = host:port</pre>
* Сервисы на базе ArcGIS Server MapServices через модуль можно загружать только в [http://nextgis.ru/nextgis-qgis/ NextGIS QGIS Future]
* Сервисы на базе ArcGIS Server MapServices через модуль можно загружать только в [http://nextgis.ru/nextgis-qgis/ NextGIS QGIS]


=== Контакты ===
== Контакты ==


Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь [https://github.com/nextgis/quickmapservices/issues багтрекером]. Кроме того, вопросы по использованию расширения можно задать авторам [http://nextgis.ru/contact/ напрямую].
Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь [https://github.com/nextgis/quickmapservices/issues багтрекером]. Кроме того, вопросы по использованию расширения можно задать авторам [http://nextgis.ru/contact/ напрямую].


=== Ссылки по теме ===
== Ссылки по теме ==


* [http://gis-lab.info/qa/qgis-install-plugin.html Установка модулей расширения в QGIS]
* [http://gis-lab.info/qa/qgis-install-plugin.html Установка модулей расширения в QGIS]
* [http://gis-lab.info/docs/qgis/ Документация по QGIS]
* [http://gis-lab.info/docs/qgis/ Документация по QGIS]

Версия от 14:51, 27 октября 2015

Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/quickmapservices.html


Описание инструмента для быстрой работы с подложками в QGIS.

Этот инструмент может применяться для быстрого добавления базовой карты (т.н. подложки) в проект QGIS.

Растровая картографическая подложка часто выступает в качестве первого слоя, добавляемого для работы в проект. Подложка может быть представлена в виде различных интернет-сервисов: TMS, WMS, WMTS, ESRI ArcGIS Service или просто в виде тайлов XYZ.

В настольных ГИС существуют различные средства добавления подложек.

В QGIS, например, есть и собственные провайдеры данных и сторонние расширения для доступа к этим сервисам. WMS и WMTS протоколы реализованы в ядре QGIS. Доступ к TMS сервисам и тайлам XYZ можно организовать используя GDAL WMS Driver. В этом случае нужно подготавливать специальный XML-файл с описанием для GDAL. Это не удобно, так как запомнить адреса сложно, а процесс их ввода каждый раз при смене рабочего места отнимает достаточно много времени.

Существующие расширения для оптимизации работы нас не устроили и мы сделали QuickMapServices — расширение, которое позволяет быстро и удобно работать с подложками, получаемыми из различных интернет-сервисов.

Создано в Nextgis.png Веб ГИС для вашей организации по доступной цене

Замечания по установке

Расширение доступно из официального репозитория.

QuickMapServices находится в разработке и протестирован с QGIS 2.6 и выше.

Исходный код модуля (репозиторий на Github) можно получить выполнив команду:

git clone git@github.com:nextgis/quickmapservices.git

дополнительные сервисы хранятся в отдельном репозитории:

git clone git@github.com:nextgis/quickmapservices_contrib.git

Работа с расширением

После установки расширения в панели инструментов "Интернет" появится кнопка расширения (кнопку можно расположить и на другой, возможно более удобной панели, см. Настройки). Так же появится группа QuickMapServices в одноименном меню.

Quickmapservices-button.png

Кнопка является контейнером для базовых карт из различных источников.

Меню выбора подложки

При выборе одной из них, карта автоматически подключается в проект в качестве слоя. Слой подключается в конец списка слоёв.

Базовая картографическая основа и слой кадастрового деления с Публичной кадастровой карты

Настройки сервисов хранятся отдельно от самого модуля и при удалении-обновлении модуля они не удаляются.

Почему QuickMapServices

Для удобной работы с подложками на данный момент существует несколько модулей расширения QGIS: OpenLayers plugin, Tile Map Scale Plugin, TileLayer. QuickMapServices наследует преимущества этих модулей и одновременно исправляет их недостатки:

  • Использует нативную управляемую реализацию доступа к данным (в отличие от OpenLayers Plugin)
  • Имеет готовый список адресов сервисов и умеет добавлять подложки в один клик (как OpenLayers Plugin, но у последнего скачивание данных фактически происходит через браузер webkit, что не оптимально).
  • Не испытывает проблем с масштабированием надписей на нестандартных масштабах (как Tile Map Scale Plugin, последний использует универсальный драйвер GDAL, что приводит к проблемам с качеством отображения и печати на нестандартных масштабных уровнях в QGIS).
  • Использует реализацию доступа к тайлам со сглаживанием на нестандартных масштабных уровнях, что решает проблему отображения подписей на нестандартных масштабных уровнях (как TileLayer Plugin, но последний не имеет удобного способа добавлять готовые подложки).
  • Cписок сервисов может легко расширяться путем добавления простых ini файлов.

Если вы используете NextGIS QGIS Future, то вы так же сможете загружать слои опубликованные в ArcGIS Server, например слои с Электронного Атласа Москвы или слой ЗОУИТ (Зоны с особыми условиями использования территории) с Публичной кадастровой карты.

Базовая картографическая основа MapSurfer и слой ЗОУТ (информация в панели справа - через плагин Identify+)

Настройки

В последней версии модуля появилось окно настроек, здесь можно задать общие настройки:

  • Показывать управление подложками из панели "Управление слоями" - по умолчанию управление подложками добавляется в панель "Веб" и ее часто «теряют»;
  • Включать перепроецирование при добавлении тайлового слоя (если опция включена, то в проекте автоматически включается перепроецирование в систему координат EPSG: 3857 Pseudo Mercator);
  • Показывать информацию в панели сообщений (по умолчанию они показываются во всплывающей панели, что не всегда удобно).
Общие настройки

И параметры загрузки тайлов:

  • Максимальное количество соединений для скачивания тайлов;
  • Срок хранения кэша тайлов;
  • Таймаут загрузки тайлов.
Настройки получения тайлов

Дополнительные сервисы

Наверняка у вас есть набор подложек (сервисов) которые вы постоянно используете и вы хотели бы иметь их в плагине причем так, чтобы они устанавливались автоматически вместе с ним самим.

В QuickMapServices есть два хранилища для подложек: базовое и дополнительное. Подложки из базового набора устанавливаются и включаются вместе с модулем расширения. В последней версии модуля появилась возможность так же подключать дополнительные подложки. Просто зайдите в настройках во вкладку Дополнительные сервисы и нажмите «Получить дополнительные источники данных».

Загрузка дополнительных сервисов

Расширенный набор сервисов может выглядеть так:

Полный список сервисов

Создание описаний сервисов

Для добавления сервиса в модуль нужны два файла, используйте примеры:

  1. Иконка в формате SVG (пример)
  2. Файл описания сервиса metadata.ini (пример):
[general]
id = osm_mapnik
type = TMS
is_contrib = False
[ui]
group = osm
alias = OSM Mapnik style
icon = osm.svg
[license]
name = CC-BY-SA 2.0
link = http://creativecommons.org/licenses/by-sa/2.0/
copyright_text =© OpenStreetMap contributors, CC-BY-SA
copyright_link = https://www.openstreetmap.org/copyright
terms_of_use = http://wiki.openstreetmap.org/wiki/Tile_usage_policy
[tms]
url = http://tile.openstreetmap.org/{z}/{x}/{y}.png
zmax = 19

Дополнительные параметры

Могут понадобится также следующие параметры:

  • yOriginTop для слоёв TMS — когда координаты Y растут с юга на север, а не наоборот (пример - Кадастра Украины)
  • quadkeys в url (пример - Bing)
  • epsg_crs_id - код проекции в базе EPSG, например: epsg_crs_id=3857
  • postgis_crs_id - код проекции в соответствии с кодами таблицы spatial_reference в postgis, например: postgis_crs_id=3857
  • custom_proj - описание системы координат в формате proj4, например: custom_proj = +proj=merc +a=6378137 +b=6356752 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs.

Что касается проекций, эти настройки только декларируют систему координат источника, но не влияют на сетку тайлов.

Куда отправлять готовые описания сервисов

После того как метаданные и иконка подготовлены их нужно отправить авторам модуля одним из перечисленных способов (в порядке предпочтительности):

  • Если у вас есть аккаунт на Github - пул реквестом к нашему репозиторию. Важно: мы ни в коем случае не проверяем и не несем ответственности за содержимое отправляемых в этот репозиторий пользователями описаний сервисов.
  • Если нет аккаунта - завести аккаунт и сделать пул реквест
  • Если нет аккаунта, нет желания заводить аккаунт, не знаете что такое пул реквест и нет желания выяснять то можно так же:

Полная версия руководства по добавлению сервисов (на английском).

Мы можем перенести сервисы из дополнительных в базовый, так, чтобы сразу включались с QuickMapServices. Но для этого сервис должен отвечать нескольким условиям: он не вызывать сомнений в лицензионной чистоте и быть правильно описан.

Известные ограничения

QuickMapServices умеет работать через прокси-сервер, но имеет некоторые ограничения:

  • При использовании HTTP прокси-сервера на уровне ОС должны быть заданы необходимые переменные окружения, обеспечивающие корректную работу утилит GDAL, используемых при работе QuickMapServices. Если используется прокси-сервер без аутентификации, то достаточно задать только переменную GDAL_HTTP_PROXY. В ОС Windows это выглядит так:
SET GDAL_HTTP_PROXY = host:port
  • Сервисы на базе ArcGIS Server MapServices через модуль можно загружать только в NextGIS QGIS

Контакты

Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь багтрекером. Кроме того, вопросы по использованию расширения можно задать авторам напрямую.

Ссылки по теме