Intentando llegar al fondo de por qué, cuando leo en un ráster de NDVI, el espacio @ data @ valores no contiene los valores reales hasta que los configure manualmente. Por ejemplo:
NDVI <- raster("./filename.tif", crs="+proj=longlat +datum=WGS84")
NDVI@data@values
## returns: logical(0)
Esto no sucedió con otros rásteres que había cargado con el mismo método, por lo que estoy confundido. Desearía poder ser más específico, pero no recuerdo haber hecho nada diferente antes. Es bastante fácil obtener los valores manualmente, usando:
NDVI1@data@values <- getValues(NDVI19east)
Pero sigue siendo un dolor tener que hacerlo para cada archivo. Entonces, una pregunta de dos partes:
¿Por qué sucedió esto en primer lugar? Entiendo que podría tener algo que ver con la forma en que se almacena el archivo ráster (es decir, si está en la memoria o no), pero realmente no puedo entender cómo eso cambia los métodos que debo usar para acceder a los datos ...
¿Hay alguna manera de automatizar este proceso (quizás usando un método similar a lapply) para leer archivos como RasterLayers y acceder a valores para esos archivos? Mi proyecto actual consiste en leer 6-10 archivos a la vez para NDVI, Rainfall y otras variables ambientales, para combinarlos y realizar algunas superposiciones ponderadas. Sería útil automatizar el proceso de importación de datos.
logical(0)
hecho, es el valor para cualquier objeto Raster * creado a partir de un archivo. De cualquier manera, como dice @mdsumner, ¡no lea directamente estos valores, y ciertamente no los configure! (aunque NDVI1@data@values <- getValues(NDVI19east)
no afectará nada , estos valores se ignoran). Probablemente esté más abajo en su secuencia de comandos, donde no comprende cómo utilizar estos objetos de manera efectiva. Puede usar getValues, pero incluso eso rara vez es necesario. Proporcione un ejemplo simple y autónomo de lo que está tratando de lograr.