View source: R/linnetsurgery.R
thinNetwork | R Documentation |
Delete some vertices and/or segments from a linear network or related object.
thinNetwork(X, retainvertices=NULL, retainedges=NULL)
X |
A linear network (object of class |
retainvertices |
Optional. Subset index specifying which vertices should be retained (not deleted). |
retainedges |
Optional. Subset index specifying which edges (segments) should be retained (not deleted). |
This function deletes some of the vertices and edges (segments) in the linear network.
The arguments retainvertices
and retainedges
can be
any kind of subset index: a vector of positive integers specifying which
vertices/edges should be retained; a vector of negative integers
specifying which vertices/edges should be deleted; or a logical vector
specifying whether each vertex/edge should be retained (TRUE
)
or deleted (FALSE
).
Vertices are indexed in the same sequence as in
vertices(as.linnet(X))
.
Segments are indexed in the same sequence as in
as.psp(as.linnet(X))
.
The argument retainedges
has higher precedence than
retainvertices
in the sense that:
If retainedges
is given, then
any vertex which is an endpoint of a retained edge will also be
retained.
If retainvertices
is given and retainedges
is missing,
then any segment joining two retained vertices will also be retained.
Thus, when both retainvertices
and retainedges
are
given, it is possible that more vertices will be retained than those
specified by retainvertices
.
After the network has been altered, other consequential changes will
occur, including renumbering of the segments and vertices.
If X
is a point pattern on a linear network, then data points
will be deleted if they lie on a deleted edge.
If X
is a pixel image on a linear network, then the image
will be restricted to the new sub-network.
An object of the same kind as X
.
and Suman Rakshit.
linnet
to make a network;
connected.linnet
to extract connected components.
repairNetwork
.
L <- simplenet
plot(L, main="thinNetwork(L, retainedges=c(-3, -5))")
text(midpoints.psp(as.psp(L)), labels=1:nsegments(L), pos=3)
Lsub <- thinNetwork(L, retainedges=c(-3, -5))
plot(Lsub, add=TRUE, col="blue", lwd=2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.