空间线数

时间:2016-03-15 09:33:28

标签: r spatial convex-hull sp concave-hull

有没有办法找出SpatialLinesDataFrame中的连续空间线数?

EG这将是2(外部和内部):

small alpha

这将是1

big alpha

(另外,有没有办法获得每个人的总长度?)

1 个答案:

答案 0 :(得分:1)

您可以使用length(sln)(其中' sln'是您的SpatialLinesDataFrame)来获取功能的数量(例如,行数)和  来自 rgeos gLength(sln, byid = TRUE)来获取单行长度。

## 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, ])

plot

你看到我们的4行SpatialLinesDataFrame的第一个特征是由几个子行组成的非连续空间行。要从不连续线要素中获取子线的数量,您需要执行以下操作。

length(sln[1, ]@lines[[1]]@Lines)
# [1] 19