36

「ind_adm」という名前のシェープファイルと「pnts」という名前の SpatialPointsDataFrame があります。「pnts」にはランダムに生成された点が含まれており、一部の点はポリゴンと重なっています。下の図を参照してください。 ここに画像の説明を入力

ここで、多角形分析の点を実行したいと考えています。つまり、インドの境界を表す灰色の多角形の内側にある点を見つけたいと考えています。このために、sp ライブラリの over() 関数を使用しています。

pt.in.poly <- sp::over(ind_adm, pnts, fn = mean) #do the join

しかし、私が得ている出力は

    >pt.in.poly
    values
    0 6.019467

実際には、ポリゴンの「内」にあるポイントのインデックスを取得する必要があります。

どこが間違っていますか?

4

4 に答える 4

28

over のこの簡潔で直感的な構文を見つけました。

   pnts[ind_adm,] 

この紹介文書から

于 2016-12-02T04:57:30.747 に答える
8

point.in.polyフォームspatialEcoパッケージを使用できます。「ポイントとポリゴン フィーチャ クラスを交差させ、ポイントにポリゴン属性を追加します」。

library(spatialEco)

new_shape <- point.in.poly(pnts, ind_adm)
于 2015-10-26T10:10:59.037 に答える