【问题标题】:How to create a raster from zonal statistics (i.e. r::zonal) output?如何从区域统计(即 r::zonal)输出创建栅格?
【发布时间】:2021-06-10 19:52:58
【问题描述】:
library(raster)
library(fasterize)
library(sf)

#Template raster
roadtif <- 'roads.tif'
cropExtent <- extent(ras2) 

##Zonal Raster
ws <- sf::st_read(dsn = "tv_inputs.gdb", layer = "assessment_watersheds_diss")
wsraster <- fasterize(ws,raster(roadtif),'WATERSHED_GROUP_ID')

##Elevation Raster
elevation <- raster('topography.elevation.tif')
elevation <- crop(elevation,cropExtent)

###getting min elevation by watershed group
ele_min_water <- zonal(elevation, wsraster, 'min')

`

如何获得一个栅格,其中初始 wsraster 值替换为每个区域的最小高程值?

【问题讨论】:

  • 请提供一个最小的、独立的、可重现的示例

标签: r raster r-raster


【解决方案1】:

我找到了使用匹配的解决方案

zonalRas <- raster(wsraster)
ele_min_water <- as.data.frame(zonal(elevation, wsraster, 'min'))
zonalRas[] <- ele_min_water$min[match(wsraster[],ele_min_water$zone)]

【讨论】:

  • 无法扩展。最好使用重新分类
猜你喜欢
  • 2020-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 2015-09-13
相关资源
最近更新 更多