Calcular media aritmética por columnas en un ráster usando QGIS y lenguaje R

Para calcular medias aritméticas, por columnas, en un ráster es necesario pasar primero el ráster a formato ascii. Para ello, una vez cargado el ráster (yo empleo generalmente el formato *.tif), se apela a Ráster -> Conversión -> Traducir (convertir formato) y en la ventana de diálogo que aparece escoger el nombre adecuado del ráster (con la terminación *.asc), seleccionando en “Ficheros de tipo” la opción [GDAL] Arc/Info ASCII Grid (*.asc, *.ASC) y luego Guardar -> Aceptar (se asume que la proyección es la misma que la de la imagen fuente).

Una vez transformado el ráster se abre con un editor de texto y se le eliminan las líneas de texto de encabezado, se guarda con otro nombre y se ejecuta R (el link anterior es para Windows; en Linux Debian y Debian derivadas R está generalmente en los repositorios). En la cónsola de R:

raster<- read.table("C:\ruta_al_raster\raster.asc") <Enter>
media<- mean(raster) <Enter>

La primera instrucción leerá y guardará en el objeto raster la información en formato matricial (MxN). La segunda determinará la media por columnas (N) y la almacenará en el objeto media. Si la imagen es muy grande, también lo será el número de columnas y como el buffer de la salida estándar de pantalla es muy limitado ésta se verá restringida sólo a las últimas medias. Para visualizarlas todas de una vez es preferible imprimirlas a un archivo de texto.

Para ello:

write(media,file="medias.raster")

por lo que se podrá visualizar fácilmente medias.raster con cualquier editor de texto. El formato, por defecto, se desplegará a 5 columnas.

Si por otra parte lo que se desea es la media para todo el ráster (media.total) entonces:

raster.total<- NULL
for(i in 1:N) raster.total <- c(raster.total,raster[,i])
media.total<-mean(raster.total)

donde N es el número de columnas. Para visualizar la media: media.total [Enter].

Más detalles de R en:

R para Principiantes

Esta entrada fue publicada en Lenguaje R, QGIS, SIG, Software Libre. Guarda el enlace permanente.

5 respuestas a Calcular media aritmética por columnas en un ráster usando QGIS y lenguaje R

  1. ramm83 dijo:

    Hola José, tengo una duda a la hora de crear paquete en R. Cuando creo un paquete en R siempre me aparecen los siguientes warnings:

    cygwin warning:
    MS-DOS style path detected: C:/LibreriaPaquete/paquete.tar
    Preferred POSIX equivalent is: /cygdrive/c/LibreriaPaquete/paquete.tar
    CYGWIN environment variable option “nodosfilewarning” turns off this warning.
    Consult the user’s guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

    He instalado todos lo Rtools y demás programas para que pueda funcionar bien en Windows.

    Gracias.

  2. Pingback: Script de bash para la extracción múltiple de coordenadas de imágenes, con espesor de una celda en sentido vertical, con GRASS-QGIS |

  3. Pingback: Calcular media aritmética por columnas en un ráster usando un script de bash |

  4. Pingback: Calcular media aritmética por columnas en un ráster usando un script de python |

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