Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaria Volvenkova <d.volvenkova@corp.mail.ru>2020-03-12 19:37:28 +0300
committerjbenua <harumm.scarumm@gmail.com>2020-03-12 19:53:14 +0300
commitdb865a66ff1a89e1de90099ca18fa4c14037bf1c (patch)
tree8451653185fd9140f3986ba4885e6f350ee6fd4b
parent58b8af888afd9f904716dd3057ca80bb6f3aef00 (diff)
[bookmarks] Support float altitudes in kml files.py-modules-10.0.0
-rw-r--r--kml/serdes.cpp6
-rw-r--r--map/map_tests/bookmarks_test.cpp6
2 files changed, 7 insertions, 5 deletions
diff --git a/kml/serdes.cpp b/kml/serdes.cpp
index 8fbab5efa6..e5787c39e2 100644
--- a/kml/serdes.cpp
+++ b/kml/serdes.cpp
@@ -532,9 +532,9 @@ bool ParsePoint(std::string const & s, char const * delim, m2::PointD & pt,
{
pt = mercator::FromLatLon(lat, lon);
- int rawAltitude;
- if (++iter && strings::to_int(*iter, rawAltitude))
- altitude = static_cast<geometry::Altitude>(rawAltitude);
+ double rawAltitude;
+ if (++iter && strings::to_double(*iter, rawAltitude))
+ altitude = static_cast<geometry::Altitude>(round(rawAltitude));
return true;
}
diff --git a/map/map_tests/bookmarks_test.cpp b/map/map_tests/bookmarks_test.cpp
index fcd1d579c9..69abe6e4ce 100644
--- a/map/map_tests/bookmarks_test.cpp
+++ b/map/map_tests/bookmarks_test.cpp
@@ -1123,12 +1123,14 @@ UNIT_CLASS_TEST(Runner, TrackParsingTest_1)
dp::Color(171, 230, 0, 255),
dp::Color(0, 230, 117, 255),
dp::Color(0, 59, 230, 255)}};
- array<double, 4> const length = {{3525.46839061, 27172.44338132, 27046.0456586, 23967.35765800}};
-
+ array<double, 4> const length = {{3525.46839061, 27174.11393166, 27046.0456586, 23967.35765800}};
+ array<geometry::Altitude, 4> const altitudes = {{0, 27, -3, -2}};
size_t i = 0;
for (auto trackId : bmManager.GetTrackIds(catId))
{
auto const * track = bmManager.GetTrack(trackId);
+ TEST_EQUAL(track->GetPointsWithAltitudes()[0].GetAltitude(), altitudes[i],
+ (track->GetPointsWithAltitudes()[0].GetAltitude(), altitudes[i]));
TEST_EQUAL(names[i], track->GetName(), ());
TEST(fabs(track->GetLengthMeters() - length[i]) < 1.0E-6, (track->GetLengthMeters(), length[i]));
TEST_GREATER(track->GetLayerCount(), 0, ());