1

SpatialLines1 つのオブジェクト内のすべての交点の xy 座標を取得する方法を探していますSpatialLinesDataFramegIntersectの機能を見つけましたrgeosが、それは 2 つのデータセット間の交点のみを見ています。私は 50 万行を超えるデータセットを扱っているため、各行の個別のファイルを作成し、任意の行が別の行と交差しているかどうかを確認するには時間がかかりすぎます。ArcMap には、数秒で実行できる Intersect 関数があり、R にもそのような関数があるかどうか疑問に思っていました。ありがとう!

4

1 に答える 1

1

オブジェクトをからSpatialLinesオブジェクトに変換する場合は、関数を使用できます。ただし、50 万行にどのように対処できるかはわかりません。交差の数が膨大になる可能性があるためです。以下のコードは、ランダムなセグメント パターンを生成し、自己交差を見つけます。pspspatstatspatstatselfcrossing.psp

このコードは潜在的に大量のメモリを占有し、R を強制終了する可能性があることに注意してください。そのため、50 万行を処理する前に、例を徐々に増やしてみてください。以下のコードは、私の 5 年前のラップトップでかなりのメモリを使用し、実行に 5 秒かかりました。

set.seed(42)
N <- 1e4
x <- psp(runif(N), runif(N), runif(N), runif(N), owin(), check=FALSE)
y <- selfcrossing.psp(x)
于 2014-10-28T21:46:44.993 に答える