从内部多边形栅格 r 中提取值
Extracting values from inside polygons raster r
我正在尝试从 http://prism.oregonstate.edu/ 处的栅格网格('bil' 文件)中查找南达科他州各县的平均日气温。我从 'maps' 包中获取县边界。
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))
我不熟悉 maps
包或 map
函数,但看起来它只是用于可视化,而不是地理空间操作。
虽然可能有一种方法可以将 map
对象转换为实际的多边形,但这里有一个简单的方法可以使用 raster
的 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)
为每个县提取像素,其中 r
是您想要的栅格。
请注意,根据您需要提取的像素(和图层)数量,这可能需要一些时间。
我正在尝试从 http://prism.oregonstate.edu/ 处的栅格网格('bil' 文件)中查找南达科他州各县的平均日气温。我从 'maps' 包中获取县边界。
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))
我不熟悉 maps
包或 map
函数,但看起来它只是用于可视化,而不是地理空间操作。
虽然可能有一种方法可以将 map
对象转换为实际的多边形,但这里有一个简单的方法可以使用 raster
的 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)
为每个县提取像素,其中 r
是您想要的栅格。
请注意,根据您需要提取的像素(和图层)数量,这可能需要一些时间。