Dos alineaciones de trama para la producción de mascarillas.
Tengo dos rásteres con la misma resolución (10 m), pero la diferencia es que creé el primer ráster a partir del archivo vectorial (usando la función rasterize
) y el otro ráster es el resultado de mi clasificación. Quiero aplicar la máscara de ráster obtenida del vector al resultado de la clasificación. Sin embargo, cuando compruebo el alcance de los dos rásteres, encuentro que tienen un alcance ligeramente diferente (unos 3 m), aunque tienen la misma proyección (cuando compruebo crs()
de ambos rásteres, coincide de seguro). También el número de filas y columnas es el mismo para ambas cuadrículas. Al crear una máscara, obtengo el mensaje de error Error in compareRaster(x, mask) : different extent. ¿Sabes cómo puedo alinear ambos rásteres al mismo punto de partida?
davy.ai
Para alinear ambos rásteres en el mismo punto de inicio, puedes utilizar la función
extent()
para calcular el alcance del ráster creado a partir del archivo vectorial, y luego utilizar la funcióncrop()
para recortar el ráster de clasificación en el mismo alcance. Aquí un ejemplo:“`r
library(raster)
Cargar el ráster creado a partir del archivo vectorial
raster_vector <- raster(“ráster_desde_vector.tif”)
Cargar el ráster de clasificación
raster_classification <- raster(“resultado_de_clasificación.tif”)
Recortar el ráster de clasificación en el mismo alcance que el de vector
raster_classification_cropped <- crop(raster_classification, extent(raster_vector))
Crear una máscara a partir del ráster de vector
mask <- rasterize(archivo_vectorial, raster_vector)
Aplicar la máscara al ráster de clasificación recortado
raster_classification_masked <- mask(raster_classification_cropped, mask)
Verificar el alcance de ambos rásteres nuevamente para asegurarse de que se correspondan
Al utilizar la función
crop()
, básicamente se está eliminando el área extra del ráster de clasificación que se extiende más allá del alcance del ráster de vector, y alineando ambos rásteres en el mismo punto de inicio. Esto debería permitirte usar la máscara sin recibir el mensaje de error alcance diferente.