R: disaggregate SpatialLines, SpatialLinesDataFrame,...

disaggregate-methods {sp} | R Documentation

## disaggregate SpatialLines, SpatialLinesDataFrame, SpatialPolygons, or SpatialPolygonsDataFrame objects

### Description

disaggregate SpatialLines, SpatialLinesDataFrame, SpatialPolygons, or SpatialPolygonsDataFrame objects, using functions from rgeos to handle polygon hole nesting

### Usage

     disaggregate(x, ...)

### Arguments

`x` | object of class SpatialLines or SpatialPolygons
`...` | ignored

### Value

object of class SpatialLines or SpatialPolygons, where groups of Line or Polygon are disaggregated to one Line per Lines, or one Polygon per Polygons, respectively.

### Author(s)

Robert Hijmans, Edzer Pebesma

### Examples

    Sr1 = Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)), hole = FALSE)
    Sr2 = Polygon(cbind(c(5,4,2,5),c(2,3,2,2)), hole = FALSE)
    Sr3 = Polygon(cbind(c(4,4,5,10,4),c(5,3,2,5,5)), hole = FALSE)
    Sr4 = Polygon(cbind(c(5,6,6,5,5),c(4,4,3,3,4)), hole = TRUE)

    Srs1 = Polygons(list(Sr1, Sr2), "s1/2")
    Srs3 = Polygons(list(Sr3, Sr4), "s3/4")
    sp = SpatialPolygons(list(Srs1,Srs3), 1:2)
    length(sp) ## [1] 2
    length(disaggregate(sp)) ## [1] 3

    l1 = cbind(c(1,2,3),c(3,2,2))
    l1a = cbind(l1[,1]+.05,l1[,2]+.05)
    l2 = cbind(c(1,2,3),c(1,1.5,1))
    Sl1 = Line(l1)
    Sl1a = Line(l1a)
    Sl2 = Line(l2)
    S1 = Lines(list(Sl1, Sl1a), ID="a")
    S2 = Lines(list(Sl2), ID="b")
    sl = SpatialLines(list(S1,S2))
    length(sl)
    length(disaggregate(sl))

[Package sp version 1.4-0 Index]