【问题标题】:Aggregating raster data at coarser resolution以较粗的分辨率聚合栅格数据
【发布时间】:2019-01-21 01:16:28
【问题描述】:

我有一个 0.25 * 0.25 度网格分辨率的数据集

lon <- c(-53.615449969, -53.365449969, -53.115449969, -53.365449969, 
     -53.115449969, -52.865449969, -53.365449969, -53.115449969, -52.865449969, 
     -52.615449969, -53.365449969, -53.115449969, -52.865449969, -52.615449969, 
     -52.365449969, -53.365449969, -53.115449969, -52.865449969, -52.615449969, 
     -52.365449969, -53.615449969, -53.365449969, -53.115449969, -52.865449969, 
     -52.615449969, -52.365449969, -52.115449969, -53.865449969, -53.615449969, 
     -53.365449969, -53.115449969, -52.865449969, -52.615449969, -52.365449969, 
     -52.115449969, -51.865449969, -54.365449969, -54.115449969, -53.865449969, 
     -53.615449969, -53.365449969, -53.115449969, -52.865449969, -52.615449969, 
     -52.365449969, -52.115449969, -51.865449969, -51.615449969, -54.615449969, 
     -54.365449969, -54.115449969, -53.865449969, -53.615449969, -53.365449969, 
     -53.115449969, -52.865449969, -52.615449969, -52.365449969, -52.115449969, 
     -51.615449969)


lat <- c(-33.627081271, -33.627081271, -33.627081271, -33.377081271, 
     -33.377081271, -33.377081271, -33.127081271, -33.127081271, -33.127081271, 
     -33.127081271, -32.877081271, -32.877081271, -32.877081271, -32.877081271, 
     -32.877081271, -32.627081271, -32.627081271, -32.627081271, -32.627081271, 
     -32.627081271, -32.377081271, -32.377081271, -32.377081271, -32.377081271, 
     -32.377081271, -32.377081271, -32.377081271, -32.127081271, -32.127081271, 
     -32.127081271, -32.127081271, -32.127081271, -32.127081271, -32.127081271, 
     -32.127081271, -32.127081271, -31.877081271, -31.877081271, -31.877081271, 
     -31.877081271, -31.877081271, -31.877081271, -31.877081271, -31.877081271, 
     -31.877081271, -31.877081271, -31.877081271, -31.877081271, -31.627081271, 
     -31.627081271, -31.627081271, -31.627081271, -31.627081271, -31.627081271, 
     -31.627081271, -31.627081271, -31.627081271, -31.627081271, -31.627081271, 
    -31.627081271)

 df <- as.data.frame(cbind(lon, lat))
 df$ID <- 1:nrow(df)
 coordinates(df) <- c(1,2)

 library(raster)
 elev <- getData('alt', country='BRA')

 plot(elev)
 plot(df, add = T)

对于每个 0.25 * 0.25 度的方格,我想计算平均海拔。我如何在 R 中做到这一点?

【问题讨论】:

    标签: r aggregation raster sp


    【解决方案1】:

    鉴于res(elev)0.008333333(即1/120),您希望与因子.25 * 120 = 30 聚合。最简单的方法是

    a <- aggregate(elev, 30, fun=mean, na.rm=TRUE)
    

    现在分辨率符合要求,但与您指定的栅格对齐不正确。图解:

    r <- rasterFromXYZ(df)
    s <- as(r, 'SpatialPolygons')
    z <- crop(a, r, snap='out')
    plot(z)
    plot(s, add=TRUE)
    

    您可以这样做:

    x <- resample(elev, r)
    

    或(更精确,但更慢)

    e <- extract(elev, s, fun=mean, na.rm=TRUE)
    s$elev <- e
    

    比较值

    z <- rasterize(r, s)
    plot(z, e)
    

    【讨论】:

    • 一个迟到的问题,但你能解释一下第一行的1/120 中的120 是什么
    • 原始光栅的分辨率为0.008333333,即1/120
    • 好的。谢谢
    猜你喜欢
    • 1970-01-01
    • 2017-03-25
    • 2015-10-02
    • 2016-09-10
    • 1970-01-01
    • 2019-04-22
    • 2021-07-09
    • 2016-09-10
    • 2021-08-16
    相关资源
    最近更新 更多