有没有办法找出 a 中连续空间线的数量SpatialLinesDataFrame
?
EG 这将是2
(外部的和内部的):
这将是1
:
(另外,有没有办法得到每个人的总长度?)
您可以使用length(sln)
(其中 'sln' 是您的SpatialLinesDataFrame
)来获取要素的数量(例如,线)并
gLength(sln, byid = TRUE)
从rgeos获取单线长度。
## sample data
library(trajectories)
data(storms)
sln <- as(storms, "SpatialLinesDataFrame")
## number of features
length(sln)
# [1] 4
## length of each feature (throws warning since 'sln' is not projected)
rgeos::gLength(sln, byid = TRUE)
# 2012_TONY-ALBERTO 2011_SEAN-ARLENE 2010_TOMAS-ALEX 2009_IDA-ONE
# 831.0649 705.1888 804.7706 355.7562
但请注意,length
在处理多行特征时不会自动返回行数。例如,如果您执行以下操作,
plot(sln[1, ])
您会看到我们的 4 线的第一个特征SpatialLinesDataFrame
是由多个子线组成的非连续空间线。要从不连续的线要素中获取子线的数量,您需要执行以下操作。
length(sln[1, ]@lines[[1]]@Lines)
# [1] 19