ShortcutManager - панель инструментов для запуска внешних приложений в QGIS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


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

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

Shortcut Manager - это инструмент для создания своей панели инструментов в QGIS, на которой можно разместить ярлыки для любых внешних программ или ассоциированных файлов.

Другим способом применения модуля является создание преднастроенных установщиков QGIS "заточенных" на решение каких-то задач, где требуется запуск нескольких внешних инструментов и их удобно сложить на одну панель.

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

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

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

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

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

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

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

После установки расширения в панели инструментов "Интернет" появится кнопка расширения. Так же появится группа QuickMapServices в одноименном меню.

Quickmapservices-button.png

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

Quickmapservices-01.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+)

Добавление сервисов

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

  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

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

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


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

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

На текущий момент модуль имеет следующие ограничения:

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

Мы продолжаем поддержку модуля и вышеперечисленные задачи могут быть решены в новых версиях QuickMapServices.

Контакты

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

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