栅格包的提取函数从 Chelsa 图层中给出了错误的值

问题描述 投票:0回答:1

我制作了一堆 Chelsa 气候图层(1981 - 2010;生物气候图层),并尝试使用发生记录提取值。但是,我得到了错误的价值观。

加载光栅

library (raster)
library (sp)

layers <- list.files(path = "C:/Users/DELL/OneDrive/Documents", 
                      pattern='.tif$', all.files= T, full.names= TRUE)
allrasters <- lapply(layers, raster)
bio_layers<-stack(allrasters)

nr

longitude latitude
-58.93127 -34.19912
-58.86730 -33.4797
-60.64690 -32.0161
-60.16690 -32.635
-60.57160 -31.67717
-57.51700 -25.335

coordinates(nr)<-c("longitude", "latitude")
ex<-extract(bio_layers[[1]], nr, df = T)

1 2900
2 2908
3 2917
4 2913
5 2918
6 2956

我在这里显示的结果是年平均温度 (bio1)。这些值不正确。当我使用 QGIS 提取值时,效果很好。我可以知道我哪里错了吗???

r raster
1个回答
0
投票

提取的值完全正确。我看过CHELSA V2.1:技术规范7.1。气候学。这些值是按比例缩放的。所以,为了拥有正确的价值观,你必须这样做

bio1 = bio_layers[[1]]*0.1-273.15

如果我这样做,那么值将是

1 16.85
2 17.65
3 18.55
4 18.15
5 18.65
6 22.45
© www.soinside.com 2019 - 2024. All rights reserved.