這裏有一個辦法:
## raw list to store Lines objects
l <- vector("list", nrow(begin.coord))
library(sp)
for (i in seq_along(l)) {
l[[i]] <- Lines(list(Line(rbind(begin.coord[i, ], end.coord[i,]))), as.character(i))
}
SpatialLines(l)
這使得一個單獨的行對象(每一個獨特的ID),對於每一對,否則你可能需要一個單獨的對象?
而只是爲了好玩,先建一個spatstat PSP對象,然後用方法maptools要挾:
library(spatstat)
p <- psp(begin.coord[,1], begin.coord[,2], end.coord[,1], end.coord[,2], owin(range(c(begin.coord[,1], end.coord[,1])), range(c(begin.coord[,2], end.coord[,2]))))
library(maptools)
as(p, "SpatialLines")