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 <chrono>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "storage/io_config.hpp"
|
||||||
|
#include "storage/storage_config.hpp"
|
||||||
|
|
||||||
namespace osrm
|
namespace osrm
|
||||||
{
|
{
|
||||||
namespace updater
|
namespace updater
|
||||||
{
|
{
|
||||||
|
|
||||||
struct UpdaterConfig final
|
struct UpdaterConfig final : storage::IOConfig
|
||||||
{
|
{
|
||||||
// Infer the output names from the path of the .osrm file
|
UpdaterConfig() {}
|
||||||
void UseDefaultOutputNames()
|
UpdaterConfig(const boost::filesystem::path &base) : IOConfig(base) {}
|
||||||
{
|
|
||||||
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;
|
|
||||||
|
|
||||||
double log_edge_updates_factor;
|
double log_edge_updates_factor;
|
||||||
std::time_t valid_now;
|
std::time_t valid_now;
|
||||||
|
|
||||||
std::vector<std::string> segment_speed_lookup_paths;
|
std::vector<std::string> segment_speed_lookup_paths;
|
||||||
std::vector<std::string> turn_penalty_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)
|
const std::vector<osrm::extractor::EdgeBasedEdge> &edge_based_edge_list)
|
||||||
{
|
{
|
||||||
extractor::SegmentDataContainer segment_data;
|
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::EdgeBasedNodeDataContainer node_data;
|
||||||
extractor::files::readNodeData(config.osrm_input_path.string() + ".ebg_nodes", node_data);
|
extractor::files::readNodeData(config.osrm_input_path.string() + ".ebg_nodes", node_data);
|
||||||
|
|
||||||
extractor::TurnDataContainer turn_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)
|
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)
|
if (update_edge_weights || update_turn_penalties || update_conditional_turns)
|
||||||
{
|
{
|
||||||
const auto load_segment_data = [&] {
|
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 = [&] {
|
const auto load_node_data = [&] {
|
||||||
@ -601,7 +601,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
|||||||
};
|
};
|
||||||
|
|
||||||
const auto load_edge_data = [&] {
|
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 = [&] {
|
const auto load_turn_weight_penalties = [&] {
|
||||||
@ -619,7 +619,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
|||||||
const auto load_profile_properties = [&] {
|
const auto load_profile_properties = [&] {
|
||||||
// Propagate profile properties to contractor configuration structure
|
// Propagate profile properties to contractor configuration structure
|
||||||
storage::io::FileReader profile_properties_file(
|
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>();
|
profile_properties = profile_properties_file.ReadOne<extractor::ProfileProperties>();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -652,7 +652,7 @@ Updater::LoadAndUpdateEdgeExpandedGraph(std::vector<extractor::EdgeBasedEdge> &e
|
|||||||
coordinates,
|
coordinates,
|
||||||
osm_node_ids);
|
osm_node_ids);
|
||||||
// Now save out the updated compressed geometries
|
// 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);
|
TIMER_STOP(segment);
|
||||||
util::Log() << "Updating segment data took " << TIMER_MSEC(segment) << "ms.";
|
util::Log() << "Updating segment data took " << TIMER_MSEC(segment) << "ms.";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user