2
マルチポリゴンに縮小せずにRでバッファとユニオン
空間オーバーレイを実行して、一連のポイントが含まれるポリゴンを特定します。ただし、最初にポリゴンをバッファリングしてディゾルブし、マージされたポリゴン内の任意の場所にあるポイント(穴内にはない)に、オーバーレイ手順によって同様にラベルが付けられるようにします。 残念ながら、私が使用しているバッファリングまたはディゾルブプロセスは、SpatialPolygonsオブジェクトをマルチポリゴンに縮小しています。を使用gBufferすると、の場合はマルチポリゴンが作成されますが、の場合byid=FALSEは重複するポリゴンの結合に失敗しますbyid=TRUE。後者の場合、続いてgUnaryUnion再びポリゴンをディゾルブすると、マルチポリゴンが作成されます。SpatialPointsこれらのマルチポリゴンでオーバーレイすると、含まれているすべてのポイントがポリゴン1内にあると報告されます。 これは、バッファ付きポイントを使用した関連するおもちゃの例です。バッファ付きポリゴンでポイントをオーバーレイしたいと思います。 library(sp) library(rgeos) pts <- SpatialPoints(cbind(c(1, 1, 2, 3), c(1, 2, 1.5, 2.5))) plot(gBuffer(pts, width=0.6), lwd=2) points(pts, pch=20, cex=2) text(coordinates(pts), labels=seq_len(length(pts)), pos=4, font=2) そして、いくつかのオーバーレイの結果... とbyid=FALSE: b <- gBuffer(pts, width=0.6) over(pts, b) # [1] 1 1 1 1 とbyid=TRUE: b2 <- gBuffer(pts, width=0.6, byid=TRUE) over(pts, b2) # [1] 1 …