1 pregunta
He encontrado una advertencia usando la función projectRaster () en el paquete ráster en R. A continuación se pega un ejemplo reproducible completo.
Warning message:
In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], :
33940 projected point(s) not finite
Mi pregunta es: ¿Es esta advertencia un problema que debo solucionar si estoy trabajando con datos terrestres? En otras palabras, los datos están "perdidos". Este sería un gran problema para mí si lo es. Si ese es el caso, ¿sabe si hay alguna manera de que pueda solucionarlo?
He buscado una solución a este problema en línea y encontré alguna mención aquí , aquí y aquí, pero creo que ninguna ofrece una respuesta adecuada a este problema.
2. Cargue la biblioteca ráster
library(raster)
3. Primero cree un mapa (largo lat) del mundo, con una constante en cada celda de la cuadrícula
Estoy poniendo una constante en cada celda de la cuadrícula para ver si puedo diagnosticar el problema de dónde es probable que la advertencia afecte los datos, si es que lo hace.
rastertest.longlat<-raster(ncol=360, nrow=180)
values(rastertest.longlat)<-c(rep(1,n=180*360))
4. Si reproyecta el mapa (lat largo) en una cuadrícula de área igual, genera el mensaje de advertencia
rastertest.eck4<-projectRaster(rastertest.longlat, res=c(100000,100000), crs="+proj=eck4",method="ngb", over=T)
Warning message:
In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], :
33940 projected point(s) not finite
Creo que este mensaje básicamente dice que la reproyección falló en algunas de las celdas de la cuadrícula.
5. Pero si traza los dos mapas, no parece que esta advertencia plantee ningún problema para los datos
Es decir, no ve ningún espacio en blanco en los datos trazados. Mi conjetura es que las células perdidas son células no terrestres, en la parte superior y en el límite del mundo. ¿Algunas ideas?
par(mfrow=c(2,1))
plot(rastertest.longlat, col="blue")
data(wrld_simpl)
wrld <- spTransform(wrld_simpl, CRS('+proj=longlat'))
plot(wrld, add=TRUE)
plot(rastertest.eck4, col="blue")
wrld <- spTransform(wrld_simpl, CRS('+proj=eck4'))
plot(wrld, add=TRUE)
Esta no es una respuesta completa a mi pregunta original, en términos de todos los detalles, pero proporciona al lector interesado un lugar adonde ir.
En general, los datos se pierden y se distorsionan durante la reproyección de rásteres desde proyecciones de longlat a áreas iguales. Esto puede ser problemático para el análisis global. Si puede obtener sus datos en formato vectorial, es mejor volver a proyectar usando ese formato.
Aquí hay una referencia sobre el problema general. Y aquí otro sobre tratar de cuantificar la pérdida. Espero que ayude.
fuente