creates an approximated Steiner tree for a flow map visualization
Arguments
- g
original flow network (must be a one-to-many flow network, i.e star graph). Must have a weight attribute indicating the flow
- xy
coordinates of "real" nodes
- xydummy
coordinates of "dummy" nodes
- root
root node id of the flow
- gamma
edge length decay parameter
- epsilon
percentage of points keept on a line after straightening with Visvalingam Algorithm
- elen
maximal length of edges in triangulation
- order
in which order shortest paths are calculated ("random","weight","near","far")
Details
Use tnss_smooth to smooth the edges of the tree
References
Sun, Shipeng. "An automated spatial flow layout algorithm using triangulation, approximate Steiner tree, and path smoothing." AutoCarto, 2016.
Examples
xy <- cbind(state.center$x, state.center$y)[!state.name %in% c("Alaska", "Hawaii"), ]
xy_dummy <- tnss_dummies(xy, root = 4)
gtree <- tnss_tree(cali2010, xy, xy_dummy, root = 4, gamma = 0.9)