【问题标题】:Mask raster with shapefile, error in colnames使用 shapefile 遮罩栅格,列名错误
【发布时间】:2018-02-06 05:19:42
【问题描述】:

在R Raster package 中,当我将netCDF 文件加载到raster 并尝试mask 或crop 带有shapefile 的光栅时,出现错误:

"*Error in `colnames<-`(`*tmp*`, value = names(object)) : 
  attempt to set 'colnames' on an object with less than two dimensions*"

这是示例代码

library(ncdf4)
library(raster)

nc <- brick("in.netcdf.nc", varname = "diff", values=TRUE )
crs(nc) <- "+proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"
everShp <- shapefile("EVERareas")

nc.sub <- mask(nc, everShp)

绘图显示nc 和everShp 都是二维的并且在空间上重叠。感谢您提供有关此错误的任何建议。

【问题讨论】:

  • 可能会干扰mask 函数;你试过raster::mask (nc, everShp)
  • Geo-sp,很好的建议,但没有运气。我遇到了同样的错误。

标签: r r-raster netcdf4


【解决方案1】:

如果我替换

nc <- brick("in.netcdf.nc", varname = "diff", values=TRUE )

与

nc <- raster("in.netcdf.nc", varname = "diff", values=TRUE )

遮罩和裁剪命令按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2012-11-06
    • 2015-03-23
    相关资源
    最近更新 更多