【问题标题】:Find the coordinates of a specific pixel in rasterStack在 rasterStack 中查找特定像素的坐标
【发布时间】:2014-07-12 02:38:57
【问题描述】:

我想在 rasterStack 中找到具有相同矢量模式的像素坐标。下面是一个简单的例子。

> s<-r<-raster(ncol=5,nrow=5)
> r[]<-round(runif(ncell(r)))
> s[]<-2
> rs<-stack(r,s)
> rs

class       : RasterStack 
dimensions  : 5, 5, 25, 2  (nrow, ncol, ncell, nlayers)
resolution  : 72, 36  (x, y)
extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
names       : layer.1, layer.2 
min values  :       0,       2 
max values  :       1,       2 

如果我有一个向量vet&lt;-c(0,2),第一层的像素坐标为0,第二层的像素坐标为2?

【问题讨论】:

    标签: r coordinates raster


    【解决方案1】:

    使用which 可能会奏效。我坚持使用矩阵;您可以稍后将它们栅格化:-)

    foo<-which(r==0,arr.ind=TRUE)
    s<-matrix(ncol=5,nrow=5)
    set.seed(10)
    r[]<-round(runif(ncell(r)))
    s[1:3,]<-2
    foo<-which(r==0,arr.ind=TRUE)
    bar<-which(s==2,arr.ind=TRUE)
    

    然后在foobar 中查找相同的行,可能通过连接行,或计算foo-bar 并识别零行。

    编辑:更好的方法,立即为您提供坐标。

    which(s==2 & r==0, arr.ind=TRUE)
    

    【讨论】:

      猜你喜欢
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多