|
|
Строка 1: |
Строка 1: |
| {{Статья|Опубликована|quickmapservices}}
| | == Добавление новых сервисов == |
| {{Аннотация|Описание инструмента для быстрой работы с подложками в QGIS.}}
| |
|
| |
|
| Этот инструмент может применяться для быстрого добавления базовой карты (т.н. подложки) в проект QGIS.
| | ===Добавление в поисковую базу (рекомендуется)=== |
| | #[https://my.nextgis.com/signup Зарегистрируйтесь] или [https://qms.nextgis.com/login/ войдите] |
| | #Нажмите «[https://qms.nextgis.com/create Добавить сервис]», чтобы создать источник в формате TMS, WMS, WFS или GeoJSON |
|
| |
|
| Растровая картографическая подложка часто выступает в качестве первого слоя, добавляемого для работы в проект. Подложка может быть представлена в виде различных интернет-сервисов: TMS, WMS, WMTS, ESRI ArcGIS Service или просто в виде тайлов XYZ.
| | Сервис будет добавлен в базу и доступен через поиск сервисов. |
| | ===Добавление в дерево сервисов=== |
|
| |
|
| В настольных ГИС существуют различные средства добавления подложек.
| | Для добавления сервиса в дерево сервисов нужны два файла, используйте примеры: |
| | |
| В QGIS, например, есть и собственные провайдеры данных и сторонние расширения для доступа к этим сервисам. WMS и WMTS протоколы реализованы в ядре QGIS. Доступ к TMS сервисам и тайлам XYZ можно организовать используя GDAL WMS Driver. В этом случае нужно подготавливать специальный XML-файл с описанием для GDAL. Это не удобно, так как запомнить адреса сложно, а процесс их ввода каждый раз при смене рабочего места или проекта отнимает достаточно много времени, их надо где-то хранить и т.д.
| |
| | |
| Существующие расширения для оптимизации работы нас не устроили и мы сделали [http://plugins.qgis.org/plugins/quick_map_services/ QuickMapServices] — расширение, которое позволяет быстро и удобно работать с различными источниками данных, реализованных в виде интернет-сервисов.
| |
| | |
| {{NextGIS}}
| |
| | |
| == Установка ==
| |
| | |
| Расширение доступно из [http://plugins.qgis.org/plugins/quick_map_services/ официального репозитория].
| |
| | |
| Установка модулей QGIS описана в [http://gis-lab.info/qa/qgis-install-plugin.html отдельной статье].
| |
| | |
| QuickMapServices находится в разработке и протестирован с QGIS 2.6 и выше.
| |
| | |
| == Исходный код ==
| |
| | |
| Исходный код модуля ([https://github.com/nextgis/quickmapservices репозиторий] на Github) можно получить выполнив команду:
| |
| | |
| <pre>git clone git@github.com:nextgis/quickmapservices.git</pre>
| |
| | |
| == Работа с расширением ==
| |
| | |
| После установки расширения в панели инструментов "Интернет" появятся кнопки расширения. Так же появится группа QuickMapServices в одноименном меню.
| |
| | |
| [[Файл:QMS-in-QGIS.jpg|center|Кнопки добавляемые модулем QuickMapServices]]
| |
| | |
| Кнопки можно расположить и на другой, возможно более удобной панели - Управление слоями (изменение панели по умолчанию производится в настройках модуля).
| |
| | |
| Первая кнопка является контейнером для дерева различных источников данных. Вторая кнопка включает панель поиска.
| |
| | |
| [[Файл:qms-contrib-4.png|thumb|center|Меню выбора подложки]]
| |
| | |
| При выборе одной из них, карта автоматически подключается в проект в качестве слоя. Слой подключается в конец списка слоёв.
| |
| | |
| [[Файл:Quickmapservices-02.png|700px|thumb|center|Базовая картографическая основа и слой кадастрового деления с Публичной кадастровой карты]]
| |
| | |
| Настройки сервисов хранятся отдельно от самого модуля и при удалении-обновлении модуля они не удаляются.
| |
| | |
| == Почему 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, например слои с Электронного Атласа Москвы или слой ЗОУИТ (Зоны с особыми условиями использования территории) с Публичной кадастровой карты.
| |
| | |
| [[Файл:Quickmapservices-03.png|700px|thumb|center|Базовая картографическая основа MapSurfer и слой ЗОУТ (информация в панели справа - через плагин Identify+)]]
| |
| | |
| == Настройки ==
| |
| | |
| ===Общие настройки===
| |
| Окно общих настроек можно вызвать из меню расширения. Что можно настроить:
| |
| | |
| * Показывать управление подложками из панели "Управление слоями" - по умолчанию управление подложками добавляется в панель "Веб" и ее часто «теряют»;
| |
| * Включать перепроецирование при добавлении тайлового слоя (если опция включена, то в проекте автоматически включается перепроецирование в систему координат EPSG: 3857 Pseudo Mercator);
| |
| * Показывать информацию в панели сообщений (по умолчанию они показываются во всплывающей панели, что не всегда удобно).
| |
| | |
| [[Файл:qms-contrib-01.png|419px|thumb|center|Общие настройки]]
| |
| | |
| И параметры загрузки тайлов:
| |
| | |
| * Максимальное количество соединений для скачивания тайлов;
| |
| * Срок хранения кэша тайлов;
| |
| * Таймаут загрузки тайлов.
| |
| | |
| [[Файл:qms-contrib-01.png|419px|thumb|center|Настройки получения тайлов]]
| |
| | |
| ===Настройки подложки===
| |
| Так как подложка добавленная через QuickMapServices является особым видом слоя, её окно настроек отличается от стандартного окна настроек слоя.
| |
| | |
| Через настройки подложки можно:
| |
| * Включить-выключить сглаживание
| |
| * Перевести подложку в оттенки серого
| |
| * Настроить яркость, контраст, прозрачность
| |
| * Включить пока копирайтов
| |
| | |
| | |
| [[Файл:Qms-basemap-settings.png|446px|thumb|center|Настройки подложки]]
| |
| | |
| == Дополнительные сервисы ==
| |
| Наверняка у вас есть набор подложек (сервисов) которые вы постоянно используете и вы хотели бы иметь их в плагине причем так, чтобы они устанавливались автоматически вместе с ним самим.
| |
| | |
| В QuickMapServices есть два хранилища для подложек: базовое и дополнительное. Подложки из базового набора устанавливаются и включаются вместе с модулем расширения. В последней версии модуля появилась возможность так же подключать дополнительные подложки. Просто зайдите в настройках во вкладку Дополнительные сервисы и нажмите «Получить дополнительные источники данных».
| |
| | |
| [[Файл:qms-contrib-03.png|419px|thumb|center|Загрузка дополнительных сервисов]]
| |
| | |
| Расширенный набор сервисов может выглядеть так:
| |
| | |
| [[Файл:qms-contrib-5.png|419px|thumb|center|Полный список сервисов]]
| |
| | |
| == Создание описаний сервисов ==
| |
| | |
| Для добавления сервиса в модуль нужны два файла, используйте примеры:
| |
|
| |
|
| # Иконка в формате SVG ([https://github.com/nextgis/quickmapservices/blob/master/src/data_sources/osm_mapnik/osm.svg пример]) | | # Иконка в формате SVG ([https://github.com/nextgis/quickmapservices/blob/master/src/data_sources/osm_mapnik/osm.svg пример]) |
Строка 153: |
Строка 57: |
|
| |
|
| Мы можем перенести сервисы из дополнительных в базовый, так, чтобы они сразу включались с QuickMapServices. Но для этого сервис должен отвечать нескольким условиям: его лицензионная чистота не должна вызывать сомнений и он должен быть правильно описан. | | Мы можем перенести сервисы из дополнительных в базовый, так, чтобы они сразу включались с QuickMapServices. Но для этого сервис должен отвечать нескольким условиям: его лицензионная чистота не должна вызывать сомнений и он должен быть правильно описан. |
|
| |
| == Известные ограничения ==
| |
| QuickMapServices умеет работать через прокси-сервер, но имеет некоторые ограничения:
| |
|
| |
| * При использовании HTTP прокси-сервера на уровне ОС должны быть заданы необходимые [http://trac.osgeo.org/gdal/wiki/ConfigOptions#GDALOGRHTTPoptions переменные окружения], обеспечивающие корректную работу утилит GDAL, используемых при работе QuickMapServices. Если используется прокси-сервер без аутентификации, то достаточно задать только переменную GDAL_HTTP_PROXY. В ОС Windows это выглядит так:
| |
| <pre>SET GDAL_HTTP_PROXY = host:port</pre>
| |
| * Сервисы на базе ArcGIS Server MapServices через модуль можно загружать только в [http://nextgis.ru/nextgis-qgis/ NextGIS QGIS]
| |
|
| |
| == Контакты ==
| |
|
| |
| Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь [https://github.com/nextgis/quickmapservices/issues багтрекером]. Кроме того, вопросы по использованию расширения можно задать авторам [http://nextgis.ru/contact/ напрямую].
| |
|
| |
| == Ссылки по теме ==
| |
|
| |
| * [http://gis-lab.info/qa/qgis-install-plugin.html Установка модулей расширения в QGIS]
| |
| * [http://gis-lab.info/docs/qgis/ Документация по QGIS]
| |
Добавление новых сервисов
Добавление в поисковую базу (рекомендуется)
- Зарегистрируйтесь или войдите
- Нажмите «Добавить сервис», чтобы создать источник в формате TMS, WMS, WFS или GeoJSON
Сервис будет добавлен в базу и доступен через поиск сервисов.
Добавление в дерево сервисов
Для добавления сервиса в дерево сервисов нужны два файла, используйте примеры:
- Иконка в формате SVG (пример)
- Файл описания сервиса 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
- layers - перечень показываемых слоёв если источник - сервер WMS и там их несколько (пример - ПКК), например: layers = 1,2,3,5,6
Что касается проекций, эти настройки только декларируют систему координат источника, но не влияют на сетку тайлов.
Куда отправлять готовые описания сервисов
После того как метаданные и иконка подготовлены их нужно отправить авторам модуля одним из перечисленных способов (в порядке предпочтительности):
- Если у вас есть аккаунт на Github - пул реквестом к нашему репозиторию. Важно: мы ни в коем случае не проверяем и не несем ответственности за содержимое отправляемых в этот репозиторий пользователями описаний сервисов.
- Если нет аккаунта - завести аккаунт и сделать пул реквест
- Если нет аккаунта, нет желания заводить аккаунт, не знаете что такое пул реквест и нет желания выяснять то можно так же:
Полная версия руководства по добавлению сервисов (на английском).
Мы можем перенести сервисы из дополнительных в базовый, так, чтобы они сразу включались с QuickMapServices. Но для этого сервис должен отвечать нескольким условиям: его лицензионная чистота не должна вызывать сомнений и он должен быть правильно описан.