我想将多边形数据和栅格数据合并到一个数据框中,以便在 R 中使用 randomForests 包。
这涉及首先提取每个多边形的平均栅格值。
到目前为止,我有以下内容:
#load libraries
library(raster)
library(rgdal)
library(sp)
library(maptools)
#import raster data
r <- raster("myRasterdata.tif")
#import polygon data
p <- readShapePoly("myPolydata.shp")
#extract mean raster value for each polygon
ExtractMyData <- extract(r, p, small=TRUE, fun=mean, na.rm=TRUE, df=FALSE, nl=1, sp=TRUE)
# note I have also tried this with df=TRUE and sp=FALSE
输出是一个矩阵,我可以将其写入数据帧。但它没有空间坐标或原始多边形 ID,所以我不知道如何将输出连接到同一个数据库中。我认为 sp=TRUE 参数会这样做,但它似乎不起作用。
请注意,出于 RandomForests 的目的,我实际上必须将多边形转换为点(使用质心方法?)所以我猜我真正想要的是加入平均栅格值加入点,而不是多边形。
任何建议将不胜感激。谢谢!!