从内部多边形栅格r中提取值

时间:2019-02-07 03:05:43

标签: r raster sp rgdal

我正在尝试从http://prism.oregonstate.edu/上找到的栅格网格(“ bil”文件)中找到南达科他州县的平均日温度。我正在从“地图”包中获取县界。

library(maps)
library(raster)
sd_counties <- map('county','south dakota')
sd_raster <- raster('file_path')

如何提取每个县内的网格单元?我想我需要将每个县变成它自己的多边形,但是如何做?然后,我应该能够执行以下操作。任何帮助将不胜感激。

values <- extract(raster, list of polygons)  
polygon_means <- unlist(lapply(values, FUN=mean))

1 个答案:

答案 0 :(得分:1)

我对maps软件包或map函数并不熟悉,但看起来它只是用于可视化,而不是地理空间操作。

虽然可能有一种方法可以将map对象转换为实际的多边形,但这是一种简单的方法,可以使用raster的{​​{1}}函数:

getData

enter image description here

现在您可以使用library(raster) usa_adm2 <- getData(country='USA',level=2) sd_counties <- usa_adm2[grepl('South Dakota',usa_adm2$NAME_1),] plot(sd_counties) 提取每个县的像素,其中extract(r,sd_counties)是您想要的栅格。

请注意,根据需要提取的像素(和层)数,这可能需要一些时间。