Расширения (Plugins) QGIS: Основная страница
Введение
Обзор дополнительных возможностей ГИС QGIS - пополняемый систематизированный перечень существующих расширений QGIS с кратким описанием их возможностей и иллюстрациями результатов работы. В статье собираются ссылки на домашние страницы плагинов и другие разрозненные материалы, описывающие функциональность и алгоритмы их работы.
Расширения (плагины, модули) составляют существенную и динамично развивающуюся долю функциональности QGIS. В настоящий момент доступно около 200 расширений для QGIS которые дают дополнительные возможности визуализации и редактирования растровых и векторных данных, предоставляют графические интерфейсы для других ГИС, интеграцию с Web и многие другие возможности. Со временем, некоторые расширения, проверенные временем, включаются в ядро QGIS, а некоторые устаревают и, будучи заброшены авторами, перестают работать в новых версиях QGIS.
Реорганизация расположения модулей в QGIS "Master"
В связи с ростом количества модулей разработчиками QGIS было принято решение о создании инструмента, который при установке нового модуля отправляет его в соответствующее тематическое меню. [1]
Таким образом:
- растровые модули переместились в меню «Растр» и на одноименную панель;
- созданы меню и панель «Вектор», для модулей работающих с векторными данными. Туда перенесены инструменты fTools и некоторые другие модуля ядра;
- модуль «Текст с разделителями» переехал на панель «Слои»
- «Инструменты GPS» разделились: одна кнопка на панели «Слои», другая — в меню «Вектор»
- создана панель «База данных», на которую перенесены кнопки модулей «Оффлайновое редактирование» и SPIT;
- для всех меню и панелей доступны методы, позволяющие авторам расширений размещать свои модули в нужном месте.
Общие вопросы
Установка расширений
Способ установки расширений зависит от языка программирования и источника файлов расширения.
- по языку программирования на котором создаются расширения:
- C++
- Python
- источник:
- входят в ядро QGIS
- официальный репозиторий
- неофициальные (авторские) репозитории
Основные расширения устанавливаются при инсталляции QGIS и описания работы с большей частью из низ можно найти в Руководстве пользователя QGIS (главы 11 и 12).
Установка расширений при помощи «Plugin Installer»
«Plugin Installer» модуль ядра QGIS, предназначенный для загрузки дополнительных расширений из официального и/или авторского репозитория.
По умолчанию, после установки «Plugin Installer» отображает только модули из официального репозитория (в ветке 1.7 это http://pyqgis.org/repo/official, а в версии 1.8 и старше к нему добавлен новый репозиторий http://plugins.qgis.org/plugins/plugins.xml). Чтобы получить больше модулей необходимо:
- перейти на вкладку «Репозитории»
- нажать кнопку «Добавить сторонние репозитории», прочесть и принять к сведению предупреждение
- перейти на вкладку «Параметры» и настроить отображение модулей. FIXME: Рекомендуется включить отображение всех модулей, включая экспериментальные.
- при желании можно разрешить проверку новых версий модуля и установить периодичность такой проверки
Для установки модуля нужно:
- запустить «Plugin Installer»
- перейти на вкладку «Модули» (открывается по умолчанию)
- найти нужный модуль в списке (можно воспользоваться фильтрами по названию и репозиторию)
- выделить модуль в списке и нажать кнопку «Установить модуль»
- модуль будет загружен и установлен
Загруженные модули устанавливаются в «домашний» каталог пользователя (~/.qgis/python/plugins в *NIX, и C:\Documents and Settings\your_profile\.qgis\python\plugins в Windows). Благодаря этому, удаление QGIS не приводит к удалению загруженных модулей.
Установка расширений вручную
Иногда может возникнуть необходимость в установке модулей вручную, например, если на компьютере нет выхода в Интернет.
Все репозитории расширений это файлы XML, содержащие информацию о расширении и ссылку на его загрузку. Убедиться в этом можно открыв любой репозиторий в браузере (ссылку можно взять из «Plugin Installer»). Сами расширения в репозиториях находятся в виде ZIP-архивов. Таким образом, для установки вручную достаточно знать адрес репозитория и название расширения.
Последовательность действий следующая:
- каким-либо образом получить архив с расширением и перенести его на целевой компьютер с QGIS
- распаковать архив при помощи архиватора
- скопировать получившуюся папку в каталог расширений QGIS
- в «домашнем» каталоге пользователя. В этом случае расширение будет доступно только этому пользователю. При необходимости точно так же папка копируется и в каталоги других пользователей
- в общесистемный каталог расширений (в *NIX обычно /usr/share/qgis/python/plugins; в Windows + OSGeo4W: C:\OSGeo4W\apps\qgis-dev\python\plugins). В этом случае расширение будет доступно всем пользователям
Особенности установки
Как правильно установить плагины при переустановке QGIS of-line? Куда и что сохраняется при установке расширений? Как организовать дистрибутив?
Что делать, если расширение не запускается? Распространенные ошибки.
Список плагинов
Если размещение расширения специально не оговаривается, то подразумевается, что оно располагается в репозиториях расширений QGIS (официальные + авторские, доступные по умолчанию в «Plugin Installer»). В случае, если расширение находится не в репозиториях, это оговаривается, кроме того, если для работы расширения требуются дополнительные библиотеки, которые не устанавливаются при стандартной установке QGIS в OC семейства Windows при помощи установщика OSGeo4W это также находит отражение в тексте описания расширения.
Навигация и захват координат
NumericalDigitize
Расширение позволяющее создавать точки путем ввода координат.
Подробнее: Как найти и создать точку с известными координатами в QGIS
Zoom to Point
Позволяет переходить к необходимым объектам путем ввода координат. Есть возможность регулировать степень приближения.
ClosestFeatureFinder
По щелчку мыши находит ближайший объект из указанного векторного слоя.
Редактирование векторных данных
fTools
Базовый модуль для операций с векторными данными входящий в ядро QGIS. Сайт проекта (старый). Сообщать об ошибках и оставлять предложения можно в багтрекере QGIS
Table Manager
Расширение для редактирования структуры атрибутивной таблицы Shape-файла. При использовании QGIS 1.9.90 и GDAL 1.9.0 удаление полей в shape-файлах можно выполнять стандартными средствами. Тем не менее, Table Manager все еще полезен, например, с его помощью можно изменить порядок полей или их описание.
Обход ограничения на работу с полями атрибутивных таблиц shape-файлов в QGIS
CadTools
Модуль для рисования геометрически правильных объектов.
Описание функционала CadTools и обучающие видео (англ.)
Points2One
Расширение для создания линий и полигонов из узлов, в качестве которых используется точечный Shape-файл. В случае, если в атрибутивной таблице есть информация о порядке создания точек (например, ID), ее можно использовать для определения порядка создания ребер полилинии.
MMQGIS
Расширение для редактирования векторных данных с функциональностью во многом пересекающейся с расширением fTools. Подробнее: Describes use of MMQGIS, a set of Python vector map layer plugins
DPSimplify
Инструмент для уменьшения количества точек в линейных слоях по алгоритму Дугласа-Пойкера (Douglas-Peuker), с настраиваемым уровнем детализации. Этот же функционал доступен и в модуле ядра fTools (меню «Вектор → Обработка геометрии → Упростить геометрию»)
Упрощение линейных объектов с помощью DPSimplify для QGIS
Иллюстрации к разделу
Работа с растровыми данными
GdalTools
Расширение, входящие в ядро QGIS. Основная цель расширения — упростить работу с утилитами командной строки GDAL, путем предоставления пользователю графического интерфейса для наиболее востребованных операций: конвертация форматов, сшивка слоев мультиспектральных снимков, перепроецирование, генерация изолиний по растровым данным, растеризация векторных данных, векторизация, интерполяция и др. Подробнее см.: Растровые операции в QGIS с помощью GdalTools
Страница расширения (старая). Сообщения об ошибках и предложения теперь надо оставлять здесь
Georeferencer Gdal
Модуль географической привязки растров из ядра QGIS.
Подробнее: Географическая привязка данных в QGIS
RasterCalc
Легкий в использовании и функциональный калькулятор растров реализованный как расширение для — QGIS.
Для своей работы требует наличия следующих Python-модулей:
- pyparsing — библиотека синтаксического анализа
- osgeo.gdal — Python интерфейс к библиотеке GDAL (устанавливается вместе с QGIS)
Обладает некоторыми уникальными возможностями, которых пока еще нет в имеющемся в QGIS калькуляторе растров, например, запись результата в растр с настраиваемым типом данных и условные операторы. Подробнее в статье Растровая арифметика в QGIS с помощью RasterCalc.
Raster Transparency
Расширение QGIS, позволяющее интерактивно задавать диапазон прозрачных пикселей растра.
Интерактивное управление прозрачностью растра в QGIS
ValueTool
Отображает таблицу или график значений видимых растров в точке текущего положения курсора мыши. Требует установки библиотеки PyQWT.
DTclassifier
Расширение написано на C++ (получение и установка). Позволяет пройти все этапы классификации данных дистанционного зондирования не покидая QGIS. Расширение использует алгоритмы библиотеки компьютерного зрения OpenCV, а именно классификацию при помощи деревьев решений.
Подробнее см.: Классификация растровых данных при помощи DTclassifier для QGIS
ZonalStats
Расширение ориентировано на обработку результатов классификации, полученных при помощи модуля DTclassifier. Расширяет возможности плагина Zonal statistic (входит в GdalTools). Расширение позволяет выполнять группировку значений по некоторому полю, что бывает необходимым, когда один объект представлен несколькими полигонами. Статистика пишется в csv-файл (а не в shape, как в Zonal statistic), что упрощает ее использование в дальнейшем. Кроме того, для растров с двумя значениями можно получить информацию о площади, занятой пикселями.
Зональная статистика с помощью ZonalStats для QGIS
Raster Terrain Analysis (Морфометрический анализ)
Комплексное расширение входящее в ядро QGIS, предоставляющее следующие инструменты:
- Угол уклона
- Экспозиция — расчет экспозиции склонов
- Hillshade (доступен в версии 1.9 Master) — инструмент построения (отмывок?) рельефа.
- Relief (доступен в версии 1.9 Master)
- индекс пересеченности
Вызов модуля: Растр→Terrain Analysis
Примеры использования модуля:
- Quantum GIS (QGIS) Raster Based Terrain Analysis Techniques
- Shaded relief maps with QGIS
- A Guide to Beautiful Reliefs in QGIS
Оформление проектов QGIS.
Vector Transparency Manager
Простое расширение позволяющее менять прозрачность сразу всех объектов выбранного векторного слоя (особенно актуально, когда в оформлении слоя используется уникальные значения или градуированные знаки). Примечание:работает только с новой символикой.
Вызов модуля: Модули→Vector Transparency
Подготовка к печати
easyPrint
Расширение для печати проектов QGIS, позволяет делать многостраничные атласы. FIXME: В версии QGIS 1.9.90 (06bda9c3aa и старше) может не работать из-за изменения API QGIS.
Пошаговая инструкция по созданию многостраничного картографического атласа с использованием easyPrint Map Books in QGIS
Atlas
Расширение позволяющее создавать серии карт в автоматическом режиме. Концепция работы расширения заключается в использовании дополнительного полигонального слоя разграфки для генерации листов карты из заранее настроенного проекта QGIS. Подробнее: Quantum GIS Atlas Plugin
SimpleSVG
Создает векторный SVG файл из текущего вида для редактирования в Inskape (свободном редакторе векторной графики).
Расширения для работы с базами данных
eVis
Event Visualization Tool (eVis) входит в число модулей ядра QGIS.
В состав eVis входит три модуля: инструмент подключения к базе данных, инструмент определения событий и обозреватель событий. Все эти модули работают совместно, позволяя просматривать геокодированные фотографии и прочие документы, связанные с объектами, хранящимися в векторных файлах, базах данных и таблицах.
Подробнее о работе с eVis можно почитать в Руководстве пользователя QGIS (Раздел 12.5).
DB Manager
Расширение позволяет:
- работать с базами данных SQLite/SpatiaLite и PostgreSQL/PostGIS (включая поддержку растров).
- просматривать список таблиц
- получать информацию о выделенной таблице
- просматривать данные в табличном и графическом виде
- переименовывать и удалять таблицы при помощи графического интерфейса
- выполнять запросы
- добавлять слои при помощи перетаскивания таблиц в проект
- импортировать данные из shape-файла в базу PostGIS или SpatiaLite, а также выполнять обратные действия (при использовании QGIS 1.8 и старше).
Адрес проекта GSoC 2011 Страница расширения
PADB
Стороннее расширение, алгоритм установки описан здесь.
Задача данного расширения — облегчение ведения кадастра на охраняемых природных территориях (ООПТ) включающего пространственную и атрибутивную информацию об ООПТ. Расширение учитывает специфику ведения государственного кадастра согласно Приказа Госкомэкологии РФ от 4 июля 1997 г. N 312 "Об утверждении Правил ведения государственного кадастра особо охраняемых природных территорий" (с изм. и доп. от 31 марта 1998 г.).
PADB - Работа с пространственной и атрибутивной информацией об ООПТ
Статистика и построение диаграмм
Statist
Statist предназначен для расчёта основных статистических показателей по указанному полю векторного слоя. Результаты отображаются в текстовом и графическом (гистограмма частотного распределения) виде. Поддерживаются как числовые (integer, real, date), так и текстовые (string) поля. Расширение может работать как со всем слоем, так и только с выделенными записями.
Зависимости:
- matplotlib — Python-библиотека для построения графиков и диаграмм
Получение статистики по полям с помощью Statist/QGIS
ChartMaker
Строит графики на основе данных атрибутивной таблицы.
Cartogramm Creator
Изменяет площадь полигонального объекта пропорционально какому-либо численному атрибуту в его атрибутивной таблице.
Интерфейсы для работы с другим ПО
GRASS plugin
Расширение входящие в ядро QGIS которое, по сути, является еще одним вариантом графического интерфейса для многофункциональной ГИС GRASS. Представляет из себя множество модулей каждый из которых заслуживает отдельной статьи.
QGIS Processing Framewok
Разработан в рамках GSoC 2011. Основная цель — предоставить удобный интерфейс для встраивания в QGIS функционала из других ГИС и сопутствующих инструментов (например, GDAL). Архитектурно состоит из нескольких частей:
- главный модуль Processing Framework Manager, отвечающий за поиск, загрузку, отображение и запуск имеющихся интерфейсов к другим ГИС или инструментам
- дополнительные модули, реализующие интерфейс к конкретной системе. Примеры: SAGA Module interface, Orfeo Toolbox Module interface.
Ниже дается краткое описание некоторых модулей.
SAGA Module interface
Интерфейс для запуска модулей SAGA (System for Automated Geoscientific Analysis) — мощной ГИС-платформы для работы с растровыми и векторными данными.
Для работы модуля необходима предварительная установка SAGA и ее Python интерфейса, а также основного модуля Processing Framework Manager. Дополнительная информация о расширении
Orfeo Toolbox Module interface
Предоставляет доступ к инструментам OrfeoToolbox из QGIS, построен на базе QGIS Processing Framework. Для использования модуля необходимо установить:
- библиотеки OTB
- Python интерфейс к OTB
Пользователи Windows могут получить необходимые файлы при помощи установщика OSGeo4W (пакет otb-python).
Модуль предоставляет доступ к следующим инструментам (список постепенно растет):
- P+XS Pan Sharpening
- Orthorectification
- Optical Calibration
- KMeans clustering
- SVM Supervised Classification
- Mean Shift segmentation
- Change Detection (Multivariate Alteration Detector algorithm)
- Hyperspectral data unmixing
- Filtering (mean, gaussian, anisotropic diffusion)
- Raster conversion and scaling
Работа с метаданными
Metatools
Расширение для отображения и редактирования метаданных.
Работа с метаданными при помощи Metatools для QGIS
Metaedit
Еще одно расширение для редактирования метаданных.
Визуализация 3D-объектов
Globe
Модуль ядра QGIS (доступен начиная с версии 1.8) написанный на C++. Позволяет отображать данные на трехмерном цифровом глобусе. Есть возможность визуализации DEM.
Демонстрационное видео можно посмотреть тут:
VTerrain
Модуль для визуализации 3-х мерных объектов представленных *.bt файлами [2], разрабатываемый сообществом Virtual Terrain Project (VTP) с очень богатым функционалом. Возможности можно оценить на демонстрационных видео.
Расширения для Web
OpenLayers plugin
Позволяет отображать в проекте QGIS данные из OSM, GoogleMaps, Yahoo Maps и других подобных сервисов.
QGIS Plugin of the Week: OpenLayers
OpenStreetMap plugin
Расширение из ядра QGIS предназначенное для редактирования данных OpenStreetMap непосредственно из QGIS. В настоящее время не очень жизнеспособное.
OSMPOLY_export
Приложение для экспорта shape-файлов в формат *.poly для последующей работы в OSMOSIS(приложение для работы с данными OSM). Подробнее.
Другие интересные модули
Time Manager plugin
Расширение для работы с данными имеющими временной атрибут. Принцип работы описан тут: QGIS Plugin of the Week: Time Manager.
Road graph
Расширение позволяющее осуществлять поиск оптимального маршрута на заданном графе дорог. Расширение автоматически устанавливается вместе с QGIS, начиная с версии 1.6 Описание установки и работы с расширением
CSWсlient
CSW (Catalogue Service for Web) спецификация OGC (Open Geospatial Consortium), описывающая механизмы публикации данных и поиска описательной информации (метаданных) о пространственных данных, сервисах и связанных с ними ресурсах. Расширение CSWclient для QGIS, предоставляет удобный интерфейс для поиска данных в каталогах.
Подробнее: Поиск в каталогах данных при помощи CSWсlient для QGIS
Ccылки на другие ресурсы о расширениях QGIS
QGIS Contributed repository Старый официальный репозиторий расширений QGIS. Находится в режиме read-only, загружать модули рекомендуется в новый репозиторий и при необходимости создавать проект на hub.qgis.org
Новый официальный репозиторий расширений QGIS Находится в разработке, но уже можно пользоваться. В дальнейшем, все модули из старого репозитория будут перенесены в новый и старый репозиторий будет удален.
Багтрекер для некоторых пользовательских расширений
"Плагин недели" (Начинание Gary Sherman)