SpatialLines
lengthのクラスのセグメントの行を想定しましょうlen
。この特定の行は左上隅から始まります。
library(sp)
x <- structure(list(x = c(-7.23437435517476, 6.35937810318614, -5.86718660792582,
7.96094089282062), y = c(7.08139459814975, 6.8633712983227, -7.61337581019376,
-6.2180266913006)), .Names = c("x", "y"))
xline <- SpatialLines(list(Lines(Line(x), ID = 1)))
#len <- LineLength(as.matrix(data.frame(x)))
len <- LineLength(as.matrix(data.frame(coordinates(xline))))
plot(0,0, xlim = c(-10, 10), ylim = c(-10, 10), type = "n")
lines(xline)
findme
線の始点から単位離れたこの線上の点を見つけたいと思います。たとえば、最初から線に沿って 10 単位のポイントを探すと、最初のセグメントと 2 番目のセグメントの間のノードの近くにポイントが表示されます。より堅牢なソリューションに関するご意見をお待ちしております。
(以下を参照)を使用して見つけようとしましたspsample
が、この方法は (あまりにも) 信頼性が低く、ラインの後半のポイントでは機能しません。
# very approximate method, not very suitable
findme <- 11 # 11, 12 and 13 give same result
segs <- 1/(findme/xline.length)
xsam <- spsample(x = xline, n = segs, type = "regular", offset = 0)
points(xsam)