Rでシェープファイルを使用しています.1つはpoint.shpで、もう1つはpolygon.shpです。ここで、ポイントをポリゴンと交差させたいと思います。つまり、ポリゴンのすべての値を point.shp のテーブルにアタッチする必要があります。
パッケージspでoverlay()とspRbindを試しましたが、期待どおりの結果は得られませんでした。
誰かヒントをくれませんか?
overlay(pts, polys)
ptsがSpatialPointsDataFrameオブジェクトであり、polysがSpatialPolygonsDataFrameオブジェクトである場合、ポリゴンデータフレームの行を与えるポイントと同じ長さのベクトルが返されます。したがって、ポリゴンデータをポイントデータフレームに結合するために必要なのは次のとおりです。
o = overlay(pts, polys)
pts@data = cbind(pts@data, polys[o,])
でも!いずれかのポイントがすべてのポリゴンの外側にある場合、overlayはNAを返します。これにより、polys [o、]が失敗するため、すべてのポイントがポリゴンの内側にあることを確認するか、別の割り当て方法を検討する必要があります。ポリゴンの外側のポイントの値...
point.in.poly
これは、 fomspatialEco
パッケージを使用して 1 行で行います。
library(spatialEco)
new_shape <- point.in.poly(pts, polys)
ドキュメントから:point.in.poly
「ポイントとポリゴンのフィーチャクラスと交差し、ポイントにポリゴン属性を追加します」。