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,
|
||||
const std::string &intersection_class_output_file,
|
||||
std::vector<TurnRestriction> &turn_restrictions);
|
||||
void WriteProfileProperties(const std::string &output_path,
|
||||
const ProfileProperties &properties) const;
|
||||
void FindComponents(unsigned max_edge_id,
|
||||
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
|
||||
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "extractor/node_data_container.hpp"
|
||||
#include "extractor/serialization.hpp"
|
||||
#include "extractor/turn_data_container.hpp"
|
||||
#include "extractor/profile_properties.hpp"
|
||||
|
||||
#include "util/coordinate.hpp"
|
||||
#include "util/packed_vector.hpp"
|
||||
@ -20,6 +21,25 @@ namespace extractor
|
||||
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>
|
||||
void writeEdgeBasedGraph(const boost::filesystem::path &path,
|
||||
EdgeID const max_edge_id,
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "extractor/restriction.hpp"
|
||||
#include "extractor/segment_data_container.hpp"
|
||||
#include "extractor/turn_data_container.hpp"
|
||||
#include "extractor/profile_properties.hpp"
|
||||
|
||||
#include "storage/io.hpp"
|
||||
#include "storage/serialization.hpp"
|
||||
@ -20,6 +21,17 @@ namespace extractor
|
||||
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
|
||||
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.names_file_name);
|
||||
|
||||
WriteProfileProperties(config.profile_properties_output_path,
|
||||
files::writeProfileProperties(config.profile_properties_output_path,
|
||||
scripting_environment.GetProfileProperties());
|
||||
|
||||
TIMER_STOP(extracting);
|
||||
@ -356,14 +356,6 @@ std::vector<TurnRestriction> Extractor::ParseOSMData(ScriptingEnvironment &scrip
|
||||
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,
|
||||
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
|
||||
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
|
||||
|
@ -819,12 +819,9 @@ void Storage::PopulateData(const DataLayout &layout, char *memory_ptr)
|
||||
|
||||
// load profile properties
|
||||
{
|
||||
io::FileReader profile_properties_file(config.properties_path,
|
||||
io::FileReader::VerifyFingerprint);
|
||||
const auto profile_properties_ptr = layout.GetBlockPtr<extractor::ProfileProperties, true>(
|
||||
memory_ptr, DataLayout::PROPERTIES);
|
||||
profile_properties_file.ReadInto(profile_properties_ptr,
|
||||
layout.num_entries[DataLayout::PROPERTIES]);
|
||||
extractor::files::readProfileProperties(config.properties_path, *profile_properties_ptr);
|
||||
}
|
||||
|
||||
// Load intersection data
|
||||
|
Loading…
Reference in New Issue
Block a user