Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PyQGIS
En este nuevo infohatari presentamos los comandos que te facilitarán cargar archivos
vectoriales y rásters en QGIS desde la consola de Python. Al finalizar estamos seguros que
comprenderás los procesos que debe desarrollar el software para:
1.1. Una vez abierto el Editor de la consola de Python, cliqueamos en Abrir archivo para
cargar el script con los comandos que ordenan a QGIS cargar el shapefile
Upslope_Area_cuenca.shp, accediendo a la siguiente ruta:
…\pyqgis_2\Scripts\cuenca.py
Tal como vimos en el primer infohatari sobre PyQGIS: “Primeras interacciones con PyQGIS”,
explicamos que:
En la línea de comando número 3 puedes observar la clase QgsVectorLayer() cuya
documentación consiste en tres cadenas (strings) separadas por comas, donde la primera cadena
especifica la ruta que debe seguir el programa para hallar el script, la segunda cadena sirve para
designar el nombre que aparecerá en la leyenda con el shapefile que se carga, y la tercera
cadena hace mención del proveedor de datos (lo archivos vectoriales son proveídos desde la
biblioteca GDAL y representados como ogr).
Así mismo, tal como hicimos en el primer infohatari, es necesario cambiar la ruta de ubicación
del shapefile, de modo que la ruta sea como se muestra a continuación:
…\pyqgis_2\Vectors\ Upslope_Area_cuenca.shp
Por otro lado, la case QgsMapLayerRegistry permite enrutar la capa cargada en el lienzo, y
gracias a los métodos instance() y addMapLayer() la capa cargada puede adherirse al lienzo.
El método addMapLayer() requiere que se especifique una variable, que para nuestro caso es
“cuenca”, y la ubicamos entre los paréntesis del método.
Una vez que se ha cargado el script y se ha cambiado la ruta, es necesario salvar los cambios
realizado con el menú guardar de la barra de herramientas del Editor.
1.2. Ahora damos click en el menú Ejecutar script para obtener la siguiente respuesta en el
lienzo:
Con esto hemos conseguido cargar un shapefile en el lienzo, ejecutando un script desde la
consola de Python.
2.1. Una vez abierto el Editor de la consola de Python, cliqueamos en Abrir archivo para
cargar el script con los comandos que ordenan a QGIS cargar la imagen Bing_1_50000.tif,
accediendo a la siguiente ruta:
…\pyqgis_2\Scripts\cuenca_imagen.py
Como se puede notar las líneas de comando para cargar un archivo ráster son similares,
diferenciando en que la clase que se usa para cargar un ráster es QgsRasterLayer(), la misma
que no necesita una cadena que especifique el proveedor de datos de la imagen, puesto que
todas las imágenes son proveídas por GDAL, pero si requiere se detallen dos cadenas, una con
la ruta del archivo ráster y otra con el nombre que tendrá este archivo en la leyenda.
Así mismo, tal como hicimos en el primer script para el shapefile, es necesario cambiar la ruta
de ubicación de la imagen, de modo que la ruta sea como se muestra a continuación:
…\pyqgis_2\Rasters\Bing_1_50000.tif
Una vez que se ha cargado el script y se ha cambiado la ruta, es necesario salvar los cambios
realizado con el menú guardar de la barra de herramientas del Editor.
2.2. Ahora damos click en el menú Ejecutar script para obtener la siguiente respuesta en el
lienzo:
Con esto hemos conseguido cargar una imagen en el lienzo, ejecutando un script desde la
consola de Python.
cuenca = iface.addVectorLayer(‘…\pyqgis_2\Vectors\Upslope_Area_cuenca.shp’,
‘Area_de_Cuenca’, ‘ogr’)
cuenca = iface.addRasterLayer(‘…\pyqgis_2\Rasters\Bing_1_50000.tif’,
‘Zona_de_Cuenca’)