superclass updater_config with io_config
This commit is contained in:
parent
fe00a8a0ca
commit
29160eec9c
@ -33,52 +33,24 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#include <chrono>
|
||||
#include <string>
|
||||
|
||||
#include "storage/io_config.hpp"
|
||||
#include "storage/storage_config.hpp"
|
||||
|
||||
namespace osrm
|
||||
{
|
||||
namespace updater
|
||||
{
|
||||
|
||||
struct UpdaterConfig final
|
||||
struct UpdaterConfig final : storage::IOConfig
|
||||
{
|
||||
// Infer the output names from the path of the .osrm file
|
||||
void UseDefaultOutputNames()
|
||||
{
|
||||
edge_based_graph_path = osrm_input_path.string() + ".ebg";
|
||||
turn_weight_penalties_path = osrm_input_path.string() + ".turn_weight_penalties";
|
||||
turn_duration_penalties_path = osrm_input_path.string() + ".turn_duration_penalties";
|
||||
turn_penalties_index_path = osrm_input_path.string() + ".turn_penalties_index";
|
||||
node_based_nodes_data_path = osrm_input_path.string() + ".nbg_nodes";
|
||||
edge_based_nodes_data_path = osrm_input_path.string() + ".ebg_nodes";
|
||||
edge_data_path = osrm_input_path.string() + ".edges";
|
||||
geometry_path = osrm_input_path.string() + ".geometry";
|
||||
rtree_leaf_path = osrm_input_path.string() + ".fileIndex";
|
||||
datasource_names_path = osrm_input_path.string() + ".datasource_names";
|
||||
profile_properties_path = osrm_input_path.string() + ".properties";
|
||||
turn_restrictions_path = osrm_input_path.string() + ".restrictions";
|
||||
}
|
||||
|
||||
boost::filesystem::path osrm_input_path;
|
||||
|
||||
std::string edge_based_graph_path;
|
||||
|
||||
std::string turn_weight_penalties_path;
|
||||
std::string turn_duration_penalties_path;
|
||||
std::string turn_penalties_index_path;
|
||||
std::string node_based_nodes_data_path;
|
||||
std::string edge_based_nodes_data_path;
|
||||
std::string edge_data_path;
|
||||
std::string geometry_path;
|
||||
std::string rtree_leaf_path;
|
||||
UpdaterConfig() {}
|
||||
UpdaterConfig(const boost::filesystem::path &base) : IOConfig(base) {}
|
||||
|
||||
double log_edge_updates_factor;
|
||||
std::time_t valid_now;
|
||||
|
||||
std::vector<std::string> segment_speed_lookup_paths;
|
||||
std::vector<std::string> turn_penalty_lookup_paths;
|
||||
std::string datasource_names_path;
|
||||
std::string profile_properties_path;
|
||||
std::string turn_restrictions_path;
|
||||
std::string tz_file_path;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -105,13 +105,13 @@ void checkWeightsConsistency(
|
||||
const std::vector<osrm::extractor::EdgeBasedEdge> &edge_based_edge_list)
|
||||
{
|
||||
extractor::SegmentDataContainer segment_data;
|
||||
extractor::files::readSegmentData(config.geometry_path, segment_data);
|
||||
extractor::files::readSegmentData(config.geometries_path, segment_data);
|
||||
|
||||
extractor::EdgeBasedNodeDataContainer node_data;
|
||||
extractor::files::readNodeData(config.osrm_input_path.string() + ".ebg_nodes", node_data);
|
||||
|
||||
extractor::TurnDataContainer turn_data;
|
||||
extractor::files::readTurnData(config.osrm_input_path.string() + ".edges", turn_data);
|
||||
extractor::files::readTurnData(config.edges_data_path, turn_data);
|
||||
|
||||
for (auto &edge : edge_based_edge_list)
|
||||
{
|
||||
@ -593,7 +593,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
||||
if (update_edge_weights || update_turn_penalties || update_conditional_turns)
|
||||
{
|
||||
const auto load_segment_data = [&] {
|
||||
extractor::files::readSegmentData(config.geometry_path, segment_data);
|
||||
extractor::files::readSegmentData(config.geometries_path, segment_data);
|
||||
};
|
||||
|
||||
const auto load_node_data = [&] {
|
||||
@ -601,7 +601,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
||||
};
|
||||
|
||||
const auto load_edge_data = [&] {
|
||||
extractor::files::readTurnData(config.edge_data_path, turn_data);
|
||||
extractor::files::readTurnData(config.edges_data_path, turn_data);
|
||||
};
|
||||
|
||||
const auto load_turn_weight_penalties = [&] {
|
||||
@ -619,7 +619,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
||||
const auto load_profile_properties = [&] {
|
||||
// Propagate profile properties to contractor configuration structure
|
||||
storage::io::FileReader profile_properties_file(
|
||||
config.profile_properties_path, storage::io::FileReader::VerifyFingerprint);
|
||||
config.properties_path, storage::io::FileReader::VerifyFingerprint);
|
||||
profile_properties = profile_properties_file.ReadOne<extractor::ProfileProperties>();
|
||||
};
|
||||
|
||||
@ -652,7 +652,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
||||
coordinates,
|
||||
osm_node_ids);
|
||||
// Now save out the updated compressed geometries
|
||||
extractor::files::writeSegmentData(config.geometry_path, segment_data);
|
||||
extractor::files::writeSegmentData(config.geometries_path, segment_data);
|
||||
TIMER_STOP(segment);
|
||||
util::Log() << "Updating segment data took " << TIMER_MSEC(segment) << "ms.";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user