sort manuever overrides vector after partition

This commit is contained in:
rshokri 2023-11-19 13:07:22 +03:30 committed by Michael Bell
parent d0e3e2af23
commit 2548ab7920

View File

@ -162,6 +162,13 @@ int Partitioner::Run(const PartitionerConfig &config)
extractor::files::readManeuverOverrides(filename, maneuver_overrides, node_sequences); extractor::files::readManeuverOverrides(filename, maneuver_overrides, node_sequences);
renumber(maneuver_overrides, permutation); renumber(maneuver_overrides, permutation);
renumber(node_sequences, permutation); renumber(node_sequences, permutation);
// Although the vector is already sorted, the rename function changes the identifiers, so the order is not sorted now.
// So we sort by `from_node` again, so that later lookups can be done with a binary search.
std::sort(maneuver_overrides.begin(),
maneuver_overrides.end(),
[](const auto &a, const auto &b) { return a.start_node < b.start_node; });
extractor::files::writeManeuverOverrides(filename, maneuver_overrides, node_sequences); extractor::files::writeManeuverOverrides(filename, maneuver_overrides, node_sequences);
} }
if (boost::filesystem::exists(config.GetPath(".osrm.hsgr"))) if (boost::filesystem::exists(config.GetPath(".osrm.hsgr")))