es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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ón crop() 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.

Comments are closed.