我正在尝试从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))
答案 0 :(得分:1)
我对maps
软件包或map
函数并不熟悉,但看起来它只是用于可视化,而不是地理空间操作。
虽然可能有一种方法可以将map
对象转换为实际的多边形,但这是一种简单的方法,可以使用raster
的{{1}}函数:
getData
现在您可以使用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)
是您想要的栅格。
请注意,根据需要提取的像素(和层)数,这可能需要一些时间。