Uso de la consola integrada de IPython en QGIS (IPython console plugin) y GNU/Linux Debian

En el artículo pasado se señaló cómo se instalaba la consola integrada de IPython en QGIS (IPython console plugin) en el sistema operativo GNU/Linux Debian. En éste trataremos de establecer algunas ventajas comparativas, frente a la Python Console de QGIS, que derivan de su habilitación.

Probablemente, el primer rasgo importante que sale a relucir es el auto completado; una característica muy útil que permite inspeccionar clases y objetos rápidamente y que se activa con la tecla TAB. Sabemos que las clases de QGIS comienzan con ‘Qgs’; por lo que en la imagen siguiente se tiene una panorámica de todas las posibles.

ipython2

Sin embargo, mucho más útil es si podemos acotar la búsqueda, por ejemplo, con las que empiezan por ‘QgsMapL’; tal como se presenta a continuación:

ipython3

o, si ya seleccionamos la clase QgsMapLayerComboBox, cuales son sus métodos que comienzan por la letra ‘g’:

ipython4

Otro aspecto muy útil es que se pueden ejecutar comandos Linux sin necesidad de salir de la Consola de IPython. Sólo basta con anteponer el caracter ‘!’ al comando. En la imagen siguiente se observa cómo determinar si los archivos de tipo HDF tienen soporte en GDAL. La ejecución de éste (y cualquier otro en el intérprete) se materializa con Shift+Enter.

ipython5

Otra característica extremadamente útil es que permite la inserción de lotes de comandos con un sólo Shift+Enter para su ejecución. En la imagen siguiente se puede observar la estimación del área de todos los rasgos del shapefile considerado en el artículo anterior y procesado con el módulo ‘geopandas’.

ipython6

Estos comandos también pueden ser almacenados (con %save) en un archivo *.py en el historial para ser ejecutados aún después de salir de QGIS. En la imagen siguiente se observa como se almacenan todos los de la línea 2 en el archivo ‘my_commands.py’. La edición (con %edit) todavía no es posible porque tengo que averiguar primero donde está el archivo de configuración ‘JupyterWidget.editor’ y añadirle uno por defecto.

ipython7

Después de salir y lanzar nuevamente QGIS, se observa que los comandos fueron añadidos satisfactoriamente al archivo ‘my_commands.py’; tal como se evidencia en la imagen siguiente la ejecución con %run:

ipython8

Para finalizar, se puede señalar que el notebook de IPython puede lanzarse con:

!ipython2 notebook

Sin embargo, por ahora, me ha sido imposible hacer shutdown al servidor con Ctrl+C (como en el IPython normal). Es necesario “matar” el proceso asignado a QGIS para contrarrestar el “halting” del sistema.

Esta entrada fue publicada en Código Python, Plugin, QGIS, Software Libre. Guarda el enlace permanente.

Una respuesta a Uso de la consola integrada de IPython en QGIS (IPython console plugin) y GNU/Linux Debian

  1. Además, puedes tener graficas inline con los magic %matplotlib inline exactamente como en cualquier consola de IPython.

    El problema lanzando el notebook como comando shell es que este no va hablando con el kernel ipython embedded en la consola => el notebook no podrá ver las variables de qgis.

    Este es un límite del protocolo de las ipython qtconsol embedded; tal como está explicado en:

    http://jupyter.org/qtconsole/stable/

    en “Embedding the QtConsole in a Qt application”

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s