Salida capa espacial vectorial de R en QGIS usando Sextante

En esta entrada vamos ha explicar como visualizar una capa espacial creada en R o trabajada en R en QGIS. Esto se puede dar cuando estamos trabajando con información espacial en R y queremos visualizar la información de salida en una herramienta GIS para poder realizar otras operaciones o realizar una mejor presentación de los datos.

Este seria el scrip .rsx que creariamos pra ejecutar con Sextante (processing/processamiento es el nombre que recibe en el menú de QGIS):

##test=group
##Output= output vector

library(sp)
library(rgdal)

puntos = rbind(c(-0.06657, 39.99329), c(-1.1132,40.3455))
ciudades = SpatialPointsDataFrame(coords = puntos,data = data.frame(name = c('UJI', 'Teruel')),proj4string = CRS('+init=epsg:4326'))
 
Output=ciudades

Esto que parece tan sencillo puede no funcionar si no tenemos en cuenta un par de cosas. La primera es que tenemos que cargar librerías en R. Estas librerías no se pueden cargar desde Sextante con lo que tendremos que cargarlas desde la consola de R en Windows y desde el terminal en Linux.

En windows es necesario ejecutar R como adminstrador para que las librerias se instalen en la carpeta de R. Para Linux basta con ejecutar R como superusuario en el terminal, esto seria de lasiguiente forma:


~$ sudo R

Una vez tenemos R instalamos las librerías necesarias de R  estas serian rgdal y sp, también haría falta instalar la librería raster aunque en principio no la vayamos a necesitar es necesaria para Sextante. Esto se hace de la siguiente forma:

> install.packages("rgdal")
> install.packages("sp")
> install.packages("raster")

se comprueba que las librerías están instaladas correctamente:

> library()

Antes de ejecutar cualquier script de R en Sextante hay que saber que Sextante no devuelve en ninguna ventana lo que sucede en R por lo que si queremos consultar porqué ha fallado algo tendremos que abrir el fichero processing_script.r.R. Este fichero se encuentra en linux(Ubuntu) en la ruta /home/<usuario>/.qgis2/processing,  en Windows esta en la carpeta donde hemos instalado QGIS.

Una vez tenemos esto claro explicamos un poco el script. En la primera parte definimos el grupo dentro del árbol de GUI de R en QGIS donde aparecerá el script una vez lo guardemos en la carpeta correspondiente (recordar que en las opciones de Sextante definimos la carpeta donde se encuentran los scripts). Lo interesante es la última linia que define que el output, salida, será de tipo vectorial

##test=group
##Output= output vector

Cargamos las librerias de R.

library(&quot;sp&quot;)
library(&quot;rgdal&quot;)

En esta parte definimos y creamos un par de puntos con código R, también definimos en que sistema de coordenadas estan esos puntos y que la capa que es una capa de puntos se llamará “ciudades”

stuff = rbind(c(-0.06657, 39.99329), c(-1.1132,40.3455))
ciudades = SpatialPointsDataFrame(coords = stuff,data = data.frame(name = c(&quot;UJI&quot;, &quot;Teruel&quot;)),proj4string = CRS(&quot;+init=epsg:4326&quot;))

Finalmente señalamos que lo que se va a mostrar en QGIS són los datos de la capa ciudades. Recordar que previamente se ha señalado que la salida es una capa vectorial.

Output=ciudades

El resultado es la visualización de la capa en QGIS donde la podemos editar, manipular y geoprocesar.

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out /  Canvia )

Google photo

Esteu comentant fent servir el compte Google. Log Out /  Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out /  Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out /  Canvia )

S'està connectant a %s