¿Escribir scripts de Python independientes usando PyQGIS?

17

He estado aprendiendo a usar la Consola Python en QGIS usando referencias de qgisworkshop.org . Estoy familiarizado con la escritura de scripts independientes en ArcGIS y quiero aprender a hacer lo mismo con QGIS.

Por ejemplo, en ArcGIS 10, un script de Python independiente simple sería:

import arcpy 

setFolder = ''

doProcess

Entiendo cómo hacer esto usando la consola de Python en QGIS, pero no he logrado encontrar un ejemplo para realizar los mismos pasos usando una secuencia de comandos independiente. Sin embargo, sospecho que he tenido mala suerte con mi búsqueda. ¿Hay ejemplos claros de cómo hacer esto en línea?

djq
fuente

Respuestas:

15

Todavía no he escrito scripts independientes basados ​​en la API QGIS, pero el libro de cocina PyQGIS utiliza la siguiente inicialización:

En primer lugar, debe importar el módulo qgis, configurar la ruta QGIS donde buscar recursos: base de datos de proyecciones, proveedores, etc. . Llamar a la función initQgis () es importante para permitir que QGIS busque los proveedores disponibles.

from qgis.core import *

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

# load providers
QgsApplication.initQgis()

Ahora puede trabajar con QGIS API: cargue capas y realice algunos procesamientos o inicie una GUI con un lienzo de mapa. Las posibilidades son infinitas :-)

Cuando haya terminado de usar la biblioteca QGIS, llame a exitQgis () para asegurarse de que todo esté limpio (por ejemplo, borrar el registro de la capa del mapa y eliminar capas):

QgsApplication.exitQgis()
bajo oscuro
fuente
1
Gracias @underdark, eso es útil. No me pareció trivial from qgis.core import *trabajar en OSX, por lo que planeo hacer una nueva pregunta sobre este tema.
djq
Lamento etiquetar otra pregunta aquí, pero ¿hay alguna documentación en línea del módulo qgis? Todo lo que puedo encontrar es una referencia a que es similar a los documentos de c ++, pero no hay un enlace real a los documentos de Python.
djq
Los detalles de Python están en el libro de cocina pyQGIS. De lo contrario, puede confiar en los documentos normales de la API de C ++: no solo es similar, sino que es lo mismo.
oscuro
Para el usuario de ubuntu, consulte: gis.stackexchange.com/questions/52919/… para la ruta de instalación. (es "/ usr")
Mr Purple