changing file format for coordinates to be canonical

This commit is contained in:
Dennis Luxen 2013-09-26 11:52:15 +02:00
parent 043c8be747
commit e9d93ae210
2 changed files with 14 additions and 5 deletions

View File

@ -114,13 +114,17 @@ private:
SimpleLogger().Write(logDEBUG) << "Loading node data";
NodeInfo current_node;
while(!nodes_input_stream.eof()) {
unsigned number_of_coordinates = 0;
nodes_input_stream.read(
(char *)&number_of_coordinates,
sizeof(unsigned)
);
m_coordinate_list.resize(number_of_coordinates);
for(unsigned i = 0; i < number_of_coordinates; ++i) {
nodes_input_stream.read((char *)&current_node, sizeof(NodeInfo));
m_coordinate_list.push_back(
FixedPointCoordinate(
m_coordinate_list[i] = FixedPointCoordinate(
current_node.lat,
current_node.lon
)
);
}
std::vector<FixedPointCoordinate>(m_coordinate_list).swap(m_coordinate_list);

View File

@ -212,7 +212,12 @@ int main (int argc, char *argv[]) {
SimpleLogger().Write() << "writing node map ...";
std::ofstream mapOutFile(nodeOut.c_str(), std::ios::binary);
mapOutFile.write((char *)&(internalToExternalNodeMapping[0]), internalToExternalNodeMapping.size()*sizeof(NodeInfo));
const unsigned size_of_mapping = internalToExternalNodeMapping.size();
mapOutFile.write((char *)&size_of_mapping, sizeof(unsigned));
mapOutFile.write(
(char *)&(internalToExternalNodeMapping[0]),
size_of_mapping*sizeof(NodeInfo)
);
mapOutFile.close();
std::vector<NodeInfo>().swap(internalToExternalNodeMapping);