Clases texturales de suelo utilizando el raster calculator de QGIS

Existen 12 clases texturales de suelo basadas en el contenido porcentual de arena (sand), limo (silt) y arcilla (clay). Un documento del Departamento de Agricultura de USA (USDA) resume, mediante expresiones matemáticas, la forma de determinar las clases texturales. La imagen siguiente, extracto de ese documento, contiene las referidas fórmulas:

texture

Para probar el procedimiento con el raster calculator de QGIS necesitamos rásteres de arena, limo y arcilla. Para obtenerlos, en la práctica, es necesario utilizar criterios geoestadísticos (variables regionalizadas) con muestreos sistemáticos especiales que permitan una interpolación mediante kriging; que toma en cuenta el modelo de variabilidad espacial para cada una de las variables consideradas. Como yo no tengo esos mapas y sólo con el fin de probar el procedimiento de obtener clases texturales con el raster calculator, los voy a generar artificialmente utilizando criterios de estadística clásica. Esos mapas tienen la particularidad de que en cada pixel la suma de arena, limo y arcilla es siempre 100.

Los mapas de arena, limo y arcilla (sand.tif, silt.tif, clay.tif) que utilicé tienen 20 filas por 20 columnas y se generaron empleando las herramientas de un post anterior y el raster calculator de QGIS. Una vez obtenidos, se cargaron en QGIS, se abrió el raster calculator y se copió en la ventana de expresiones lo siguiente:

("silt@1" + (1.5 * "clay@1") < 15)*1 + ( (1.5*"clay@1" >= 15)
 AND (("silt@1" +2 * "clay@1" )<30))*2 + ( ("clay@1" >= 7  AND
  "clay@1" < 20  AND  "sand@1" > 52  AND  "silt@1" + 2 * "clay@1" >= 30)
  OR  ("clay@1" < 7  AND  "silt@1" < 50  AND  "silt@1" + 2 * "clay@1" >= 30))*3 
+ ("clay@1" >= 7  AND  "clay@1" < 27  AND  "silt@1" >= 28  AND  "silt@1" < 50
  AND  "sand@1" <= 52)*4 + (("silt@1" >= 50  AND  "clay@1" >= 12  AND  "clay@1" < 27)
  OR  ("silt@1" >= 50  AND  "silt@1" < 80  AND  "clay@1" < 12))*5+
("silt@1" >= 80  AND  "clay@1" < 12)*6+("clay@1" >= 20  AND  "clay@1" < 35
  AND  "silt@1" < 28  AND  "sand@1" > 45)*7+("clay@1" >= 27  AND
  "clay@1" < 40  AND  "sand@1" > 20  AND  "sand@1" <= 45)*8+
("clay@1" >= 27 AND "clay@1" < 40 AND "sand@1" <= 20)*9+("clay@1" >= 35  
AND  "sand@1" > 45)*10+("clay@1" >= 40  AND  "silt@1" >= 40)*11+
( "clay@1" >= 40 AND "sand@1" <= 45 AND "silt@1" < 40 )  * 12

tal como se encuentra en la imagen a continuación:

texture5

Después de Ok, de manera muy expedita, se obtiene el mapa resultado de la imagen siguiente. Se segregaron 5 clases entre la 7 (franco arcillo arenoso) y la 12 (arcilloso). Con el plugin value tool se comprobaron los valores de diferentes píxeles, seleccionados al azar en todo el ráster y para todas las clases, y éstos fueron los esperados.

texture4

En la imagen anterior se tiene que el cursor está sobre un píxel cuyo valor es 7 (sandy clay loam = franco arcillo arenoso). Los mapas individuales señalan: silt (limo) = 22 (< 28 %), sand (arena) = 48 (> 45 %) y clay (arcilla) = 30 (>= 20 % y < 35 %), es decir, cumpliendo con los requerimientos de la clase franco arcillo arenoso.

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

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