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,
|
StorageManeuverOverrideT &maneuver_overrides,
|
||||||
NodeSequencesT &node_sequences)
|
NodeSequencesT &node_sequences)
|
||||||
{
|
{
|
||||||
const auto fingerprint = storage::io::FileReader::VerifyFingerprint;
|
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
|
||||||
storage::io::FileReader reader{path, fingerprint};
|
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
|
// 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<StorageManeuverOverride> &maneuver_overrides,
|
||||||
const std::vector<NodeID> &node_sequences)
|
const std::vector<NodeID> &node_sequences)
|
||||||
{
|
{
|
||||||
const auto fingerprint = storage::io::FileWriter::GenerateFingerprint;
|
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
|
||||||
storage::io::FileWriter writer{path, fingerprint};
|
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);
|
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));
|
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 = {
|
std::unordered_map<std::string, DataLayout::BlockID> name_to_block_id = {
|
||||||
{"/mld/multilevelgraph/node_array", DataLayout::MLD_GRAPH_NODE_LIST},
|
{"/mld/multilevelgraph/node_array", DataLayout::MLD_GRAPH_NODE_LIST},
|
||||||
{"/mld/multilevelgraph/edge_array", DataLayout::MLD_GRAPH_EDGE_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/offsets", DataLayout::LANE_DESCRIPTION_OFFSETS},
|
||||||
{"/common/turn_lanes/masks", DataLayout::LANE_DESCRIPTION_MASKS},
|
{"/common/turn_lanes/masks", DataLayout::LANE_DESCRIPTION_MASKS},
|
||||||
{"/common/turn_lanes/data", DataLayout::TURN_LANE_DATA},
|
{"/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;
|
std::vector<NamedBlock> blocks;
|
||||||
|
|
||||||
@ -401,6 +390,7 @@ void Storage::PopulateLayout(DataLayout &layout)
|
|||||||
{REQUIRED, config.GetPath(".osrm.ebg_nodes")},
|
{REQUIRED, config.GetPath(".osrm.ebg_nodes")},
|
||||||
{REQUIRED, config.GetPath(".osrm.tls")},
|
{REQUIRED, config.GetPath(".osrm.tls")},
|
||||||
{REQUIRED, config.GetPath(".osrm.tld")},
|
{REQUIRED, config.GetPath(".osrm.tld")},
|
||||||
|
{REQUIRED, config.GetPath(".osrm.maneuver_overrides")},
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const auto &file : tar_files)
|
for (const auto &file : tar_files)
|
||||||
|
Loading…
Reference in New Issue
Block a user