Port maneuver overrides to tar
This commit is contained in:
parent
5d7d5fceba
commit
73b3d37837
@ -299,10 +299,11 @@ inline void readManeuverOverrides(const boost::filesystem::path &path,
|
||||
StorageManeuverOverrideT &maneuver_overrides,
|
||||
NodeSequencesT &node_sequences)
|
||||
{
|
||||
const auto fingerprint = storage::io::FileReader::VerifyFingerprint;
|
||||
storage::io::FileReader reader{path, fingerprint};
|
||||
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
|
||||
storage::tar::FileReader reader{path, fingerprint};
|
||||
|
||||
serialization::read(reader, maneuver_overrides, node_sequences);
|
||||
storage::serialization::read(reader, "/common/maneuver_overrides/overrides", maneuver_overrides);
|
||||
storage::serialization::read(reader, "/common/maneuver_overrides/node_sequences", node_sequences);
|
||||
}
|
||||
|
||||
// writes .osrm.maneuver_overrides
|
||||
@ -310,10 +311,11 @@ inline void writeManeuverOverrides(const boost::filesystem::path &path,
|
||||
const std::vector<StorageManeuverOverride> &maneuver_overrides,
|
||||
const std::vector<NodeID> &node_sequences)
|
||||
{
|
||||
const auto fingerprint = storage::io::FileWriter::GenerateFingerprint;
|
||||
storage::io::FileWriter writer{path, fingerprint};
|
||||
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
|
||||
storage::tar::FileWriter writer{path, fingerprint};
|
||||
|
||||
serialization::write(writer, maneuver_overrides, node_sequences);
|
||||
storage::serialization::write(writer, "/common/maneuver_overrides/overrides", maneuver_overrides);
|
||||
storage::serialization::write(writer, "/common/maneuver_overrides/node_sequences", node_sequences);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -314,22 +314,6 @@ inline void read(storage::io::FileReader &reader,
|
||||
read(reader, penalty);
|
||||
}
|
||||
|
||||
inline void write(storage::io::FileWriter &writer,
|
||||
const std::vector<StorageManeuverOverride> &maneuver_overrides,
|
||||
const std::vector<NodeID> &node_sequences)
|
||||
{
|
||||
storage::serialization::write(writer, maneuver_overrides);
|
||||
storage::serialization::write(writer, node_sequences);
|
||||
}
|
||||
|
||||
template <typename ManeuverOverridesT, typename NodeSequenceT>
|
||||
inline void read(storage::io::FileReader &reader,
|
||||
ManeuverOverridesT &maneuver_overrides,
|
||||
NodeSequenceT &node_sequences)
|
||||
{
|
||||
storage::serialization::read(reader, maneuver_overrides);
|
||||
storage::serialization::read(reader, node_sequences);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -307,19 +307,6 @@ void Storage::PopulateLayout(DataLayout &layout)
|
||||
make_block<TurnPenalty>(number_of_penalties));
|
||||
}
|
||||
|
||||
// load maneuver overrides
|
||||
{
|
||||
io::FileReader maneuver_overrides_file(config.GetPath(".osrm.maneuver_overrides"),
|
||||
io::FileReader::VerifyFingerprint);
|
||||
const auto number_of_overrides =
|
||||
maneuver_overrides_file.ReadVectorSize<extractor::StorageManeuverOverride>();
|
||||
layout.SetBlock(DataLayout::MANEUVER_OVERRIDES,
|
||||
make_block<extractor::StorageManeuverOverride>(number_of_overrides));
|
||||
const auto number_of_nodes = maneuver_overrides_file.ReadVectorSize<NodeID>();
|
||||
layout.SetBlock(DataLayout::MANEUVER_OVERRIDE_NODE_SEQUENCES,
|
||||
make_block<NodeID>(number_of_nodes));
|
||||
}
|
||||
|
||||
std::unordered_map<std::string, DataLayout::BlockID> name_to_block_id = {
|
||||
{"/mld/multilevelgraph/node_array", DataLayout::MLD_GRAPH_NODE_LIST},
|
||||
{"/mld/multilevelgraph/edge_array", DataLayout::MLD_GRAPH_EDGE_LIST},
|
||||
@ -382,6 +369,8 @@ void Storage::PopulateLayout(DataLayout &layout)
|
||||
{"/common/turn_lanes/offsets", DataLayout::LANE_DESCRIPTION_OFFSETS},
|
||||
{"/common/turn_lanes/masks", DataLayout::LANE_DESCRIPTION_MASKS},
|
||||
{"/common/turn_lanes/data", DataLayout::TURN_LANE_DATA},
|
||||
{"/common/maneuver_overrides/overrides", DataLayout::MANEUVER_OVERRIDES},
|
||||
{"/common/maneuver_overrides/node_sequences", DataLayout::MANEUVER_OVERRIDE_NODE_SEQUENCES},
|
||||
};
|
||||
std::vector<NamedBlock> blocks;
|
||||
|
||||
@ -401,6 +390,7 @@ void Storage::PopulateLayout(DataLayout &layout)
|
||||
{REQUIRED, config.GetPath(".osrm.ebg_nodes")},
|
||||
{REQUIRED, config.GetPath(".osrm.tls")},
|
||||
{REQUIRED, config.GetPath(".osrm.tld")},
|
||||
{REQUIRED, config.GetPath(".osrm.maneuver_overrides")},
|
||||
};
|
||||
|
||||
for (const auto &file : tar_files)
|
||||
|
Loading…
Reference in New Issue
Block a user