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.
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