27 #include "../../../common/StringUtils.h"
28 #include "../../../geometry/Geometry.h"
29 #include "../../../geometry/GeometryProperty.h"
30 #include "../../../datatype/DateTimeProperty.h"
31 #include "../../../datatype/DateTime.h"
32 #include "../../../datatype/DateTimeInstant.h"
33 #include "../../../datatype/DateTimePeriod.h"
39 const std::string& dsName)
44 m_validTimePropInfo(),
46 m_resultTimePropInfo(),
74 m_phTimePropInfo.clear();
78 m_phTimePropInfo.push_back(prop);
83 m_phTime.reset(dynamic_cast<te::dt::DateTime*>(rhs.
m_phTime->clone()));
85 m_validTimePropInfo.clear();
89 m_validTimePropInfo.push_back(prop);
94 m_validTime.reset(dynamic_cast<te::dt::DateTimePeriod*>(rhs.
m_validTime->clone()));
96 m_resultTimePropInfo.reset();
100 m_resultTimePropInfo.reset(propAux);
103 m_resultTime.reset();
105 m_resultTime.reset(dynamic_cast<te::dt::DateTimeInstant*>(rhs.
m_resultTime->clone()));
110 m_geomPropInfo.reset();
114 m_geomPropInfo.reset(prop);
119 m_geom.reset(dynamic_cast<te::gm::Geometry*>(rhs.
m_geom.get()->clone()));
125 m_spatialExtent.reset();
127 m_spatialExtent.reset(dynamic_cast<te::gm::Geometry*>(rhs.
m_spatialExtent.get()->clone()));
129 m_temporalExtent.reset();
131 m_temporalExtent.reset(dynamic_cast<te::dt::DateTimePeriod*>(rhs.
m_temporalExtent.get()->clone()));
137 const std::string& dsName)
145 m_phTimePropInfo.clear();
146 m_phTimePropInfo.push_back(std::auto_ptr<te::dt::DateTimeProperty>(tpInfo));
152 m_phTimePropInfo.clear();
153 m_phTimePropInfo.push_back(std::auto_ptr<te::dt::DateTimeProperty>(tpInfo1));
154 m_phTimePropInfo.push_back(std::auto_ptr<te::dt::DateTimeProperty>(tpInfo2));
164 m_validTimePropInfo.clear();
165 m_validTimePropInfo.push_back(std::auto_ptr<te::dt::DateTimeProperty>(tpInfo));
171 m_validTimePropInfo.clear();
172 m_validTimePropInfo.push_back(std::auto_ptr<te::dt::DateTimeProperty>(tpInfo1));
173 m_validTimePropInfo.push_back(std::auto_ptr<te::dt::DateTimeProperty>(tpInfo2));
178 m_validTime.reset(t);
183 m_resultTimePropInfo.reset(tpInfo);
188 m_resultTime.reset(t);
193 m_observedPropIdx = props;
198 m_observedPropName = props;
203 m_geomPropInfo.reset(prop);
213 m_idPropIndex = idProp;
218 m_idPropName = idProp;
228 m_spatialExtent.reset(se);
233 m_temporalExtent.reset(te);
238 return m_phTimePropInfo.size()>0;
243 return m_phTimePropInfo.size()==2;
248 return m_phTime.get()!=0;
253 return m_validTimePropInfo.size()>0;
258 return m_validTimePropInfo.size()==2;
263 return m_validTime.get()!=0;
268 return m_resultTimePropInfo.get()!=0;
273 return m_resultTime.get()!=0;
278 return m_geomPropInfo.get()!=0;
283 return m_geom.get()!=0;
288 if(m_idPropIndex >= 0 || !m_idPropName.empty())
295 return !m_id.empty();
300 return (m_spatialExtent.get()!=0);
305 return (m_temporalExtent.get()!=0);
324 return &m_phTimePropInfo[0];
332 return &m_phTimePropInfo[1];
339 return m_phTime.get();
346 return &m_validTimePropInfo[0];
353 if(hasTwoVlTimeProp())
354 return &m_validTimePropInfo[1];
361 return m_validTime.get();
367 return m_resultTimePropInfo.get();
373 return m_resultTime.get();
376 const std::vector<int>&
379 return m_observedPropIdx;
382 const std::vector<std::string>&
385 return m_observedPropName;
391 return m_geomPropInfo.get();
402 return m_idPropIndex;
428 return m_phTimePropInfo[0].getName();
445 return m_phTimePropInfo[1].getName();
461 return m_geomPropInfo->getName();
468 if(hasTemporalExtent())
469 return m_temporalExtent.get();
476 if(hasSpatialExtent())
477 return m_spatialExtent.get();
void setSpatialExtent(te::gm::Geometry *se)
It sets the spatial extent of all observations.
void setRsTime(te::dt::DateTimeInstant *t)
It sets the result time associated to all observations.
std::string getBeginTimePropName() const
It returns the name of the DataSet property that contains the phenomenon beginning time...
void setVlTime(te::dt::DateTimePeriod *t)
It sets the valid time associated to all observations.
boost::ptr_vector< te::dt::DateTimeProperty > m_validTimePropInfo
Valid time: information about the DataSet properties that contain the valid time. ...
const te::dt::DateTime * getTime() const
It returns the phenomenon time.
This file contains a class called ObservationDataSetInfo.
bool hasVlTimeProp() const
std::string getObsId() const
It returns the identifier associated to all observations.
const te::dt::DateTimeInstant * getRsTime() const
It returns the result time.
A class that contains infos about a DataSet that contains observations.
const te::gm::Geometry * getSpatialExtent() const
It returns the spatial extent of the observations.
const std::vector< int > & getObsPropIdxs() const
It returns the indexes of the DataSet properties that are observed over time.
std::string getGeomPropName() const
It returns the name of the property that is a geometry property.
te::da::DataSourceInfo m_dsInfo
Information about the DataSource from which the DataSet come.
std::auto_ptr< te::dt::DateTimeProperty > m_resultTimePropInfo
Result time: information about the DataSet property that contains the result time.
const te::dt::DateTimePeriod * getVlTime() const
It returns the valid time.
std::string m_dsName
The DataSet name.
bool hasTwoTimeProp() const
std::string Convert2UCase(const std::string &value)
It converts a string to upper case.
std::auto_ptr< te::dt::DateTimePeriod > m_validTime
Valid time: the valid time, when the time is not inside a DataSet.
bool hasRsTimeProp() const
std::auto_ptr< te::gm::Geometry > m_geom
Geometry: the geometry, when the spatial location of the observations are not in the DataSet...
std::auto_ptr< te::gm::Geometry > m_spatialExtent
Spatial extent.
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...
bool hasTemporalExtent() const
void setTime(te::dt::DateTime *t)
It sets the phenomenon time associated to all observations.
const te::gm::GeometryProperty * getGeomPropInfo() const
It returns the DataSet property information that contains the geometry.
const te::gm::Geometry * getGeometry() const
It returns the geometry associated to all observations.
bool hasSpatialExtent() const
void setVlTimePropInfo(te::dt::DateTimeProperty *tpInfo)
It sets the property info that contains the valid time.
std::auto_ptr< te::gm::GeometryProperty > m_geomPropInfo
Geometry: information about the property that has the observation spatial location.
std::vector< std::string > m_observedPropName
Observed properties: the names of DataSet properties that are observed.
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::DateTimeProperty * getVlEndTimePropInfo() const
It returns the DataSet property information that contains the valid end time.
void setGeometry(te::gm::Geometry *geom)
It sets the geometry associated to all observations.
const te::dt::DateTimeProperty * getBeginTimePropInfo() const
It returns the DataSet property information that contains the phenomenon beginning time...
const te::da::DataSourceInfo & getDataSourceInfo() const
It returns the information about the DataSource.
void setId(const std::string &id)
It sets the identifier associated to all observations.
void setRsTimePropInfo(te::dt::DateTimeProperty *tpInfo)
It sets the property info that contains the result time.
std::string m_idPropName
Id: the name of DataSet property that contain the id of each group of observation.
const te::dt::DateTimeProperty * getVlBeginTimePropInfo() const
It returns the DataSet property information that contains the valid beginning time.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
std::string getDSId() const
It returns an id (as a string) that identifies the DataSet.
bool hasTwoVlTimeProp() const
const te::dt::DateTimePeriod * getTemporalExtent() const
It returns the temporal extent of the observations.
void setTemporalExtent(te::dt::DateTimePeriod *te)
It sets the temporal extent of all observations.
std::vector< int > m_observedPropIdx
Observed properties: the indexes of DataSet properties that are observed.
const te::dt::DateTimeProperty * getEndTimePropInfo() const
It returns the DataSet property information that contains the phenomenon end time.
virtual ~ObservationDataSetInfo()
Virtual destructor.
int getIdPropIdx() const
It returns the index of the property that contains identifiers that groups observations.
const te::dt::DateTimeProperty * getRsTimePropInfo() const
It returns the DataSet property information that contains the result time.
void setTimePropInfo(te::dt::DateTimeProperty *tpInfo)
It sets the property info that contains the phenomenon 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, time instant, time period, time instant with time zone or time period with time zone.
std::string m_id
Id: the id associated to all observations.
A class that represents a data source component.
std::string getDataSetName() const
It returns the DataSet name.
std::auto_ptr< te::dt::DateTimeInstant > m_resultTime
Result time: the result time, when the time is not inside a DataSet.
std::auto_ptr< te::dt::DateTimePeriod > m_temporalExtent
Temporal extent.
std::string getEndTimePropName() const
It returns the name of the DataSet property that contains the phenomenon end time.
void setGeomPropInfo(te::gm::GeometryProperty *prop)
It sets the info about the property that contains the observation location.
void setObsPropInfo(const std::vector< int > &props)
It sets the indexes of the DataSet properties that are observed over time.
std::string getIdPropName() const
It returns the name of the property that contains identifiers that groups observations.
std::auto_ptr< te::dt::DateTime > m_phTime
Phenomenon time: the phenomenon 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.
ObservationDataSetInfo(const te::da::DataSourceInfo &dsInfo, const std::string &dsName)
Constructor.
An abstract class to represent an instant of date and time.
boost::ptr_vector< te::dt::DateTimeProperty > m_phTimePropInfo
Phenomenon time: information about the DataSet properties that contain the phenomenon time...
const ObservationDataSetInfo & operator=(const ObservationDataSetInfo &rhs)
Assignment operator.