From 0ee4fb605a4c68cd0b3960752accd9ae12af5b51 Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Thu, 9 Jun 2016 16:36:32 +0300 Subject: [PATCH] Calculation min and max altitude. --- .../feature_segments_checker.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/generator/feature_segments_checker/feature_segments_checker.cpp b/generator/feature_segments_checker/feature_segments_checker.cpp index f3a77d649a..4632446a72 100644 --- a/generator/feature_segments_checker/feature_segments_checker.cpp +++ b/generator/feature_segments_checker/feature_segments_checker.cpp @@ -122,6 +122,8 @@ public: uint32_t m_roadPointCount; /// Number of features for GetBicycleModel().IsRoad(feature) != true. uint32_t m_notRoadCount; + generator::SrtmTile::THeight m_minAltitude = generator::SrtmTile::kInvalidHeight; + generator::SrtmTile::THeight m_maxAltitude = generator::SrtmTile::kInvalidHeight; Processor(generator::SrtmTileManager & manager) : m_srtmManager(manager), m_roadCount(0), m_emptyRoadCount(0), m_roadPointCount(0), m_notRoadCount(0) @@ -171,6 +173,15 @@ public: pointDists[i] = distFromStartMeters; } + // Min and max altitudes. + for (auto const a : pointAltitudes) + { + if (m_minAltitude == generator::SrtmTile::kInvalidHeight || a < m_minAltitude) + m_minAltitude = a; + if (m_maxAltitude == generator::SrtmTile::kInvalidHeight || a > m_maxAltitude) + m_maxAltitude = a; + } + // Feature length and feature segment length. double realFeatureLengthMeters = 0.0; for (uint32_t i = 0; i + 1 < numPoints; ++i) @@ -320,7 +331,8 @@ int main(int argc, char ** argv) PrintCont(processor.m_leastSquaresDiff, "Altitude deviation of feature points from least squares line.", " internal feature point(s) deviate from linear model with ", " meter(s)"); - cout << endl << "Road feature count = " << processor.m_roadCount << endl; + cout << endl << FLAGS_mwm_file_path << endl; + cout << "Road feature count = " << processor.m_roadCount << endl; cout << "Empty road feature count = " << processor.m_emptyRoadCount << endl; cout << "Unique road points count = " << processor.m_uniqueRoadPoints.size() << endl; cout << "All road point count = " << processor.m_roadPointCount << endl; @@ -329,5 +341,7 @@ int main(int argc, char ** argv) << CalculateEntropy(processor.m_diffFromLinear) << endl; cout << "Entropy for altitude deviation of feature points from least squares line = " << CalculateEntropy(processor.m_leastSquaresDiff) << endl; + cout << "Min altitude of the mwm = " << processor.m_minAltitude << endl; + cout << "Max altitude of the mwm = " << processor.m_maxAltitude << endl; return 0; }