R - 如何将SpatialLine属性添加到其端点?

时间:2016-06-23 10:25:43

标签: r attributes spatial

给定的是一个SpatialLine和一个空间点。 应该将线的属性(例如长度)作为信息添加到该点。怎么做?

library(sp)

l1 = cbind(c(1,2,3,4),c(3,2,2,4))
rownames(l1) = letters[1:4]
Sl1 = Line(l1)
Ll1 = Lines(list(Sl1), ID="a")
Sl = SpatialLines(list(Ll1))

Sl_length<-SpatialLinesLengths(Sl,longlat=FALSE)

pts = cbind(4,4)
dimnames(pts)[[1]] = letters[1]
df = data.frame(a = 1)
row.names(df) = letters[1]
SpatialPointsDataFrame(pts, df)

1 个答案:

答案 0 :(得分:0)

鉴于

library(raster) 
Sl = spLines(cbind(c(1,2,3,4),c(3,2,2,4)))
pts <- SpatialPointsDataFrame(cbind(4,4), data.frame(a = 1))

你可以做到

pts$Sl_length <- SpatialLinesLengths(Sl, longlat=FALSE)