Insert a new node or vertex into a network
Arguments
- graph
A flat table of graph edges. Must contain columns labelled
from
andto
, orstart
andstop
. May also contain similarly labelled columns of spatial coordinates (for examplefrom_x
) orstop_lon
).- v1
Vertex defining start of graph edge along which new vertex is to be inserted
- v2
Vertex defining end of graph edge along which new vertex is to be inserted (order of
v1
andv2
is not important).- x
The
x
-coordinate of new vertex. If not specified, vertex is created half-way betweenv1
andv2
.- y
The
y
-coordinate of new vertex. If not specified, vertex is created half-way betweenv1
andv2
.
Value
A modified graph with specified edge between defined start and end vertices split into two edges either side of new vertex.
See also
Other misc:
compare_heaps()
,
dodgr_flowmap()
,
dodgr_full_cycles()
,
dodgr_fundamental_cycles()
,
dodgr_sample()
,
dodgr_sflines_to_poly()
,
dodgr_vertices()
,
merge_directed_graph()
,
summary.dodgr_dists_categorical()
,
write_dodgr_wt_profile()
Examples
graph <- weight_streetnet (hampi)
e1 <- sample (nrow (graph), 1)
v1 <- graph$from_id [e1]
v2 <- graph$to_id [e1]
# insert new vertex in the middle of that randomly-selected edge:
graph2 <- dodgr_insert_vertex (graph, v1, v2)
nrow (graph)
#> [1] 6813
nrow (graph2) # new edges added to graph2
#> [1] 6815