Написание автономных скриптов Python с использованием PyQGIS?

17

Я изучал, как использовать консоль Python в QGIS, используя ссылки из qgisworkshop.org . Я знаком с написанием автономных скриптов в ArcGIS и хочу узнать, как сделать то же самое с QGIS.

Например, в ArcGIS 10 простой автономный скрипт на Python будет выглядеть так:

import arcpy 

setFolder = ''

doProcess

Я понимаю, как это сделать с помощью консоли Python в QGIS, но мне не удалось найти пример для выполнения тех же шагов с использованием автономного скрипта. Я подозреваю, что мне просто не повезло с поиском. Есть ли четкие примеры того, как это сделать онлайн?

djq
источник

Ответы:

15

Я еще не написал автономные скрипты на основе API QGIS, но в кулинарной книге PyQGIS используется следующая инициализация:

Прежде всего вы должны импортировать модуль qgis, установить путь QGIS, где искать ресурсы - базу данных проекций, провайдеров и т. Д. Когда вы устанавливаете путь префикса со вторым аргументом, установленным как True, QGIS инициализирует все пути со стандартным каталогом в каталоге префиксов. , Вызов функции initQgis () важен, чтобы позволить QGIS искать доступных поставщиков.

from qgis.core import *

# supply path to where is your qgis installed
QgsApplication.setPrefixPath("/path/to/qgis/installation", True)

# load providers
QgsApplication.initQgis()

Теперь вы можете работать с QGIS API - загружать слои и выполнять некоторую обработку или запускать графический интерфейс с холстом карты. Возможности безграничны :-)

Когда вы закончите с использованием библиотеки QGIS, вызовите exitQgis (), чтобы убедиться, что все вычищено (например, очистить реестр слоя карты и удалить слои):

QgsApplication.exitQgis()
Подземье
источник
1
Спасибо @underdark - это полезно. Мне показалось, что приступить from qgis.core import *к работе над OSX нетривиально , поэтому я планирую задать новый вопрос по этой теме.
djq
Извините, что отметил еще один вопрос здесь, но есть ли онлайн-документация модуля qgis? Все, что я могу найти, - это ссылка на документ, похожий на документацию по c ++, но не реальная ссылка на документацию по Python.
DJQ
Особенности Python находятся в кулинарной книге pyQGIS. В противном случае вы можете положиться на обычные документы C ++ API - они не просто похожи, но они одинаковы.
Подземье
Для пользователя Ubuntu обратитесь: gis.stackexchange.com/questions/52919/… для установки пути. (это "/ usr")
Мистер Пурпур