#include "StrideSearchTrack.h" #include #include #include namespace StrideSearch { Track::Track(const std::vector>& evs) { for (index_type i = 0; i < evs.size(); ++i) events.emplace(evs[i]->datetime, evs[i]); } std::map Track::getTrackPositions() const { std::map result; for (auto& ev : events) { result.emplace(ev.first, ev.second->latLon); } return result; } std::string Track::infoString() const { std::ostringstream ss; ss << "Track record:\n"; ss << "\tsize() = " << size() << std::endl; // ss << "\tstart date = " << startDate() << std::endl; // ss << "\tend date = " << endDate() << std::endl; return ss.str(); } DateTime Track::startDate() const { DateTime result(0,0,0,0); event_map_type::const_iterator pos; if (!events.empty()) { pos = events.begin(); result = pos->first; } return result; } DateTime Track::endDate() const { DateTime result(0,0,0,0); if (!events.empty()) { const event_map_type::const_iterator pos = events.cend(); result = pos->first; } return result; } }