Instalar y cargar paquetes
#install.packages(pkgs=c("sp", "rgdal", "raster", "RStoolbox"))
library(sp)
library(rgdal)
library(raster)
library(RStoolbox)
library(tidyverse)
Hacer una lista de los datos raster
list_dirs <- list.files(path = "DATA/raster/", pattern = glob2rx("*tif$"), all.files=T, full.names=T)
names(list_dirs)<- basename(list_dirs)
Apilar todos los raster en un solo objeto
timeStart<- proc.time()
chelsa_data<- stack(list_dirs)
proc.time() - timeStart
user system elapsed
0.85 0.06 1.00
Leer y crear el archivo de coordenadas
pointCoordinates<- read.csv(file = "DATA/coord.csv", sep = ";", dec = ".")
coordinates(pointCoordinates)= ~ Long+ Lat
Extraer los valores del la imagen multibanda a cada uno de los puntos seleccionados
timeStart<- proc.time()
rasValue<- raster::extract(chelsa_data, pointCoordinates)
proc.time() - timeStart
user system elapsed
4.86 0.00 4.86
Asignarle los valores a cada localizacion y crear el data frame
combinePointValue<- cbind(pointCoordinates,rasValue)
datos<- as.data.frame(combinePointValue)
datos$ID<- as.factor(datos$ID)
Exportar
write.table(datos, file = "data_Miquel.txt", append = FALSE, sep = ",", row.names = FALSE, col.names = TRUE)
LS0tDQp0aXRsZTogIkV4dHJhZXIgZGF0b3MgZGUgQ2hlbHNhIg0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KICBodG1sX2RvY3VtZW50Og0KICAgIGRmX3ByaW50OiBwYWdlZA0KLS0tDQoNCiMjIyBJbnN0YWxhciB5IGNhcmdhciBwYXF1ZXRlcw0KYGBge3J9DQppbnN0YWxsLnBhY2thZ2VzKHBrZ3M9Yygic3AiLCAicmdkYWwiLCAicmFzdGVyIiwgIlJTdG9vbGJveCIpKQ0KbGlicmFyeShzcCkNCmxpYnJhcnkocmdkYWwpDQpsaWJyYXJ5KHJhc3RlcikNCmxpYnJhcnkoUlN0b29sYm94KQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpgYGANCg0KDQojIyMgSGFjZXIgdW5hIGxpc3RhIGRlIGxvcyBkYXRvcyByYXN0ZXINCg0KYGBge3J9DQpsaXN0X2RpcnMgPC0gbGlzdC5maWxlcyhwYXRoID0gIkRBVEEvcmFzdGVyLyIsIHBhdHRlcm4gPSBnbG9iMnJ4KCIqdGlmJCIpLCBhbGwuZmlsZXM9VCwgZnVsbC5uYW1lcz1UKQ0KbmFtZXMobGlzdF9kaXJzKTwtIGJhc2VuYW1lKGxpc3RfZGlycykNCmBgYA0KDQojIyMgQXBpbGFyIHRvZG9zIGxvcyByYXN0ZXIgZW4gdW4gc29sbyBvYmpldG8NCmBgYHtyfQ0KdGltZVN0YXJ0PC0gcHJvYy50aW1lKCkNCmNoZWxzYV9kYXRhPC0gc3RhY2sobGlzdF9kaXJzKQ0KcHJvYy50aW1lKCkgLSB0aW1lU3RhcnQNCmBgYA0KDQojIyMgTGVlciB5IGNyZWFyIGVsIGFyY2hpdm8gZGUgY29vcmRlbmFkYXMNCg0KYGBge3J9DQpwb2ludENvb3JkaW5hdGVzPC0gcmVhZC5jc3YoZmlsZSA9ICJEQVRBL2Nvb3JkLmNzdiIsIHNlcCA9ICI7IiwgZGVjID0gIi4iKQ0KY29vcmRpbmF0ZXMocG9pbnRDb29yZGluYXRlcyk9IH4gTG9uZysgTGF0DQpgYGANCg0KDQojIyMgRXh0cmFlciBsb3MgdmFsb3JlcyBkZWwgbGEgaW1hZ2VuIG11bHRpYmFuZGEgYSBjYWRhIHVubyBkZSBsb3MgcHVudG9zIHNlbGVjY2lvbmFkb3MNCg0KYGBge3J9DQp0aW1lU3RhcnQ8LSBwcm9jLnRpbWUoKQ0KcmFzVmFsdWU8LSByYXN0ZXI6OmV4dHJhY3QoY2hlbHNhX2RhdGEsIHBvaW50Q29vcmRpbmF0ZXMpDQpwcm9jLnRpbWUoKSAtIHRpbWVTdGFydA0KYGBgDQoNCiMjIyBBc2lnbmFybGUgbG9zIHZhbG9yZXMgYSBjYWRhIGxvY2FsaXphY2lvbiB5IGNyZWFyIGVsIGRhdGEgZnJhbWUNCmBgYHtyfQ0KY29tYmluZVBvaW50VmFsdWU8LSBjYmluZChwb2ludENvb3JkaW5hdGVzLHJhc1ZhbHVlKQ0KZGF0b3M8LSBhcy5kYXRhLmZyYW1lKGNvbWJpbmVQb2ludFZhbHVlKQ0KZGF0b3MkSUQ8LSBhcy5mYWN0b3IoZGF0b3MkSUQpDQpgYGANCg0KIyMjIEV4cG9ydGFyDQpgYGB7cn0NCndyaXRlLnRhYmxlKGRhdG9zLCBmaWxlID0gImRhdGFfTWlxdWVsLnR4dCIsIGFwcGVuZCA9IEZBTFNFLCBzZXAgPSAiLCIsIHJvdy5uYW1lcyA9IEZBTFNFLCBjb2wubmFtZXMgPSBUUlVFKQ0KDQpgYGANCg0K