Insert a new node or vertex into a network
Arguments
- graph
A flat table of graph edges. Must contain columns labelled
fromandto, orstartandstop. 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
v1andv2is not important).- x
The
x-coordinate of new vertex. If not specified, vertex is created half-way betweenv1andv2.- y
The
y-coordinate of new vertex. If not specified, vertex is created half-way betweenv1andv2.
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