0

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)
    }
}
4

1 に答える 1

0

試す

gContains(sp1, sp2, byid = TRUE)

for pair-wise には、特徴ペアの関係が含まれます。

sp2[sp1,]

sp2と交差する機能を選択しますが、制限について確認するためにsp1読んでください(接触するだけの機能が含まれます)。vignette('over')

于 2016-02-17T08:30:05.097 に答える