Major changes
cpp_contract(..., customizable = TRUE) and cpp_customize(). CCH separates preprocessing (topology) from customization (edge weights), so a prepared topology can be reused across many weight updates (e.g. congestion assignment) without a full re-contraction.get_distance_pair, get_distance_matrix, get_path_pair and get_aon all support CCH graphs, in addition to normal and classically-contracted graphs.makegraph()'s aux argument now accepts a data.frame with one or more named columns, in addition to a single vector. aggregate_aux in get_distance_pair/get_distance_matrix accepts TRUE (all columns) or a character vector of column names, and is now supported on normal, contracted (CH) and CCH graphs, and on graphs simplified with cpp_simplify. Aggregation runs inline in C++ during the shortest-path search itself, no path reconstruction needed.assign_traffic(..., aon_method = "cch", cch = cch) uses a prepared CCH topology for repeated traffic assignment iterations, avoiding a full re-contraction at each run.Minor changes
cpp_simplify() result is now classed (cppRouting_simplified), fixing downstream functions that silently failed on a simplified graph.cpp_simplify() now correctly aggregates multiple auxiliary columns across merged edges (previously single-column only).cpp_contract(..., customizable = TRUE) shows progress, like classical contraction.get_path_pair on CCH graphs, elimination ordering (near-linear instead of quadratic), many-to-many distance matrix on CCH graphs.Major changes
get_path_pair, get_isochrone, get_detour and get_multi_paths are now multithreadedget_distance_pair and get_distance_matrix, for both normal and contracted network, and multithreadedMinor changes
get_path_pair and get_multi_paths : node sequence listed from origin to destination node.Major changes
RcppParallel package instead of parallelMinor changes
long and keep for get_path_pair, get_isochrone and get_multi_paths functionsallcores option for get_detour functioncpp_simplify functionmakegraph functionMajor changes
cpp_simplify, get_detour and to_dfMinor changes
get_distance_pair and get_path_pair : verify that origin / destination nodes are present in the graph before running c++ functionget_distance_pair and get_path_pair Rd. files : clearer explanation about the choice between algorithmsget_distance_matrix function : if length(to) < length(from) then Dijkstra algorithm is ran from destination nodes on reversed graphFirst CRAN release