これを行うことが可能かどうか疑問に思っています R 。
SpatialLinesDataFrame として 1 つのデータを、spatialPolygonDataFrame として別のデータを持っています。この 2 つのデータを重ねることはできますか?
これらをオーバーレイしようとすると、次のエラーが発生します。
jd <- overlay(res,hello)
Error in function (classes, fdef, mtable) : unable to find an inherited method for function
‘overlay’ for signature ‘"SpatialLinesDataFrame", "SpatialPolygonsDataFrame"’
上記のコードで res は SpatialLinesDataFrame で、hello は SpatialPolygonDataFrame です。
シェープファイルがあり、x、y、z 座標のデータ ポイントがあります。シェープファイルに等高線を表示したい。
私が使用した手順は、akima パッケージを使用して補間を行うことです。補間に使用したコードは
fld <- interp(x,y,z)
次に、次のコードを使用して、これを空間オブジェクトに変更しました。
res <-ContourLines2SLDF(contourLines(fld))
上記のコマンドは、等高線を空間データとして保存します。
次に、シェープファイルを読み取り、シェープファイルと解像度の両方を次のようにプロットします。
p1 <-
spplot(hello,sp.layout=list(list("sp.lines",res)),col="blue",lwd=0,fill="grey",colorkey=F)
p1
「hello」はシェープファイルで、「res」は上記のように作成したオブジェクトです。
問題は、「res」に保存された輪郭がシェープファイルを超えて拡張されていることです。そのため、シェープファイルでその輪郭をクリップし、シェープファイル領域内の輪郭のみを表示したいと思います。
そこで、輪郭レイヤーをポリゴンレイヤーでクリップする方法を探しています。
コードで取得した画像を添付しました。
画像では、シェープファイルからの線を見ることができます。また、地図上に等高線レベルを表示する方法を知りたいです。
どうもありがとう。
ジババ
また、オーバーレイが正確に何をするのか知りたいです。両方のデータの領域と交差していますか?
ありがとうございました。