[英]How to find the coordinates of a pixel with a specific value in a raster data in R
我是 R 的初学者,这是一个基本问题,但我有一个值从 0 到 1 的栅格。我想知道哪个像素的值为 1 或哪个像素的值高于 0.8。 我试图用 which() 函数找到它:
> r <-myRaster
> which(values(r) == 1)
> [1] 12556
这给了我像素数,但我想知道这个像素对应的纬度和经度。 有没有办法做到这一点?
我认为您正在寻找xyFromCell
。
让我们创建一个简单的可重现栅格:
library(raster)
set.seed(1)
myraster <- raster(matrix(sample(100), nrow = 10))
我们可以通过执行以下操作找到单元格值为 1 的坐标:
coords_at_1 <- xyFromCell(myraster, which(myraster[] == 1))
coords_at_1
#> x y
#> [1,] 0.05 0.75
为了说明这一点,让我们在栅格等于 1 的地方标记一个红点:
plot(myraster)
points(coords_at_1, cex = 3, pch = 15, col = "red")
由reprex 包(v0.3.0) 于 2020 年 11 月 8 日创建
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.