Primeros pasos con Sextante y R en Qgis

La primera vez que trabaje con Sextante me gusto mucho pero ni de lejos me imaginaba donde se podía llegar con esta herramienta. La gran sorpresa vino cuando Víctor Olaya el creador de Sextante se puso a trabajar en la integración de Sextante con R (el mejor paquete de herramientas estadísticas que yo conozco). Esta integración abre un mundo de posibilidades. Hoy aprenderemos los primeros pasos para trabajar con Sextante y R dentro de Qgis 2.0.

El primer paso es instalar R en nuestro ordenador si no lo tenemos instalado. Puedes descargar R aquí. Si utilizas Linux y en concreto Ubuntu lo puedes instalar desde su repositorio de aplicaciones. Una vez tenemos instalado R configuraremos Qgis para poder ejecutar los scripts de R. para ello vamos al menú de processing>>options and configuration, donde nos aparecerá la ventana de opciones en donde podremos activar R y la ruta de los scripts, tal y como se ve en la imagen de abajo.

RconfigAhora ya podemos empezar a crear nuestro primer script de R con Sextante. Antes de lanzarnos a la piscina conozcamos algunos ejemplos de los comandos para crear uno de estos scripts (gracias a al blog  http://conservationecology.wordpress.com por su trabajo).

##[grupo  scripts]= group
configura el nombre del grupo del scripits.

##layer = vector o rasterEspecifica si la capa de entrada es vectorial o raster

##distance= 100
Configura por defecto el campo tipo numero en este caso por defecto en 100

##title= string texto
Configura el texto de entrada

##field = field layer
Selecciona un campo de la capa vectorial “layer”

hist(layer[[field]])
Comando de R: histograma de los campos ‘field’ de la capa ‘layer’

##showplots
Tiene que ser configurado para poder ver las gráficas de salida

>t.test(layer[[field]])para la  salida por consola se pone ‘>’ antes del comando R

##output=output vector
Fichero de salida como vector o raster

Vistos estos ejemplos de comando pongamonos manos a la obra para hacer nuestro primer script. Este lo podemos hacer con un editor de texto o con el editor de sextante. Solo hay que tener en cuenta que la extensión del archivo debe ser .rsx. Antes de empezar con el script pon el modo de visualización del panel de sextante en ‘Advanced interface’ de este modo visualizaremos mejor los script d R que vamos a crear. Empezaremos por algo muy simple una gràfica de barras

##[test]= group
##layer=vector
##field=field layer
##showplots
barplot(layer[[field]])

Para gvSIG seria igual salvo que cambiariamos las ## por // quedando de la siguiente forma:

//test= group
//layer=vector
//field=field layer
//showplots
barplot(layer[[field]])

Con este script mostramos la gráfica de barras de los campos que seleccionemos en la ventana del script que se crea automáticamente.

r_gui1

El resultado es el siguiente:RPLOTS.htmlPodemos mejorar el resultado añadiendo paràmetros de Rplot tales como el nombre del ejeX , título, color, etc… Para hacer esto es necesario definir un nuevo campo de nuestros datos que contendrá las etiquetas del ejeX. El código resaltado en rojo dentro de barplot son las variables que hemos definido con el script de Sextante el resto es código de R

##[test_pau]= group
##layer=vector
##campo=field layer
##etiquetas=field layer
##showplots
barplot(layer[[campo]],main="Temperaturas medias del mes",
ylab="Temperatura", names.arg=(layer[[etiquetas]]),
col=("darkblue"),las=2)

La ventana que se crea es la que se muestra abajo y como ves el nombre de los parámetros de entrada se corresponde con el que hemos puesto en el código (hay que mantener el nombre ‘layer’ para que funcione)

rgui3

La salida queda de la siguiente forma.RPLOTS.htmlEspero que esto os sirva para perder el miedo a los scripts de Sextante.

6 comentaris Digues la teva

  1. Juan Mt ha dit:

    Hola.
    No le entiendo al tutorial:
    1.-¿Cómo uso Sextante? Porque abro la consola de Sextante con ctrl+alt+M y me salen las sugerencias de comandos.
    2.- Estás editando un archivo previamente abierto o el script que describes lo hace.

    Por favor, podrías aclarar estas dudas, empieza de cero, apenas comienzo el uso de QGis, R ya lo conozco y lo uso ocasionalmente, pero me “hiciste bolas”.

    Gracias y espero respuesta.

    M'agrada

    1. Pau Aragó ha dit:

      1.-Sextante es una aplicación independiente pero integrada en Qgis. Puedes visualizar sextante en el menú de “Processing” y lo abres con el “Toolbox”. Dentro de “processing “tienes más opciones.
      2.- No estoy editando ningún script de los que vienen como ejemplo es un script completamente nuevo creado de cero.

      Si ya conoces R le puedes sacar mucho partido a esta utilidad de Sextante.

      M'agrada

  2. geomoran ha dit:

    Cordial Saludo, he intentado correr el script pero al final no me sale la imagen y me sale esto:
    C:/Users/jgmoran/AppData/Local/Temp/processing/9954d0a43cd544c2b18a91fcadd78d3c/RPLOTS.html.png

    en esta dirección encuentro un archivo .txt que contiene la misma dirección, me podrían recomendar algo??

    M'agrada

    1. Pau Aragó ha dit:

      Lo que te esta pasando es que busca la imagen creada en esa dirección. Intenta hacer la misma prueba con R directamente para ver si se crean correctamente las imágenes. Si es así vuelve ha enlazar sextante con R dentro de las propiedades de la herramienta de geoproceso.

      M'agrada

  3. Natalia ha dit:

    Hola!
    A mi me ocurre lo mismo que a geomoran. La imagen aparece con un signo de pregunta. En R no tengo problema. Tampoco me muestra los output. he tratado con todos los folder de R, pero en todos los casos el resultado es el mismo.
    Tengo instalado la versión 2.4 de qgis. Mi sistema operativo es LInux Mint
    Alguna idea de lo que podría ser?

    M'agrada

    1. Pau Aragó ha dit:

      Lo que puede pasar es que te faltan algunas librerias por instalar en R. Esto es debido a que Sextnte no puede instalar des de Qgis de forma automàtica ciertas librerias.

      Para saber lo que pasa al ejecutar R desde Sextante hay que abrir el fichero processing_scrip.r.Rout que se encuentra en:
      .qgis/processing/processing_scrip.r.Rout Aquí te indicara donde sextante busca e instala las librerias de R y lo mas importante que es lo que esta fallando.

      Puedes ejecutar R como root e instalar las librerias o provar ejecutando QGIS como root a ver si de esta manera las puede instalar y puedes ver las gráficas de salida. Después una vez funciona no hace falta que ejecute QGIS como Root.

      Con Rstudio se puede elegir de una forma más gráfica la ruta donde se instalan las librerias

      M'agrada

Deixa un comentari