dont quantize distance to 10m, use double for summation

This commit is contained in:
Emil Tin
2012-09-21 22:40:38 +02:00
parent 74cc50f52b
commit 8abbe8db4a
3 changed files with 9 additions and 9 deletions
+2 -2
View File
@@ -90,7 +90,7 @@ void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLe
pathDescription[i].length = ApproximateDistance(pathDescription[i-1].location, pathDescription[i].location);
}
unsigned lengthOfSegment = 0;
double lengthOfSegment = 0;
unsigned durationOfSegment = 0;
unsigned indexOfSegmentBegin = 0;
@@ -193,7 +193,7 @@ void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLe
return;
}
void DescriptionFactory::BuildRouteSummary(const unsigned distance, const unsigned time) {
void DescriptionFactory::BuildRouteSummary(const double distance, const unsigned time) {
summary.startName = startPhantom.nodeBasedEdgeNameID;
summary.destName = targetPhantom.nodeBasedEdgeNameID;
summary.BuildDurationAndLengthStrings(distance, time);
+4 -4
View File
@@ -51,10 +51,10 @@ public:
unsigned startName;
unsigned destName;
_RouteSummary() : lengthString("0"), durationString("0"), startName(0), destName(0) {}
void BuildDurationAndLengthStrings(unsigned distance, unsigned time) {
void BuildDurationAndLengthStrings(double distance, unsigned time) {
//compute distance/duration for route summary
std::ostringstream s;
s << 10*(round(distance/10.));
s << round(distance);
lengthString = s.str();
int travelTime = time/10 + 1;
s.str("");
@@ -63,7 +63,7 @@ public:
}
} summary;
unsigned entireLength;
double entireLength;
//I know, declaring this public is considered bad. I'm lazy
std::vector <SegmentInformation> pathDescription;
@@ -73,7 +73,7 @@ public:
void AppendEncodedPolylineString(std::string &output);
void AppendUnencodedPolylineString(std::string &output);
void AppendSegment(const _Coordinate & coordinate, const _PathData & data);
void BuildRouteSummary(const unsigned distance, const unsigned time);
void BuildRouteSummary(const double distance, const unsigned time);
void SetStartSegment(const PhantomNode & startPhantom);
void SetEndSegment(const PhantomNode & startPhantom);
void AppendEncodedPolylineString(std::string & output, bool isEncoded);