2016-06-23 6 views
1

Gegeben ist eine SpatialLine und ein Spatialpoint an ihrem Ende. Ein Attribut der Linie (z. B. die Länge) sollte als Information zum Punkt hinzugefügt werden. Wie macht man das?R - Wie fügt man seinem Endpunkt SpatialLine-Attribute hinzu?

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) 

Antwort

0

Gegeben

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

Sie können

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