US census.gov の国勢調査データのシェープファイルがあります。
rdgal ライブラリの readOGR を使用して、ファイルを R に読み込みました。
sp1 : 投票区 - SpatialPolygonsDataFrame
sp2 : sp1 よりも広い領域と高解像度のブロック レベル - SpatialPolygonsDataFrame
rgeos ライブラリの gIntersection を使用してみましたが、必要なものが返されません。または、適切な使用方法がわかりません
空間制限として sp1 を使用して、sp2 から低解像度のポリゴンと関連データを抽出するにはどうすればよいですか? つまり、sp1 と sp2 が交差する sp1 内のすべてのブロックを知りたいということです。
現在の作業ソリューション
以下のコードは、ポリゴンが sp1 内に少なくとも 1 つのポイントを持っている sp2 のインデックス値のベクトルを返しますが、もっと簡単な方法があるかどうか知りたかったのです。
library(rgeos)
result <- vector()
for (i in 1:nrow(sp2)) {
if(gContains(sp1, sp2[i,])) {
result <- c(result, i)
}
}