26 #ifndef __TERRALIB_ST_INTERNAL_OBSERVATIONDATASETINFO_H
27 #define __TERRALIB_ST_INTERNAL_OBSERVATIONDATASETINFO_H
30 #include "../../Config.h"
33 #include "../../../dataaccess/datasource/DataSourceInfo.h"
40 #include <boost/ptr_container/ptr_vector.hpp>
42 namespace te {
namespace da {
class DataSourceInfo; } }
43 namespace te {
namespace dt {
class DateTimeProperty;
class DateTime;
44 class DateTimeInstant;
class DateTimePeriod;} }
45 namespace te {
namespace gm {
class GeometryProperty;
class Geometry; } }
81 const std::string& dsName);
514 std::unique_ptr<te::gm::Geometry>
m_geom;
A class that represents a data source component.
An abstract class to represent an instant of date and time.
An abstract class to represent a period of date and time.
The type for date and time types: date, date period, date duration, time duration,...
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
A class that contains infos about a DataSet that contains observations.
void setTime(te::dt::DateTime *t)
It sets the phenomenon time associated to all observations.
const te::da::DataSourceInfo & getDataSourceInfo() const
It returns the information about the DataSource.
std::vector< std::string > m_observedPropName
Observed properties: the names of DataSet properties that are observed.
const te::gm::Geometry * getSpatialExtent() const
It returns the spatial extent of the observations.
void setSpatialExtent(te::gm::Geometry *se)
It sets the spatial extent of all observations.
bool hasTemporalExtent() const
std::unique_ptr< te::gm::Geometry > m_geom
Geometry: the geometry, when the spatial location of the observations are not in the DataSet.
void setObsPropInfo(const std::vector< int > &props)
It sets the indexes of the DataSet properties that are observed over time.
std::unique_ptr< te::dt::DateTimeProperty > m_resultTimePropInfo
Result time: information about the DataSet property that contains the result time.
const te::dt::DateTime * getTime() const
It returns the phenomenon time.
void setRsTime(te::dt::DateTimeInstant *t)
It sets the result time associated to all observations.
boost::ptr_vector< te::dt::DateTimeProperty > m_phTimePropInfo
Phenomenon time: information about the DataSet properties that contain the phenomenon time.
ObservationDataSetInfo(const ObservationDataSetInfo &obs)
Copy constructor.
boost::ptr_vector< te::dt::DateTimeProperty > m_validTimePropInfo
Valid time: information about the DataSet properties that contain the valid time.
const std::vector< std::string > & getObsPropNames() const
It returns the names of the DataSet properties that are observed over time.
void setIdPropInfo(int idProp)
It sets the index of the DataSet property that contains identifiers that groups the observations.
const te::dt::DateTimePeriod * getVlTime() const
It returns the valid time.
void setId(const std::string &id)
It sets the identifier associated to all observations.
void setGeomPropInfo(te::gm::GeometryProperty *prop)
It sets the info about the property that contains the observation location.
const te::gm::Geometry * getGeometry() const
It returns the geometry associated to all observations.
void setVlTime(te::dt::DateTimePeriod *t)
It sets the valid time associated to all observations.
void setVlTimePropInfo(te::dt::DateTimeProperty *tpInfo)
It sets the property info that contains the valid time.
ObservationDataSetInfo(const te::da::DataSourceInfo &dsInfo, const std::string &dsName)
Constructor.
std::vector< int > m_observedPropIdx
Observed properties: the indexes of DataSet properties that are observed.
std::unique_ptr< te::dt::DateTimePeriod > m_temporalExtent
Temporal extent.
const te::dt::DateTimeProperty * getRsTimePropInfo() const
It returns the DataSet property information that contains the result time.
std::unique_ptr< te::dt::DateTimeInstant > m_resultTime
Result time: the result time, when the time is not inside a DataSet.
int m_idPropIndex
Id: the index of DataSet property that contain the id of each group of observation.
std::string getObsId() const
It returns the identifier associated to all observations.
const te::gm::GeometryProperty * getGeomPropInfo() const
It returns the DataSet property information that contains the geometry.
void setRsTimePropInfo(te::dt::DateTimeProperty *tpInfo)
It sets the property info that contains the result time.
std::unique_ptr< te::gm::Geometry > m_spatialExtent
Spatial extent.
const te::dt::DateTimeProperty * getVlEndTimePropInfo() const
It returns the DataSet property information that contains the valid end time.
te::da::DataSourceInfo m_dsInfo
Information about the DataSource from which the DataSet come.
std::string m_dsName
The DataSet name.
virtual ~ObservationDataSetInfo()
Virtual destructor.
std::unique_ptr< te::dt::DateTime > m_phTime
Phenomenon time: the phenomenon time, when the time is not inside a DataSet.
bool hasRsTimeProp() const
void setIdPropInfo(const std::string &idProp)
It sets the name of the DataSet property that contains identifiers that groups the observations.
std::string getGeomPropName() const
It returns the name of the property that is a geometry property.
std::string getDSId() const
It returns an id (as a string) that identifies the DataSet.
std::string m_id
Id: the id associated to all observations.
std::string getIdPropName() const
It returns the name of the property that contains identifiers that groups observations.
int getIdPropIdx() const
It returns the index of the property that contains identifiers that groups observations.
const te::dt::DateTimeProperty * getVlBeginTimePropInfo() const
It returns the DataSet property information that contains the valid beginning time.
void setTimePropInfo(te::dt::DateTimeProperty *tpInfo)
It sets the property info that contains the phenomenon time.
std::string getDataSetName() const
It returns the DataSet name.
bool hasVlTimeProp() const
bool hasTwoTimeProp() const
const std::vector< int > & getObsPropIdxs() const
It returns the indexes of the DataSet properties that are observed over time.
std::string getEndTimePropName() const
It returns the name of the DataSet property that contains the phenomenon end time.
void setVlTimePropInfo(te::dt::DateTimeProperty *tpInfo1, te::dt::DateTimeProperty *tpInfo2)
It sets the property info that contains the valid time.
bool hasSpatialExtent() const
void setTemporalExtent(te::dt::DateTimePeriod *te)
It sets the temporal extent of all observations.
void setTimePropInfo(te::dt::DateTimeProperty *tpInfo1, te::dt::DateTimeProperty *tpInfo2)
It sets the property info that contains the phenomenon time.
const te::dt::DateTimeProperty * getEndTimePropInfo() const
It returns the DataSet property information that contains the phenomenon end time.
std::unique_ptr< te::gm::GeometryProperty > m_geomPropInfo
Geometry: information about the property that has the observation spatial location.
std::string getBeginTimePropName() const
It returns the name of the DataSet property that contains the phenomenon beginning time.
void setDataSourceInfo(const te::da::DataSourceInfo &dsinfo, const std::string &dsName)
It sets the information about the DataSource and the DataSet name that contains the observations.
void setGeometry(te::gm::Geometry *geom)
It sets the geometry associated to all observations.
void setObsPropInfo(const std::vector< std::string > &props)
It sets the names of the DataSet properties that are observed over time.
std::string m_idPropName
Id: the name of DataSet property that contain the id of each group of observation.
bool hasTwoVlTimeProp() const
const te::dt::DateTimeInstant * getRsTime() const
It returns the result time.
std::unique_ptr< te::dt::DateTimePeriod > m_validTime
Valid time: the valid time, when the time is not inside a DataSet.
const te::dt::DateTimePeriod * getTemporalExtent() const
It returns the temporal extent of the observations.
const ObservationDataSetInfo & operator=(const ObservationDataSetInfo &rhs)
Assignment operator.
const te::dt::DateTimeProperty * getBeginTimePropInfo() const
It returns the DataSet property information that contains the phenomenon beginning time.
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.