繁体   English   中英

如何在R中的栅格数据中找到具有特定值的像素的坐标

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM