2 votos

Extraer valores de un raster utilizando datos puntuales con un buffer en R

Estoy un poco preocupado, por esto:

satellite_buffered <- raster::extract(satellite_raster, hila_FI_WGS84, buffer=7000)

Si el buffer está en metros el código funciona, pero si uso grados, no. Usando grados obtendré sólo un valor raster para cada punto. El raster es una cuadrícula de 0,05 grados y los datos de los puntos originalmente son una cuadrícula de 10km*10km (proyección métrica ETRS-TM35FIN y después de la transformación a lat/lon ya no es una cuadrícula regular)

Estructuras de datos:

str(satélite_raster) Clase formal '.RasterFile' [paquete "raster"] con 13 ranuras

@ projargs: chr "+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"

y str(hila_FI_WGS84) Clase formal 'SpatialPointsDataFrame' [paquete "sp"] con 5 ranuras

@ projargs: chr "+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"

4voto

SteveBurkett Puntos 960

Si el buffer está en metros el código funciona, pero si uso grados, no.

Efectivamente, el buffer no se puede especificar en grados. ?extract Si los datos no están proyectados (latitud/longitud), la unidad debe ser el metro. De lo contrario, debe ser en unidades de mapa (normalmente también metros)".

¿Realmente quieres que el buffer esté en grados?

Si es así, pon el CRS temporalmente en UTM, haz la extracción y vuelve a ponerlo.

cr <- crs(r)
crs(r) <- '+proj=utm +zone=10 +datum=WGS84'
e <- extract(r, xy, buffer=0.5)
crs(r) <- cr

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X