26 #ifndef __TERRALIB_ST_INTERNAL_POINTCOVERAGE_H
27 #define __TERRALIB_ST_INTERNAL_POINTCOVERAGE_H
30 #include "../../../datatype/DateTime.h"
31 #include "../../../sam/rtree/Index.h"
34 #include "../../Config.h"
44 #include <boost/shared_ptr.hpp>
45 #include <boost/ptr_container/ptr_vector.hpp>
52 class AbstractPointCoverageInterp;
99 const std::vector<std::string>& pnames);
118 const std::vector<std::string>& pnames,
int tp);
221 std::unique_ptr<te::rst::Raster>
getRaster(
unsigned int p)
const;
This file contains an abstract class to represent a coverage.
This file contains an iterator that is able to traverse all observations of a point coverage.
This file contains a class to represent an observation of a PointCoverage.
A base class for values that can be retrieved from the data access module.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
A point with x and y coordinate values.
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings.
An abstract class for interpolation function or interpolator that estimate values at non-observaved l...
An abstract class to represent a coverage.
A class to traverse the observations of a PointCoverage.
A concrete class to represent a point coverage.
void add(PointCoverageObservation &obs)
It adds an observtion to the PointCoverage.
std::unique_ptr< te::gm::Geometry > m_sextent
PointCoverageObservationSet m_observations
std::vector< int > m_ptypes
The number of properties of the point coverage.
int getInt(const te::gm::Point &l, unsigned int p=0) const
It returns the value as integer of the p-th property associated to a given location.
void add(const te::gm::Point &l, te::dt::AbstractData *value)
It adds an observtion to the PointCoverage.
std::unique_ptr< te::dt::DateTime > m_textent
AbstractPointCoverageInterp * m_interpolator
unsigned int getNumberOfProperties() const
It returns the number of properties associated to the coverage.
void getValue(const te::gm::Polygon &l, boost::ptr_vector< te::dt::AbstractData > &result) const
It returns values associated to the locations inside a given polygon.
void getInt(const te::gm::Point &l, std::vector< int > &result) const
It returns the values as integers associated to a given location.
PointCoverage()
A constructor.
void getInt(const te::gm::Polygon &l, unsigned int p, std::vector< int > &result) const
It returns the values as integers of the p-th property associated to the locations inside a given pol...
const std::vector< int > & getPropertyTypes() const
It returns the types of the coverage properties.
PointCoverage(AbstractPointCoverageInterp *interp, te::gm::Geometry *sextent, te::dt::DateTime *textent, int np, const std::vector< int > &ptypes, const std::vector< std::string > &pnames)
A constructor.
te::gm::Geometry * getSpatialExtent() const
It returns the spatial extent of a coverage.
double getDouble(const te::gm::Point &l, unsigned int p=0) const
It returns the value as double of the p-th property associated to a given location.
std::unique_ptr< te::dt::AbstractData > getValue(const te::gm::Point &l, unsigned int p=0) const
It returns the value of the p-th property associated to a given location.
PointCoverageIterator begin() const
It returns an iterator that points to the first observation of the point coverage.
void getDouble(const te::gm::Polygon &l, std::vector< double > &result) const
It returns values as doubles associated to the locations inside a given polygon.
std::unique_ptr< te::rst::Raster > getRaster() const
It returns a raster associated to the coverage.
PointCvRTreeShrPtr m_rTree
void getDouble(const te::gm::Point &l, std::vector< double > &result) const
It returns the values as doubles associated to a given location.
void getInt(const te::gm::Polygon &l, std::vector< int > &result) const
It returns values as integers associated to the locations inside a given polygon.
virtual ~PointCoverage()
Virtual destructor.
void getValue(const te::gm::Polygon &l, unsigned int p, boost::ptr_vector< te::dt::AbstractData > &result) const
It returns the values of the p-th property associated to the locations inside a given polygon.
int m_tp
The names of the point coverage properties.
PointCoverageIterator end() const
It returns an iterator that points to the end of the time series.
const std::vector< std::string > & getPropertyNames() const
It returns the names of the coverage properties.
void getValue(const te::gm::Point &l, boost::ptr_vector< te::dt::AbstractData > &result) const
It returns the values associated to a given location.
void add(const te::gm::Point &l, boost::ptr_vector< te::dt::AbstractData > &value)
It adds an observtion to the PointCoverage.
PointCoverage(AbstractPointCoverageInterp *interp, te::gm::Geometry *sextent, te::dt::DateTime *textent, int np, const std::vector< int > &ptypes, const std::vector< std::string > &pnames, int tp)
A constructor.
Coverage * clone() const
It returns a clone of this coverage.
std::vector< std::string > m_pnames
The types of the point coverage properties.
te::dt::DateTime * getTime() const
It returns the time associated to the coverage.
std::unique_ptr< te::rst::Raster > getRaster(unsigned int p) const
It returns a raster associated to the coverage of the i-th property.
CoverageType getType() const
It returns the coverage type.
void getDouble(const te::gm::Polygon &l, unsigned int p, std::vector< double > &result) const
It returns the values as doubles of the p-th property associated to the locations inside a given poly...
CoverageType
An enum for the types of coverage.
boost::shared_ptr< te::sam::rtree::Index< std::size_t > > PointCvRTreeShrPtr
boost::shared_ptr< PointCoverageItem > PointCoverageObservation
std::vector< PointCoverageObservation > PointCoverageObservationSet
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.