QuickMapServices - быстрая работа с базовыми картами в QGIS: различия между версиями
Нет описания правки |
м (Откат правок Максим Дубинин (обсуждение) к версии Denis Rykov) |
||
Строка 1: | Строка 1: | ||
{{Статья|Опубликована|quickmapservices}} | |||
{{Аннотация|Описание инструмента.}} | |||
Этот инструмент может применяться для быстрого добавления базовой карты (т.н. подложки) в проект QGIS. | |||
Растровая картографическая подложка часто выступает в качестве первого слоя, добавляемого для работы в проект. Подложка может быть представлена в виде различных интернет-сервисов: 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/plugins.xml официального репозитория]. | |||
QuickMapServices находится в разработке и протестирован с QGIS 2.6 и выше. | |||
Исходный код модуля можно получить выполнив команду | |||
<pre>git clone git@github.com:nextgis/quickmapservices.git</pre> | |||
=== Работа с расширением === | |||
После установки расширения в панели инструментов "Интернет" появится кнопка расширения. Так же появится группа QuickMapServices в одноименном меню. | |||
[[Файл:Файл:Quickmapservices-button.png|center]] | |||
Кнопка является контейнером для базовых карт из различных источников. | |||
[[Файл:multiqml-01.png|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 файлов. | |||
=== | === Добавление сервисов === | ||
Для добавления сервиса в модуль нужны два файла, используйте примеры: | |||
# Иконка в формате SVG ([https://github.com/nextgis/quickmapservices/blob/master/src/data_sources/osm_mapnik/osm.svg пример]) | |||
# Файл описания сервиса metadata.ini ([https://github.com/nextgis/quickmapservices/blob/master/src/data_sources/osm_mapnik/metadata.ini пример]) | |||
После того как метаданные и иконка подготовлены их нужно отправить авторам одним из перечисленных способов (в порядке предпочтительности): | |||
После того как метаданные и иконка подготовлены их нужно отправить авторам | |||
* Если | * Если есть аккаунт на Github - пул реквестом к нашему [https://github.com/nextgis/quickmapservices репозиторию] | ||
* Если нет аккаунта - завести аккаунт и сделать пул реквест | * Если нет аккаунта - завести аккаунт и сделать пул реквест | ||
* Если нет аккаунта, нет желания заводить аккаунт, не знаете что такое пул реквест и нет желания выяснять то можно так же: | * Если нет аккаунта, нет желания заводить аккаунт, не знаете что такое пул реквест и нет желания выяснять то можно так же: | ||
** Приложить файлы к [http://gis-lab.info/forum/viewtopic.php?f=27&t=18464 теме обсуждения модуля] на форуме GIS-Lab | ** Приложить файлы к [http://gis-lab.info/forum/viewtopic.php?f=27&t=18464 теме обсуждения модуля] на форуме GIS-Lab | ||
** Просто отправить по [http://nextgis.ru/contact/ почте] | ** Просто отправить по [http://nextgis.ru/contact/ почте] | ||
Полная версия руководства по добавлению сервисов ([https://github.com/nextgis/quickmapservices/wiki/Adding-data-source на английском]). | Полная версия руководства по добавлению сервисов ([https://github.com/nextgis/quickmapservices/wiki/Adding-data-source на английском]). | ||
=== Известные ограничения === | |||
На текущий момент модуль имеет следующие ограничения: | |||
* При использовании 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 Future] | |||
Мы продолжаем поддержку модуля и вышеперечисленные задачи могут быть решены в новых версиях QuickMapServices. | |||
=== Контакты === | |||
Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь [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] |
Версия от 01:40, 24 декабря 2016
по адресу http://gis-lab.info/qa/quickmapservices.html
Описание инструмента.
Этот инструмент может применяться для быстрого добавления базовой карты (т.н. подложки) в проект QGIS.
Растровая картографическая подложка часто выступает в качестве первого слоя, добавляемого для работы в проект. Подложка может быть представлена в виде различных интернет-сервисов: TMS, WMS, WMTS, ESRI ArcGIS Service или просто в виде тайлов XYZ.
В настольных ГИС существуют различные средства добавления подложек.
В QGIS, например, есть и собственные провайдеры данных и сторонние расширения для доступа к этим сервисам. WMS и WMTS протоколы реализованы в ядре QGIS. Доступ к TMS сервисам и тайлам XYZ можно организовать используя GDAL WMS Driver. В этом случае нужно подготавливать специальный XML-файл с описанием для GDAL. Это не удобно, так как запомнить адреса сложно, а процесс их ввода каждый раз при смене рабочего места отнимает достаточно много времени.
Существующие расширения для оптимизации работы нас не устроили и мы сделали QuickMapServices — расширение, которое позволяет быстро и удобно работать с подложками, получаемыми из различных интернет-сервисов.
Создано в | Веб ГИС для вашей организации по доступной цене |
Замечания по установке
Расширение доступно из официального репозитория.
QuickMapServices находится в разработке и протестирован с QGIS 2.6 и выше.
Исходный код модуля можно получить выполнив команду
git clone git@github.com:nextgis/quickmapservices.git
Работа с расширением
После установки расширения в панели инструментов "Интернет" появится кнопка расширения. Так же появится группа QuickMapServices в одноименном меню.
Кнопка является контейнером для базовых карт из различных источников.
При выборе одной из них, карта автоматически подключается в проект в качестве слоя. Слой подключается в конец списка слоёв.
Почему 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 файлов.
Добавление сервисов
Для добавления сервиса в модуль нужны два файла, используйте примеры:
После того как метаданные и иконка подготовлены их нужно отправить авторам одним из перечисленных способов (в порядке предпочтительности):
- Если есть аккаунт на Github - пул реквестом к нашему репозиторию
- Если нет аккаунта - завести аккаунт и сделать пул реквест
- Если нет аккаунта, нет желания заводить аккаунт, не знаете что такое пул реквест и нет желания выяснять то можно так же:
- Приложить файлы к теме обсуждения модуля на форуме GIS-Lab
- Просто отправить по почте
Полная версия руководства по добавлению сервисов (на английском).
Известные ограничения
На текущий момент модуль имеет следующие ограничения:
- При использовании HTTP прокси-сервера на уровне ОС должны быть заданы необходимые переменные окружения, обеспечивающие корректную работу утилит GDAL, используемых при работе QuickMapServices. Если используется прокси-сервер без аутентификации, то достаточно задать только переменную GDAL_HTTP_PROXY. В ОС Windows это выглядит так:
SET GDAL_HTTP_PROXY = host:port
- Сервисы на базе ArcGIS Server MapServices через модуль можно загружать только в NextGIS QGIS Future
Мы продолжаем поддержку модуля и вышеперечисленные задачи могут быть решены в новых версиях QuickMapServices.
Контакты
Если вы нашли ошибку или у вас есть предложения по улучшению расширения — воспользуйтесь багтрекером. Кроме того, вопросы по использованию расширения можно задать авторам напрямую.