Remove duplicated point in polyline encoded data

First point was outputted twice.
Add test case.
This commit is contained in:
Guillaume Beraudo
2014-06-23 15:19:27 +02:00
parent bee18dba54
commit 6ee2d1103e
3 changed files with 36 additions and 1 deletions
+3 -1
View File
@@ -79,8 +79,10 @@ JSON::String PolylineCompressor::printEncodedString(const std::vector<SegmentInf
FixedPointCoordinate last_coordinate = polyline[0].location;
delta_numbers.emplace_back(last_coordinate.lat);
delta_numbers.emplace_back(last_coordinate.lon);
for (const auto &segment : polyline)
// iterate after skipping the first, already handled, segment
for (auto it = ++polyline.cbegin(); it != polyline.cend(); ++it)
{
const auto &segment = *it;
if (segment.necessary)
{
int lat_diff = segment.location.lat - last_coordinate.lat;