Converts a line segment pattern to a linear network.
Line segment pattern (object of class
Optional. Distance threshold. If two segment endpoints
are closer than
Logical value indicating whether to use a sparse matrix
representation, as explained in
This command converts any collection of line segments into a linear
network by guessing the connectivity of the network,
using the distance threshold
If any segments in
X cross over each other, they are first
cut into pieces using
Then any pair of segment endpoints lying closer than
units apart, is treated as a single vertex. The linear network
is then constructed using
It would be wise to check the result by plotting the degree of each vertex, as shown in the Examples.
X has marks, then these are stored in
the resulting linear network
Y <- as.linnet(X),
and can be extracted as
A linear network (object of class
The result also has an attribute
the provenance of each line in the resulting network.
camefrom=2 means that the third line segment
in the result is a piece of the second segment of
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
# 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 L <- as.linnet(B) # check validity L plot(L) text(vertices(L), labels=vertexdegree(L)) # show the pieces that came from original segment number 1 S <- as.psp(L) (camefrom <- attr(L, "camefrom")) parts <- which(camefrom == 1) plot(S[parts], add=TRUE, col="green", lwd=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.