# as.linnet.psp: Convert Line Segment Pattern to Linear Network In spatstat: Spatial Point Pattern Analysis, Model-Fitting, Simulation, Tests

## Description

Converts a line segment pattern to a linear network.

## Usage

 ```1 2``` ``` ## S3 method for class 'psp' as.linnet(X, ..., eps, sparse=FALSE) ```

## Arguments

 `X` Line segment pattern (object of class `"psp"`). `...` Ignored. `eps` Optional. Distance threshold. If two segment endpoints are closer than `eps` units apart, they will be treated as the same point, and will become a single vertex in the linear network. `sparse` Logical value indicating whether to use a sparse matrix representation, as explained in `linnet`.

## Details

This command converts any collection of line segments into a linear network by guessing the connectivity of the network, using the distance threshold `eps`.

If any segments in `X` cross over each other, they are first cut into pieces using `selfcut.psp`.

Then any pair of segment endpoints lying closer than `eps` units apart, is treated as a single vertex. The linear network is then constructed using `linnet`.

It would be wise to check the result by plotting the degree of each vertex, as shown in the Examples.

If `X` has marks, then these are stored in the resulting linear network `Y <- as.linnet(X)`, and can be extracted as `marks(as.psp(Y))` or `marks(Y\$lines)`.

## Value

A linear network (object of class `"linnet"`).

## Author(s)

and \ege

`linnet`, `selfcut.psp`, `methods.linnet`.
 ``` 1 2 3 4 5 6 7 8 9 10 11``` ``` # make some data A <- psp(0.09, 0.55, 0.79, 0.80, window=owin()) B <- superimpose(A, as.psp(simplenet)) # convert to a linear network D <- as.linnet(B) # check validity D plot(D) text(vertices(D), labels=vertexdegree(D)) ```