GIS-LAB

Географические информационные системы и дистанционное зондирование

Организация и работа с репозиториями расширений QGIS

Как создать и использовать хранилище расширений QGIS

Обсудить в форуме Комментариев — 0

Разработка расширений для QGIS может вестись на C++ и Python. Разработка на Python, помимо того, что является более простой, быстрой и кросс-платформенной, еще и имеет мощную децентрализованную систему распространения результатов. Каждый автор расширения имеет возможность быстро организовать систему полуавтоматического его распространения через свой сайт. Средства самого QGIS позволяют подключать и отслеживать обновление расширений, происходящие на веб-сайте автора. К сожалению, из-за сложностей связанных с компиляцией и установкой, эта возможность работает пока только для расширений, написанных на языке Python.

Эта статья рассказывает, как автор расширения может создать репозиторий, а пользователь им воспользоваться.

Оглавление

  1. Создание репозитория
  2. Работа с репозиторием в QGIS

1Создание репозитория

Допустим расширение разработано, проверенно и работает локально. Создание репозитория заключается в пакетировке расширения и создании специального файла XML описания репозитория.

Пакет с расширением должен представлять из себя архив папки с набором всех необходимых файлов расширения, например:

/testplugin
|
+- __init__.py
|
+- icon.png
|
+- plugin.py
|
+- resources.py

Архив должен быть создан с помощью архиватора ZIP.

После того, как расширение запакетировано, надо настроить его описание, являющееся частью XML файла репозитория.

Пример XML файла с описанием плагина, расположенного в репозитории выглядит следующим образом:

<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="plugins.xsl" ?>
<plugins>
  <pyqgis_plugin name="TestPlugin" version="0.1.29">
    <description>This is the test plugin</description>
    <homepage>http://gis-lab.info/qa/qgis-dev-python.html</homepage>
    <qgis_minimum_version>1.0</qgis_minimum_version>
    <file_name>testplugin.zip</file_name>
    <author_name>GIS-Lab</author_name>
    <download_url>http://gis-lab.info/programs/qgis/testplugin.zip</download_url>
  </pyqgis_plugin>
</plugins>

При добавлении в репозиторий еще одного расширения, добавляется еще один блок <pyqgis_plugin></pyqgis_plugin> и все что содержится в нем.

Разберем по пунктам:

pyqgis_plugin - начало описания расширения, содержит параметры названия name="TestPlugin" и последней версии version="0.1.29" расширения.

description - строка описание расширения

homepage - домашняя страница

qgis_minimum_version - минимальная версия QGIS под которой будет работать расширение

author_name - автор расширения

download_url - ссылка на пакет расширения (файл zip)

Итак, после того, как этот файл создан и загружен на сервер, можно сказать, что репозиторий создан и работает.

2Работа с репозиторием в QGIS

Для получения расширения теперь нам не обязательно рассылать его само, достаточно дать ссылку на репозиторий. Например, репозиторий расширений GIS-Lab:

http://gis-lab.info/programs/qgis/qgis-repo.xml

Подключимся к этому репозиторию из QGIS.

Для этого:

а) Подключим, если оно еще не подключено расширение Plugin Installer (Plugins\Manage plugins)

б) Вызовем установщик расширений (Plugins\Fetch Python Plugins... ) и перейдем на закладку Repositories

в) Добавим новый репозиторий (Add...).

Имя: GIS-Lab

Адрес: http://gis-lab.info/programs/qgis/qgis-repo.xml

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

д) Включим автоматическое обновление при загрузке QGIS (check updates on startup). Теперь, если будет увеличена версия расширения в XML, QGIS даст знать с помощью сообщения в строке статуса программы, что расширение изменилось и его можно обновить. Щелчок на надпись откроет установщик расширений.

Либо в самом установщике расширений:

Обсудить в форуме Комментариев — 0

Последнее обновление: December 05 2009

Вход

Рассылка новостей

Новое на форумеRSS

Обратная связь

captcha


(Геокруг)

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter