stream-line code in PolylineCompressor, apply range-based for loop again
This commit is contained in:
parent
7817384e3c
commit
186ad5d444
@ -76,17 +76,13 @@ JSON::String PolylineCompressor::printEncodedString(const std::vector<SegmentInf
|
|||||||
std::vector<int> delta_numbers;
|
std::vector<int> delta_numbers;
|
||||||
if (!polyline.empty())
|
if (!polyline.empty())
|
||||||
{
|
{
|
||||||
FixedPointCoordinate last_coordinate = polyline[0].location;
|
FixedPointCoordinate last_coordinate = FixedPointCoordinate{0, 0};
|
||||||
delta_numbers.emplace_back(last_coordinate.lat);
|
for (const auto &segment : polyline)
|
||||||
delta_numbers.emplace_back(last_coordinate.lon);
|
|
||||||
// iterate after skipping the first, already handled, segment
|
|
||||||
for (auto it = ++polyline.cbegin(); it != polyline.cend(); ++it)
|
|
||||||
{
|
{
|
||||||
const auto &segment = *it;
|
|
||||||
if (segment.necessary)
|
if (segment.necessary)
|
||||||
{
|
{
|
||||||
int lat_diff = segment.location.lat - last_coordinate.lat;
|
const int lat_diff = segment.location.lat - last_coordinate.lat;
|
||||||
int lon_diff = segment.location.lon - last_coordinate.lon;
|
const int lon_diff = segment.location.lon - last_coordinate.lon;
|
||||||
delta_numbers.emplace_back(lat_diff);
|
delta_numbers.emplace_back(lat_diff);
|
||||||
delta_numbers.emplace_back(lon_diff);
|
delta_numbers.emplace_back(lon_diff);
|
||||||
last_coordinate = segment.location;
|
last_coordinate = segment.location;
|
||||||
|
Loading…
Reference in New Issue
Block a user