27 #include "../../../geometry/Polygon.h" 
   28 #include "../../../geometry/Point.h" 
   29 #include "../../../geometry/Utils.h" 
   30 #include "../../../datatype/DateTime.h" 
   31 #include "../../../datatype/DateTimeInstant.h" 
   32 #include "../../../datatype/DateTimeUtils.h" 
   37 #include "../interpolator/AbstractCoverageSeriesInterp.h" 
   38 #include "../interpolator/NearestCoverageAtTimeInterp.h" 
   51   m_interpolator(interp),
 
   59   return m_observations;
 
   69   return m_sextent.get();
 
   90   m_observations.insert(o);
 
   95   return m_observations.size();
 
  111   CoverageSeriesObservationSet::const_iterator itcs = m_observations.find(aux);
 
  119   CoverageSeriesObservationSet::const_iterator it = m_observations.find(aux);
 
  120   if(it!=m_observations.end())
 
  121     return std::auto_ptr<te::st::Coverage>(it->second->clone());
 
  123   return std::auto_ptr<te::st::Coverage>(m_interpolator->estimate(*
this,t)); 
 
  126 std::auto_ptr<te::st::TimeSeries> 
 
  130   result->setLocation(static_cast<te::gm::Geometry*>(l.
clone()));
 
  132   CoverageSeriesObservationSet::const_iterator it = m_observations.begin();
 
  133   while(it!=m_observations.end())
 
  136     std::auto_ptr<te::dt::AbstractData> value(it->second->getValue(l,p));
 
  137     result->add(dt, value.release());
 
  145   CoverageSeriesObservationSet::const_iterator it = m_observations.begin();
 
  146   if(it==m_observations.end())
 
  149   unsigned int numts = it->second->getNumberOfProperties();
 
  150   for(
unsigned int i=0; i<numts; ++i)
 
  153     ts->setLocation(static_cast<te::gm::Geometry*>(l.
clone()));
 
  157   while(it!=m_observations.end())
 
  159      boost::ptr_vector<te::dt::AbstractData> values;
 
  160      it->second->getValue(l,values);
 
  161      for(
unsigned int i=0; i<numts; ++i)
 
  162        r[i].add(static_cast<te::dt::DateTime*>(it->first->clone()), &values[i]);
 
  171   CoverageSeriesObservationSet::const_iterator it = m_observations.begin();
 
  172   if(it==m_observations.end())
 
  177   boost::ptr_vector<te::dt::AbstractData> values;
 
  178   it->second->getValue(l,p,values);
 
  180   for(
unsigned int i=0; i<values.size(); ++i)
 
  183     result->setLocation(static_cast<te::gm::Geometry*>(l.
clone()));
 
  184     result->add(static_cast<te::dt::DateTime*>(it->first->clone()), &values[i]);
 
  191   while(it!=m_observations.end())
 
  194     it->second->getValue(l,p,values);
 
  196     for(
unsigned int i=0; i<values.size(); ++i)
 
  197       r[i].add(static_cast<te::dt::DateTime*>(it->first->clone()), &values[i]);
 
  206                                             boost::ptr_vector<TimeSeries>& r)
 const 
  210   getTimeSeries(*pol, p, r); 
 
  216   CoverageSeriesObservationSet::const_iterator it = m_observations.begin();
 
  217   if(it==m_observations.end())
 
  222   boost::ptr_vector<te::dt::AbstractData> values;
 
  223   it->second->getValue(l,values);
 
  225   for(
unsigned int i=0; i<values.size(); ++i)
 
  228     result->setLocation(static_cast<te::gm::Geometry*>(l.
clone()));
 
  229     result->add(static_cast<te::dt::DateTime*>(it->first->clone()), &values[i]);
 
  236   while(it!=m_observations.end())
 
  239     it->second->getValue(l,values);
 
  241     for(
unsigned int i=0; i<values.size(); ++i)
 
  242       r[i].add(static_cast<te::dt::DateTime*>(it->first->clone()), &values[i]);
 
  254   getTimeSeries(*pol, r); 
 
  261   std::auto_ptr<te::st::CoverageSeries> aux = getPatch(t,tr);
 
  262   return aux->getTimeSeries(l,p);
 
  268   std::auto_ptr<te::st::CoverageSeries> aux = getPatch(t,tr);
 
  269   return aux->getTimeSeries(l,r);
 
  275   std::auto_ptr<te::st::CoverageSeries> aux = getPatch(t,tr);
 
  276   return aux->getTimeSeries(l,p,r);
 
  283   std::auto_ptr<te::st::CoverageSeries> aux = getPatch(t,tr);
 
  284   return aux->getTimeSeries(e,p,r);
 
  291   std::auto_ptr<te::st::CoverageSeries> aux = getPatch(t,tr);
 
  292   return aux->getTimeSeries(l,r);
 
  298   std::auto_ptr<te::st::CoverageSeries> aux = getPatch(t,tr);
 
  299   return aux->getTimeSeries(e,r);
 
  302 std::auto_ptr<te::st::CoverageSeries> 
 
  307   CoverageSeriesObservationSet::const_iterator itb = m_observations.end();
 
  308   CoverageSeriesObservationSet::const_iterator ite = m_observations.end();
 
  314     itb = m_observations.upper_bound(shrdt);
 
  318     itb = m_observations.find(shrdt);
 
  319     if(itb==m_observations.end())
 
  320       itb = m_observations.upper_bound(shrdt);
 
  324     itb = m_observations.begin();
 
  325     ite = m_observations.find(shrdt);
 
  326     if(ite==m_observations.end())
 
  327       ite = m_observations.upper_bound(shrdt);
 
  331     itb = m_observations.begin();
 
  332     ite = m_observations.upper_bound(shrdt); 
 
  339     itb = m_observations.find(t1);
 
  340     if(itb==m_observations.end())
 
  341       itb = m_observations.upper_bound(t1);
 
  342     ite = m_observations.upper_bound(t2); 
 
  346     std::pair<CoverageSeriesObservationSet::const_iterator, CoverageSeriesObservationSet::const_iterator> itPair;
 
  347     itPair = m_observations.equal_range(shrdt);
 
  350     if(ite!= m_observations.end())
 
  363 std::auto_ptr<te::st::CoverageSeries> 
 
  366   return std::auto_ptr<te::st::CoverageSeries>();
 
  369 std::auto_ptr<te::st::CoverageSeries> 
 
  372    return std::auto_ptr<te::st::CoverageSeries>();
 
  376 std::auto_ptr<te::st::CoverageSeries> 
 
  380    return std::auto_ptr<te::st::CoverageSeries>();
 
  384 std::auto_ptr<te::st::CoverageSeries> 
 
  388    return std::auto_ptr<te::st::CoverageSeries>();
 
An abstract class for interpolation function or interpolator that estimate coverages at non-observed ...
 
std::auto_ptr< te::st::TimeSeries > getTimeSeries(const te::gm::Point &l, unsigned int p=0) const 
It returns a time series of the p-th property associated to a given location. 
 
This file contains a class to represent a CoverageSeries observation. 
 
CoverageSeriesIterator end() const 
It returns an iterator that points to the end of the time series. 
 
CoverageSeriesIterator begin() const 
It returns an iterator that points to the first observation of the point coverage. 
 
std::map< te::dt::DateTimeShrPtr, CoverageShrPtr, CompareShrDateTime > CoverageSeriesObservationSet
 
boost::shared_ptr< te::st::Coverage > CoverageShrPtr
 
std::pair< te::dt::DateTimeShrPtr, CoverageShrPtr > CoverageSeriesObservation
 
virtual DateTimeInstant * getInitialInstant() const =0
It gets the initial date time instant. 
 
CoverageType
An enum for the types of coverage. 
 
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991). 
 
SpatialRelation
Spatial relations between geometric objects. 
 
boost::shared_ptr< DateTime > DateTimeShrPtr
 
virtual te::dt::AbstractData * clone() const 
It clones the linestring. 
 
A class to traverse the observations of a CoverageSeries. 
 
A point with x and y coordinate values. 
 
An Envelope defines a 2D rectangular region. 
 
virtual te::dt::AbstractData * clone() const 
It clones the point. 
 
const CoverageSeriesObservationSet & getObservations() const 
It returns the coverage series observations. 
 
virtual DateTimeInstant * getFinalInstant() const =0
It gets the final date time instant. 
 
CoverageSeriesIterator at(te::dt::DateTime *t) const 
It returns an iterator that points to an observation at a given time. 
 
CoverageSeries()
A constructor. 
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
This file contains a class to represent a coverage series. 
 
std::auto_ptr< CoverageSeries > getPatch(const te::dt::DateTime &dt, te::dt::TemporalRelation r=te::dt::DURING) const 
It returns a subset or patch of the coverage series considering a given temporal restriction. 
 
std::size_t size() const 
It returns the size of the coverage series observations. 
 
A class to represent a coverage series. 
 
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings. 
 
An abstract class to represent a period of date and time. 
 
A class to represent time series. 
 
CoverageType getType() const 
It returns the type of the internal coverages. 
 
te::gm::Geometry * getSpatialExtent() const 
It returns the spatial extent of the coverage series. 
 
An abstract class to represent a coverage. 
 
It is an interpolation function the estimates the nearest coverage at a given non-observed time...
 
std::auto_ptr< te::dt::DateTimePeriod > getTemporalExtent() const 
It returns the temporal extent of the coverage series. 
 
TEDATATYPEEXPORT DateTimePeriod * GetTemporalExtent(const DateTime *t1, const DateTime *t2)
It returns the temporal extent of two date and time types. 
 
virtual ~CoverageSeries()
Virtual destructor. 
 
virtual AbstractData * clone() const =0
It returns a clone of this object. 
 
void add(te::dt::DateTime *time, te::st::Coverage *cv)
It adds an observation (time and coverage) into the coverage series. 
 
TEGEOMEXPORT Geometry * GetGeomFromEnvelope(const Envelope *const e, int srid)
It creates a Geometry (a polygon) from the given envelope. 
 
std::auto_ptr< te::st::Coverage > getCoverage(te::dt::DateTime *t) const 
It returns the coverage associated to a given date and time.