Escrevendo scripts Python autônomos usando PyQGIS?


17

Aprendi como usar o Python Console no QGIS usando referências de qgisworkshop.org . Eu estou familiarizado com a escrita de scripts independentes no ArcGIS e quero aprender como fazer o mesmo com o QGIS.

Por exemplo, no ArcGIS 10, um script python independente simples seria:

import arcpy 

setFolder = ''

doProcess

Entendo como fazer isso usando o console python no QGIS, mas não consegui encontrar um exemplo para executar as mesmas etapas usando um script independente. Eu suspeito que só tive azar com a minha pesquisa. Existem exemplos claros de como fazer isso online?

Respostas:


15

Ainda não escrevi scripts independentes com base na API QGIS, mas o livro de receitas do PyQGIS usa a seguinte inicialização:

Antes de tudo, você precisa importar o módulo qgis, definir o caminho do QGIS onde procurar recursos - banco de dados de projeções, provedores etc. Quando você define o caminho do prefixo com o segundo argumento definido como True, o QGIS inicializa todos os caminhos com o diretório padrão no diretório do prefixo . Chamar a função initQgis () é importante para permitir que o QGIS procure os provedores disponíveis.

from qgis.core import *

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

# load providers
QgsApplication.initQgis()

Agora você pode trabalhar com a API QGIS - carregar camadas e fazer algum processamento ou iniciar uma GUI com uma tela de mapa. As possibilidades são infinitas :-)

Quando você terminar de usar a biblioteca QGIS, chame exitQgis () para garantir que tudo esteja limpo (por exemplo, limpe o registro da camada de mapa e exclua as camadas):

QgsApplication.exitQgis()

1
Obrigado @underdark - isso é útil. Não achei nada trivial começar from qgis.core import *a trabalhar no OSX, por isso pretendo fazer uma nova pergunta sobre esse tópico.
DJQ

Desculpe marcar outra pergunta aqui, mas existe alguma documentação on-line do módulo qgis? Tudo o que posso encontrar é uma referência ao fato de ser semelhante aos documentos em c ++, mas nenhum link real para os documentos em python.
DJQ

As especificidades do Python estão no pyQGIS Cookbook. Caso contrário, você pode confiar nos documentos normais da API C ++ - não é apenas semelhante, mas é o mesmo.
Underdark

Para usuário do ubuntu, consulte: gis.stackexchange.com/questions/52919/… para obter o caminho da instalação. (é "/ usr")
Mr Purple
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.