29 #include "../../../datatype/DateTime.h" 
   30 #include "../../../datatype/DateTimeUtils.h" 
   31 #include "../../../datatype/AbstractData.h" 
   34 #include "../timeseries/TimeSeries.h" 
   35 #include "../timeseries/TimeSeriesObservation.h" 
   46 std::auto_ptr<te::dt::AbstractData> 
 
   49   TimeSeriesObservationSet::const_iterator itlower, itupper, itbegin, itend;
 
   53   itlower = tsObs.lower_bound(item);
 
   54   itupper = tsObs.upper_bound(item);
 
   58   if(itlower==itupper && itlower!=tsObs.begin())
 
   61   if(itlower!=tsObs.end() && itupper!=tsObs.end())
 
   63      long distLower = 
GetDistance(itlower->getTime(),time);
 
   64      long distUpper = 
GetDistance(itupper->getTime(),time);
 
   65      if(distLower<distUpper)
 
   66       return std::auto_ptr<te::dt::AbstractData>(itlower->getValue()->clone());
 
   68       return std::auto_ptr<te::dt::AbstractData>(itupper->getValue()->clone()); 
 
   71   if(itlower!=tsObs.end() && itupper==tsObs.end())
 
   72     return std::auto_ptr<te::dt::AbstractData>(itlower->getValue()->clone());
 
   74   return std::auto_ptr<te::dt::AbstractData>(0);
 
virtual ~NearestValueAtTimeInterp()
Virtual destructor. 
 
TEDATATYPEEXPORT long GetDistance(const te::dt::DateTime *t1, const te::dt::DateTime *t2)
It returns the distance between two datetime types. 
 
A class to represent an observation (time and value) of a time series. 
 
std::auto_ptr< te::dt::AbstractData > estimate(const TimeSeries &ts, te::dt::DateTime *time) const 
It estimates a value at a given non-observed time of a time series. 
 
const TimeSeriesObservationSet & getObservations() const 
It returns the time series observations. 
 
A class to represent time series. 
 
NearestValueAtTimeInterp()
Constructor. 
 
virtual AbstractData * clone() const =0
It returns a clone of this object. 
 
boost::multi_index_container< TimeSeriesObservation, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::identity< TimeSeriesObservation > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< TimeSeriesObservation, double,&TimeSeriesObservation::getDouble > >, boost::multi_index::ordered_non_unique< boost::multi_index::const_mem_fun< TimeSeriesObservation, std::string,&TimeSeriesObservation::getString > > > > TimeSeriesObservationSet