如何从R中的栅格中提取值

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

我想使用R从栅格中提取值。基本上,我的栅格的值为0-6,我想为每个像素提取相应的值。所以我最后有一个包含这两个变量的数据表。

谢谢你的帮助,我希望我的解释足够。

r extract raster
2个回答
0
投票

x是您尝试从中提取值的raster对象; y可以是SpatialPoints,SpatialPolygons,SpatialLines,Extent或表示单元格数的向量(请查看?extract)。您的代码values_raster <- extract(x = values, df=TRUE)将无法工作,因为您正在使用任何y对象/向量来提供函数。您可以尝试使用栅格的所有单元格编号构建矢量。想象一下,你的栅格有200个细胞。如果您执行values_raster <- extract(x = values,y=seq(1,200,1), df=TRUE),您将获得包含每个单元格值的数据框。


0
投票

示例数据

library(raster)
r <- raster(ncol=5, nrow=5, vals=1:25)

要获得所有价值,你可以做到

values(r)
# [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#as.matrix(r)
#     [,1] [,2] [,3] [,4] [,5]
#[1,]    1    2    3    4    5
#[2,]    6    7    8    9   10
#[3,]   11   12   13   14   15
#[4,]   16   17   18   19   20
#[5,]   21   22   23   24   25

另见?getValues

您也可以使用索引

r[2,2] 
#7 
r[7:8]
#[1] 7 8

有关使用点,线或多边形的更复杂的提取,请参阅?extract

© www.soinside.com 2019 - 2024. All rights reserved.