Calculate fundamental cycles on a FULL (that is, non-contracted) graph.
dodgr_full_cycles(graph, graph_max_size = 10000, expand = 0.05)
Maximum size submitted to the internal C++ routines as a single chunk. Warning: Increasing this may lead to computer meltdown!
For large graphs which must be broken into chunks, this factor determines the relative overlap between chunks to ensure all cycles are captured. (This value should only need to be modified in special cases.)
This function converts the
graph to its contracted form, calculates
the fundamental cycles on that version, and then expands these cycles back
onto the original graph. This is far more computationally efficient than
calculating fundamental cycles on a full (non-contracted) graph.
net <- weight_streetnet (hampi) graph <- dodgr_contract_graph (net) cyc1 <- dodgr_fundamental_cycles (graph) cyc2 <- dodgr_full_cycles (net) # cyc2 has same number of cycles, but each one is generally longer, through # including all points intermediate to junctions; cyc1 has cycles composed of # junction points only.