27 #include "../../../dataaccess/dataset/DataSet.h"
28 #include "../../../datatype/DateTime.h"
29 #include "../../../datatype/DateTimePeriod.h"
30 #include "../../../datatype/DateTimeInstant.h"
31 #include "../../../datatype/SimpleData.h"
32 #include "../../../geometry/Geometry.h"
33 #include "../../../geometry/Utils.h"
38 #include "../observation/ObservationDataSet.h"
39 #include "../observation/ObservationDataSetType.h"
43 int idPropIdx,
const std::string&
id)
45 m_type(tPropIdx, vPropIdx, gPropIdx, idPropIdx, id),
53 m_type(tPropIdx, vPropIdx, gPropIdx, idPropIdx, id),
59 const std::vector<int>& vPropIdxs,
60 int gPropIdx,
int idPropIdx,
const std::string&
id)
62 m_type(tPropIdxs, vPropIdxs, gPropIdx, idPropIdx, id),
68 const std::vector<int>& vPropIdxs,
int gPropIdx,
int idPropIdx,
71 m_type(tPropIdxs, vPropIdxs, gPropIdx, idPropIdx, id),
115 return m_obsDs->getData()->size();
120 return m_obsDs->moveNext();
125 return m_obsDs->movePrevious();
130 return m_obsDs->moveFirst();
135 return m_obsDs->moveBeforeFirst();
140 return m_obsDs->moveLast();
145 return m_obsDs->isAtBegin();
150 return m_obsDs->isBeforeBegin();
155 return m_obsDs->isAtEnd();
160 return m_obsDs->isAfterEnd();
166 int phTimePropIdx = m_type.getBeginTimePropIdx();
167 return std::auto_ptr<te::dt::DateTime>(m_obsDs->getData()->getDateTime(phTimePropIdx));
172 return std::auto_ptr<te::dt::AbstractData>(m_obsDs->getData()->getValue(idx));
177 return std::auto_ptr<te::dt::AbstractData>(m_obsDs->getData()->getValue(m_type.getValuePropIdx()[0]));
182 return m_obsDs->getData()->getDouble(idx);
187 return m_obsDs->getData()->getDouble(m_type.getValuePropIdx()[0]);
192 return m_obsDs->getData()->getInt32(idx);
197 return m_obsDs->getData()->getInt32(m_type.getValuePropIdx()[0]);
202 return std::auto_ptr<te::gm::Geometry>(m_obsDs->getData()->getGeometry(m_type.getGeomPropIdx()));
207 return m_obsDs->getTemporalExtent();
212 return std::auto_ptr<te::st::TimeSeries>(getTimeSeries(m_type.getValuePropIdx()[0],interp));
217 std::auto_ptr<te::st::TimeSeries> result(
new TimeSeries(interp,m_id));
223 if(m_type.getGeomPropIdx()>-1)
225 std::auto_ptr<te::gm::Geometry> geom(ds->
getGeometry(m_type.getGeomPropIdx()));
226 result->setLocation(geom.release());
230 std::auto_ptr<te::dt::DateTime> time(ds->
getDateTime(m_type.getBeginTimePropIdx()));
231 std::auto_ptr<te::dt::AbstractData> value(ds->
getValue(idx));
232 result->add(time.release(), value.release());
238 std::auto_ptr<te::dt::DateTime> time(ds->
getDateTime(m_type.getBeginTimePropIdx()));
239 std::auto_ptr<te::dt::AbstractData> value(ds->
getValue(idx));
240 result->add(time.release(), value.release());
246 std::vector<te::st::TimeSeries*>& result)
248 std::size_t sz = m_type.getValuePropIdx().size();
249 for(
unsigned int i = 0; i<sz; ++i)
252 result.push_back(ts);
259 for(
unsigned int i = 0; i<sz; ++i)
262 if(m_type.getGeomPropIdx()>-1)
264 std::auto_ptr<te::gm::Geometry> geom(ds->
getGeometry(m_type.getGeomPropIdx()));
265 result[i]->setLocation(geom.release());
269 std::auto_ptr<te::dt::DateTime> time(ds->
getDateTime(m_type.getBeginTimePropIdx()));
270 std::auto_ptr<te::dt::AbstractData> value(ds->
getValue(m_type.getValuePropIdx()[i]));
271 result[i]->add(time.release(), value.release());
277 for(
unsigned int i = 0; i<sz; ++i)
280 std::auto_ptr<te::dt::DateTime> time(ds->
getDateTime(m_type.getBeginTimePropIdx()));
281 std::auto_ptr<te::dt::AbstractData> value(ds->
getValue(m_type.getValuePropIdx()[i]));
282 result[i]->add(time.release(), value.release());
290 std::auto_ptr<te::da::DataSet> result(m_obsDs->release());
TimeSeriesDataSet(te::da::DataSet *ds, int tPropIdx, int vPropIdx, int gPropIdx, int idPropIdx, const std::string &id)
Constructor.
virtual std::auto_ptr< te::dt::DateTime > getDateTime(std::size_t i) const =0
Method for retrieving a date and time attribute value.
std::auto_ptr< TimeSeries > getTimeSeries(te::st::AbstractTimeSeriesInterp *interp)
It returns the time series from the DataSet.
std::size_t size() const
It returns the size of the time series observation set.
A class to represent a DataSet that contains observations.
ObservationDataSet * getObservationSet() const
It returns the data set that contains the time series observations.
bool isBeforeBegin() const
int getInt() const
It returns the observed value as double pointed by the internal cursor.
double getDouble() const
It returns the observed value as double pointed by the internal cursor.
A class that contains complemental information about a DataSet that holds observations of a time seri...
This file contains a class to represent a time series data set.
const TimeSeriesDataSetType & getType() const
It returns a reference to the internal time series data set type.
std::auto_ptr< te::da::DataSet > release()
It releases all internal pointers, returning its internal DataSet and invalidating itself...
This file contains a class to represent a time series.
void setId(const std::string &id)
It sets the identifier associated to the time series.
virtual bool moveNext()=0
It moves the internal pointer to the next item of the collection.
std::auto_ptr< te::gm::Geometry > getGeometry() const
It returns the geometry pointed by the internal cursor.
void getTimeSeriesSet(te::st::AbstractTimeSeriesInterp *interp, std::vector< te::st::TimeSeries * > &result)
It returns all time series from the DataSet.
std::auto_ptr< te::dt::DateTime > getTime() const
virtual std::auto_ptr< te::gm::Geometry > getGeometry(std::size_t i) const =0
Method for retrieving a geometric attribute value.
A dataset is the unit of information manipulated by the data access module of TerraLib.
virtual ~TimeSeriesDataSet()
It returns the trajectory geometry property.
An abstract class for an interpolation function or interpolator that estimate a value at non-observav...
An abstract class to represent a period of date and time.
A class to represent time series.
std::auto_ptr< te::dt::AbstractData > getValue() const
It returns the observed value pointed by the internal cursor.
te::dt::DateTimePeriod * getTemporalExtent() const
It returns the temporal extent of the time series observations.
std::string getId() const
It returns the identifier associated to the time series.
virtual std::auto_ptr< te::dt::AbstractData > getValue(std::size_t i) const
Method for retrieving any other type of data value stored in the data source.