pub trait DifferentialShortestPath<W>where
W: Send + Sync + Ord + Copy,{
fn differential_shortest_path_map<I, OPT, PM, O>(
&self,
origin_cells: I,
destination_cells: I,
exclude_cells: &H3Treemap<H3Cell>,
options: &OPT,
path_transform_fn: PM
) -> Result<HashMap<H3Cell, ExclusionDiff<O>>, Error>
where
I: IntoIterator,
I::Item: Borrow<H3Cell>,
OPT: ShortestPathOptions + Send + Sync,
O: Send + Ord + Clone,
PM: Fn(Path<W>) -> Result<O, Error> + Send + Sync;
fn differential_shortest_path<I, OPT>(
&self,
origin_cells: I,
destination_cells: I,
exclude_cells: &H3Treemap<H3Cell>,
options: &OPT
) -> Result<HashMap<H3Cell, ExclusionDiff<Path<W>>>, Error>
where
I: IntoIterator,
I::Item: Borrow<H3Cell>,
OPT: ShortestPathOptions + Send + Sync,
{ ... }
}Expand description
“Differential” routing calculates the shortest path from (multiple) origin cells
to the N nearest destinations.
This done once to the un-modified graph, and once the the graph with a set of nodes
being removed, the exclude_cells parameter.