RでrandomForestsパッケージを使用する目的で、ポリゴンデータとラスターデータを1つのデータフレームにマージしたいと思います。
これには、最初にポリゴンごとの平均ラスター値を抽出することが含まれます。
これまでのところ、私は次のものを持っています:
#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 の目的で実際にポリゴンをポイントに変換する必要があることに注意してください (重心法を使用しますか?)。そのため、ポリゴンではなくポイントに結合された平均ラスター値を結合することが本当に必要であると推測できます。
どんな提案でも大歓迎です。ありがとうございました!!