R: Convert SpatialLines to Linear Network

as.linnet.SpatialLines {maptools} | R Documentation

## Convert SpatialLines to Linear Network

### Description

Convert an object of class `SpatialLines` or `SpatialLinesDataFrame` (from package sp), representing a collection of polygonal lines, into an object of class `linnet` (from package spatstat), representing a network.

### Usage

      as.linnet.SpatialLines(X, ..., fuse = TRUE)
      ## S4 method for signature 'SpatialLines,linnet'
    coerce(from, to = "linnet", strict = TRUE)
      ## S4 method for signature 'SpatialLinesDataFrame,linnet'
    coerce(from, to = "linnet",
        strict = TRUE)

### Arguments

`X, from` | Object of class `SpatialLines` or `SpatialLinesDataFrame` to be converted.
`to` | output object of class “linnet”.
`strict` | logical flag. If TRUE, the returned object must be strictly from the target class.
`...` | Ignored.
`fuse` | Logical value indicating whether to join different curves which have a common vertex.

### Details

This function converts an object of class `SpatialLines` or `SpatialLinesDataFrame` into an object of class `linnet`. It is no a method for the spatstat generic function `as.linnet`, but like other S4 coercion functions for sp classes to spatstat classes may be called directly as a function.

An object of class SpatialLines or `SpatialLinesDataFrame` (from package sp) represents a list of lists of the coordinates of lines, such as a list of all roads in a city. An object of class `linnet` in the spatstat package represents a linear network, such as a road network.

If `fuse=FALSE`, each “Line” object in `X` will be treated as if it were disconnected from the others. The result is a network that consists of many disconnected sub-networks, equivalent to the list of “Line” objects.

If `fuse=TRUE` (the default), the code will search for identical pairs of vertices occurring in different “Line” objects, and will treat them as identical vertices, effectively joining the two “Line” objects at this common vertex.

### Value

An object of class `linnet`.

### Author(s)

Adrian Baddeley.

### See Also

`as.linnet`

### Examples

      if(require(spatstat, quietly=TRUE)) {
       dname <- system.file("shapes", package="maptools")
       fname <- file.path(dname, "fylk-val.shp")
       fylk <- readShapeSpatial(fname)
       L <- as(fylk, "linnet")
       print(max(vertexdegree(L)))
       L0 <- as.linnet.SpatialLines(fylk, fuse=FALSE)
       print(max(vertexdegree(L0)))
      }

[Package maptools version 0.9-3 Index]