首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从R中的光栅地图中提取特定区域数据

如何从R中的光栅地图中提取特定区域数据
EN

Stack Overflow用户
提问于 2022-04-21 06:40:34
回答 1查看 83关注 0票数 0

my_raster.tiff文件是2013年中国体内PM2.5的浓度。

为了重现代码,我将数据(my_raster.tiff)上传到Github (https://github.com/lizhiwei1994/example_data/blob/main/my_raster.tiff)。

我想从中国光栅地图(my_raster.tiff)中提取北京(中国首都) PM2.5的平均浓度。

具体来说,代码会将一个值分解成规则,可能如下所示:

代码语言:javascript
复制
data.frame(city = 'Beijing', PM2.5 = 56.66) # PM2.5 = 56.66 is a fake number made up by myself
     city PM2.5
1 Beijing 56.66
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-22 05:47:05

示例数据

代码语言:javascript
复制
library(terra)
f <- system.file("ex/elev.tif", package="terra")
pm <- rast(f)
names(pm) <- "PM2.5"

f <- system.file("ex/lux.shp", package="terra")
v <- vect(f)[1]
v$city = "Beijing"

解决方案

代码语言:javascript
复制
e <- extract(pm, v, fun=mean, na.rm=TRUE)    
data.frame(city=v$city, e[,-1,drop=FALSE])
#     city    PM2.5
#1 Beijing 467.1052
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71949939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档