Fix the propfile properties reading/writing
This commit is contained in:
parent
383640caaf
commit
4f13208ce8
@ -70,8 +70,6 @@ class Extractor
|
|||||||
util::DeallocatingVector<EdgeBasedEdge> &edge_based_edge_list,
|
util::DeallocatingVector<EdgeBasedEdge> &edge_based_edge_list,
|
||||||
const std::string &intersection_class_output_file,
|
const std::string &intersection_class_output_file,
|
||||||
std::vector<TurnRestriction> &turn_restrictions);
|
std::vector<TurnRestriction> &turn_restrictions);
|
||||||
void WriteProfileProperties(const std::string &output_path,
|
|
||||||
const ProfileProperties &properties) const;
|
|
||||||
void FindComponents(unsigned max_edge_id,
|
void FindComponents(unsigned max_edge_id,
|
||||||
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
|
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
|
||||||
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
|
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
#include "extractor/node_data_container.hpp"
|
#include "extractor/node_data_container.hpp"
|
||||||
#include "extractor/serialization.hpp"
|
#include "extractor/serialization.hpp"
|
||||||
#include "extractor/turn_data_container.hpp"
|
#include "extractor/turn_data_container.hpp"
|
||||||
|
#include "extractor/profile_properties.hpp"
|
||||||
|
|
||||||
#include "util/coordinate.hpp"
|
#include "util/coordinate.hpp"
|
||||||
#include "util/packed_vector.hpp"
|
#include "util/packed_vector.hpp"
|
||||||
@ -20,6 +21,25 @@ namespace extractor
|
|||||||
namespace files
|
namespace files
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// reads .osrm.properties
|
||||||
|
inline void readProfileProperties(const boost::filesystem::path &path, ProfileProperties &properties)
|
||||||
|
{
|
||||||
|
const auto fingerprint = storage::io::FileReader::VerifyFingerprint;
|
||||||
|
storage::io::FileReader reader{path, fingerprint};
|
||||||
|
|
||||||
|
serialization::read(reader, properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
// writes .osrm.properties
|
||||||
|
inline void writeProfileProperties(const boost::filesystem::path &path,
|
||||||
|
const ProfileProperties &properties)
|
||||||
|
{
|
||||||
|
const auto fingerprint = storage::io::FileWriter::GenerateFingerprint;
|
||||||
|
storage::io::FileWriter writer{path, fingerprint};
|
||||||
|
|
||||||
|
serialization::write(writer, properties);
|
||||||
|
}
|
||||||
|
|
||||||
template <typename EdgeBasedEdgeVector>
|
template <typename EdgeBasedEdgeVector>
|
||||||
void writeEdgeBasedGraph(const boost::filesystem::path &path,
|
void writeEdgeBasedGraph(const boost::filesystem::path &path,
|
||||||
EdgeID const max_edge_id,
|
EdgeID const max_edge_id,
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "extractor/restriction.hpp"
|
#include "extractor/restriction.hpp"
|
||||||
#include "extractor/segment_data_container.hpp"
|
#include "extractor/segment_data_container.hpp"
|
||||||
#include "extractor/turn_data_container.hpp"
|
#include "extractor/turn_data_container.hpp"
|
||||||
|
#include "extractor/profile_properties.hpp"
|
||||||
|
|
||||||
#include "storage/io.hpp"
|
#include "storage/io.hpp"
|
||||||
#include "storage/serialization.hpp"
|
#include "storage/serialization.hpp"
|
||||||
@ -20,6 +21,17 @@ namespace extractor
|
|||||||
namespace serialization
|
namespace serialization
|
||||||
{
|
{
|
||||||
|
|
||||||
|
// read/write for properties file
|
||||||
|
inline void read(storage::io::FileReader &reader, ProfileProperties &properties)
|
||||||
|
{
|
||||||
|
reader.ReadInto(properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void write(storage::io::FileWriter &writer, const ProfileProperties &properties)
|
||||||
|
{
|
||||||
|
writer.WriteFrom(properties);
|
||||||
|
}
|
||||||
|
|
||||||
// read/write for datasources file
|
// read/write for datasources file
|
||||||
inline void read(storage::io::FileReader &reader, Datasources &sources)
|
inline void read(storage::io::FileReader &reader, Datasources &sources)
|
||||||
{
|
{
|
||||||
|
@ -347,7 +347,7 @@ std::vector<TurnRestriction> Extractor::ParseOSMData(ScriptingEnvironment &scrip
|
|||||||
config.restriction_file_name,
|
config.restriction_file_name,
|
||||||
config.names_file_name);
|
config.names_file_name);
|
||||||
|
|
||||||
WriteProfileProperties(config.profile_properties_output_path,
|
files::writeProfileProperties(config.profile_properties_output_path,
|
||||||
scripting_environment.GetProfileProperties());
|
scripting_environment.GetProfileProperties());
|
||||||
|
|
||||||
TIMER_STOP(extracting);
|
TIMER_STOP(extracting);
|
||||||
@ -356,14 +356,6 @@ std::vector<TurnRestriction> Extractor::ParseOSMData(ScriptingEnvironment &scrip
|
|||||||
return extraction_containers.unconditional_turn_restrictions;
|
return extraction_containers.unconditional_turn_restrictions;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Extractor::WriteProfileProperties(const std::string &output_path,
|
|
||||||
const ProfileProperties &properties) const
|
|
||||||
{
|
|
||||||
storage::io::FileWriter file(output_path, storage::io::FileWriter::GenerateFingerprint);
|
|
||||||
|
|
||||||
file.WriteOne(properties);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Extractor::FindComponents(unsigned max_edge_id,
|
void Extractor::FindComponents(unsigned max_edge_id,
|
||||||
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
|
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
|
||||||
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
|
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
|
||||||
|
@ -819,12 +819,9 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
|
|||||||
|
|
||||||
// load profile properties
|
// load profile properties
|
||||||
{
|
{
|
||||||
io::FileReader profile_properties_file(config.properties_path,
|
|
||||||
io::FileReader::VerifyFingerprint);
|
|
||||||
const auto profile_properties_ptr = layout.GetBlockPtr<extractor::ProfileProperties, true>(
|
const auto profile_properties_ptr = layout.GetBlockPtr<extractor::ProfileProperties, true>(
|
||||||
memory_ptr, DataLayout::PROPERTIES);
|
memory_ptr, DataLayout::PROPERTIES);
|
||||||
profile_properties_file.ReadInto(profile_properties_ptr,
|
extractor::files::readProfileProperties(config.properties_path, *profile_properties_ptr);
|
||||||
layout.num_entries[DataLayout::PROPERTIES]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load intersection data
|
// Load intersection data
|
||||||
|
Loading…
Reference in New Issue
Block a user