mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-21 13:53:37 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
37
libs/map/track_statistics.hpp
Normal file
37
libs/map/track_statistics.hpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#pragma once
|
||||
|
||||
#include "platform/location.hpp"
|
||||
|
||||
#include "kml/types.hpp"
|
||||
|
||||
struct TrackStatistics
|
||||
{
|
||||
using Points = kml::MultiGeometry::LineT;
|
||||
using Timestamps = kml::MultiGeometry::TimeT;
|
||||
|
||||
TrackStatistics();
|
||||
explicit TrackStatistics(kml::MultiGeometry const & geometry);
|
||||
|
||||
double m_length;
|
||||
double m_duration;
|
||||
double m_ascent;
|
||||
double m_descent;
|
||||
geometry::Altitude m_minElevation;
|
||||
geometry::Altitude m_maxElevation;
|
||||
|
||||
std::string GetFormattedLength() const;
|
||||
std::string GetFormattedDuration() const;
|
||||
std::string GetFormattedAscent() const;
|
||||
std::string GetFormattedDescent() const;
|
||||
std::string GetFormattedMinElevation() const;
|
||||
std::string GetFormattedMaxElevation() const;
|
||||
|
||||
void AddGpsInfoPoint(location::GpsInfo const & point);
|
||||
private:
|
||||
void AddPoints(Points const & points);
|
||||
void AddTimestamps(Timestamps const & timestamps);
|
||||
bool HasNoPoints() const;
|
||||
|
||||
geometry::PointWithAltitude m_previousPoint;
|
||||
double m_previousTimestamp;
|
||||
};
|
||||
Reference in New Issue
Block a user