我正在使用sp包创建SpatialLines对象并将其保存在对象allLines列表中。稍后,我将需要相互比较SpatialLines,但这超出了当前的问题。

到目前为止,我只需要构造SpatialLines对象。这是基于hrbrmstr答案的最后一个代码:

library(sp)
allLines <- NULL
x <- c(1,5,4,8)
y <- c(1,3,4,7)
xy <- cbind(x,y)
xy.sp = sp::SpatialPoints(xy)
spl <- SpatialLines(list(Lines(Line(xy.sp), ID="a")))
allLines <- rbind(allLines,spl)


错误信息:


错误(函数(类,fdef,mtable):无法找到
签名“ NULL”的函数“ proj4string”的继承方法


如何解决这个问题?

最佳答案

是:

library(sp)

x <- c(1,5,4,8)
y <- c(1,3,4,7)
SpatialLines(list(Lines(Line(cbind(x,y)), ID="a")))

## An object of class "SpatialLines"
## Slot "lines":
## [[1]]
## An object of class "Lines"
## Slot "Lines":
## [[1]]
## An object of class "Line"
## Slot "coords":
##      x y
## [1,] 1 1
## [2,] 5 3
## [3,] 4 4
## [4,] 8 7
##
##
##
## Slot "ID":
## [1] "a"
##
##
##
## Slot "bbox":
##   min max
## x   1   8
## y   1   7
##
## Slot "proj4string":
## CRS arguments: NA


您在找什么?

关于r - 如何创建SpatialLine对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27998952/

10-12 17:39