te::st::PointCoverage Class Reference

A concrete class to represent a point coverage. More...

#include <PointCoverage.h>

Inheritance diagram for te::st::PointCoverage:
te::st::Coverage

Public Member Functions

void add (const te::gm::Point &l, te::dt::AbstractData *value)
 It adds an observtion to the PointCoverage. More...
 
void add (const te::gm::Point &l, boost::ptr_vector< te::dt::AbstractData > &value)
 It adds an observtion to the PointCoverage. More...
 
void add (PointCoverageObservation &obs)
 It adds an observtion to the PointCoverage. More...
 
 PointCoverage ()
 A constructor. More...
 
 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. More...
 
 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. More...
 
virtual ~PointCoverage ()
 Virtual destructor. More...
 
PointCoverage Iterator

An example of use:

PointCoverageIterator it = cv.begin(); while(it!=cv.end()) { Point& l = it.getLocation(); double v = it.getDouble(i); //or getValue() or getInt()... ++it; }

PointCoverageIterator begin () const
 It returns an iterator that points to the first observation of the point coverage. More...
 
PointCoverageIterator end () const
 It returns an iterator that points to the end of the time series. More...
 
Coverage inherited methods
Coverageclone () const
 It returns a clone of this coverage. More...
 
CoverageType getType () const
 It returns the coverage type. More...
 
te::gm::GeometrygetSpatialExtent () const
 It returns the spatial extent of a coverage. More...
 
te::dt::DateTimegetTime () const
 It returns the time associated to the coverage. More...
 
unsigned int getNumberOfProperties () const
 It returns the number of properties associated to the coverage. More...
 
const std::vector< int > & getPropertyTypes () const
 It returns the types of the coverage properties. More...
 
const std::vector< std::string > & getPropertyNames () const
 It returns the names of the coverage properties. More...
 
void getValue (const te::gm::Point &l, boost::ptr_vector< te::dt::AbstractData > &result) const
 It returns the values associated to a given location. More...
 
std::auto_ptr< te::dt::AbstractDatagetValue (const te::gm::Point &l, unsigned int p=0) const
 It returns the value of the p-th property associated to a given location. More...
 
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. More...
 
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. More...
 
void getInt (const te::gm::Point &l, std::vector< int > &result) const
 It returns the values as integers associated to a given location. More...
 
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. More...
 
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 polygon. More...
 
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. More...
 
void getDouble (const te::gm::Point &l, std::vector< double > &result) const
 It returns the values as doubles associated to a given location. More...
 
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. More...
 
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 polygon. More...
 
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. More...
 
std::auto_ptr< te::rst::RastergetRaster () const
 It returns a raster associated to the coverage. More...
 
std::auto_ptr< te::rst::RastergetRaster (unsigned int p) const
 It returns a raster associated to the coverage of the i-th property. More...
 

Protected Attributes

AbstractPointCoverageInterpm_interpolator
 
unsigned int m_np
 
PointCoverageObservationSet m_observations
 
std::vector< std::string > m_pnames
 The types of the point coverage properties. More...
 
std::vector< int > m_ptypes
 The number of properties of the point coverage. More...
 
PointCvRTreeShrPtr m_rTree
 
std::auto_ptr< te::gm::Geometrym_sextent
 
std::auto_ptr< te::dt::DateTimem_textent
 
int m_tp
 The names of the point coverage properties. More...
 

Detailed Description

A concrete class to represent a point coverage.

A point coverage is a coverage composed of a set of observations where each one contains a location (point) and a set properties associated to it.

See also
Coverage Point Property

Definition at line 70 of file PointCoverage.h.

Constructor & Destructor Documentation

te::st::PointCoverage::PointCoverage ( )

A constructor.

It constructs an empty point coverage. The user does not indicate the interpolator associated to it. Internally, it uses a default interpolator that is IDWInterpolator.

te::st::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 
)

A constructor.

It constructs an empty point coverage.

Parameters
interpThe interpolator associated to the PointCoverage
sextentThe spatial extent
textentThe time associated to the coverage.
npThe number of properties of the point coverage.
ptypesThe types of the properties
pnamesThe names of the properties
Note
It will take the ownership of the given pointers.
te::st::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.

It constructs an empty point coverage.

Parameters
interpThe interpolator associated to the PointCoverage
sextentThe spatial extent
textentThe time associated to the coverage.
npThe number of properties of the point coverage.
ptypesThe types of the properties
pnamesThe names of the properties
tpThe index of the property that contains time associated to each observation
Note
It will take the ownership of the given pointers.
virtual te::st::PointCoverage::~PointCoverage ( )
virtual

Virtual destructor.

Member Function Documentation

void te::st::PointCoverage::add ( const te::gm::Point l,
te::dt::AbstractData value 
)

It adds an observtion to the PointCoverage.

Parameters
lThe given location.
valueThe value associated to the given location.
Note
It will take the ownwership of the given pointers.
The caller can use this methos when the number of properties is equal to 1. Otherwise, it must use the other add method.
void te::st::PointCoverage::add ( const te::gm::Point l,
boost::ptr_vector< te::dt::AbstractData > &  value 
)

It adds an observtion to the PointCoverage.

Parameters
lThe given location.
valueA vector of values associated to the given location.
Note
It will take the ownwership of the given pointers.
void te::st::PointCoverage::add ( PointCoverageObservation obs)

It adds an observtion to the PointCoverage.

Parameters
obsThe observation.
Note
It will share the same observtion.
PointCoverageIterator te::st::PointCoverage::begin ( ) const

It returns an iterator that points to the first observation of the point coverage.

Returns
The point coverage iterator.
Coverage* te::st::PointCoverage::clone ( ) const
virtual

It returns a clone of this coverage.

Returns
A new coverage.
Note
The caller will take the ownership of the returned pointer.

Implements te::st::Coverage.

PointCoverageIterator te::st::PointCoverage::end ( ) const

It returns an iterator that points to the end of the time series.

Returns
The point coverage iterator.
void te::st::PointCoverage::getDouble ( const te::gm::Point l,
std::vector< double > &  result 
) const
virtual

It returns the values as doubles associated to a given location.

This method returns the values of all properties of the coverage.

Parameters
lThe given location
resultThe returned values associated to a given location

Implements te::st::Coverage.

double te::st::PointCoverage::getDouble ( const te::gm::Point l,
unsigned int  p = 0 
) const
virtual

It returns the value as double of the p-th property associated to a given location.

Parameters
lThe given location
pThe index of the property that will be considered.
Returns
Returns the value as a double associated to a given location

Implements te::st::Coverage.

void te::st::PointCoverage::getDouble ( const te::gm::Polygon l,
unsigned int  p,
std::vector< double > &  result 
) const
virtual

It returns the values as doubles of the p-th property associated to the locations inside a given polygon.

Parameters
lThe given polygon
pThe desired property
resultThe returned values of the p-th property associated to the locations inside a given polygon

Implements te::st::Coverage.

void te::st::PointCoverage::getDouble ( const te::gm::Polygon l,
std::vector< double > &  result 
) const
virtual

It returns values as doubles associated to the locations inside a given polygon.

This method returns the values of all properties of the coverage, ordered by locations.

An example, if the coverage has two properties: The first position of the result vector contains the first property value of first location. The second position of the result vector contains the second property value of the first location. The third position of the result vector contains the first property value of the second location. And so on.

Parameters
lThe given polygon
resultThe returned values associated the locations inside a given polygon

Implements te::st::Coverage.

void te::st::PointCoverage::getInt ( const te::gm::Point l,
std::vector< int > &  result 
) const
virtual

It returns the values as integers associated to a given location.

This method returns the values of all properties of the coverage.

Parameters
lThe given location
resultThe returned values associated to a given location

Implements te::st::Coverage.

int te::st::PointCoverage::getInt ( const te::gm::Point l,
unsigned int  p = 0 
) const
virtual

It returns the value as integer of the p-th property associated to a given location.

Parameters
lThe given location
pThe index of the property that will be considered.
Returns
Returns the value as an integer associated to a given location

Implements te::st::Coverage.

void te::st::PointCoverage::getInt ( const te::gm::Polygon l,
unsigned int  p,
std::vector< int > &  result 
) const
virtual

It returns the values as integers of the p-th property associated to the locations inside a given polygon.

Parameters
lThe given polygon
pThe desired property
resultThe returned values of the p-th property associated to the locations inside a given polygon

Implements te::st::Coverage.

void te::st::PointCoverage::getInt ( const te::gm::Polygon l,
std::vector< int > &  result 
) const
virtual

It returns values as integers associated to the locations inside a given polygon.

This method returns the values of all properties of the coverage, ordered by locations.

An example, if the coverage has two properties: The first position of the result vector contains the first property value of first location. The second position of the result vector contains the second property value of the first location. The third position of the result vector contains the first property value of the second location. And so on.

Parameters
lThe given polygon
resultThe returned values associated the locations inside a given polygon.

Implements te::st::Coverage.

unsigned int te::st::PointCoverage::getNumberOfProperties ( ) const
virtual

It returns the number of properties associated to the coverage.

For raster coverage, the number of properties is equal to the number of bands. For point coverage, this means the number of properties associated to each point.

Returns
The number of properties associated to the coverage.
Note
The caller will NOT take the ownership of the returned date and time.

Implements te::st::Coverage.

const std::vector<std::string>& te::st::PointCoverage::getPropertyNames ( ) const
virtual

It returns the names of the coverage properties.

Returns
The names of the coverage properties.
Note
The caller will take a refence to the internal vector.

Implements te::st::Coverage.

const std::vector<int>& te::st::PointCoverage::getPropertyTypes ( ) const
virtual

It returns the types of the coverage properties.

Returns
The types of the coverage properties.
Note
The caller will take a refence to the internal vector.

Implements te::st::Coverage.

std::auto_ptr<te::rst::Raster> te::st::PointCoverage::getRaster ( ) const
virtual

It returns a raster associated to the coverage.

For point coverage, it considers the interpolation function to generate the raster.

The returned raster will contain all properties, each property will be a band. If the caller wants to consider only one property, it must use the other getRaster method when the caller pass a defined property.

Returns
Returns a raster associated to the coverage.
Note
The caller will take the ownership of the returned raster.

Implements te::st::Coverage.

std::auto_ptr<te::rst::Raster> te::st::PointCoverage::getRaster ( unsigned int  p) const
virtual

It returns a raster associated to the coverage of the i-th property.

For point coverage, it considers the interpolation function to generate a raster.

The returned raster will have one band associated to the given property.

Parameters
pThe property that will be considered to generate the raster.
Returns
Returns a raster associated to the coverage.
Note
The caller will take the ownership of the returned raster.

Implements te::st::Coverage.

te::gm::Geometry* te::st::PointCoverage::getSpatialExtent ( ) const
virtual

It returns the spatial extent of a coverage.

Returns
Returns the coverage spatial extent.
Note
The caller will NOT take the ownership of the returned geometry.

Implements te::st::Coverage.

te::dt::DateTime* te::st::PointCoverage::getTime ( ) const
virtual

It returns the time associated to the coverage.

Returns
Returns the time associated to the coverage.
Note
The caller will NOT take the ownership of the returned date and time.

Implements te::st::Coverage.

CoverageType te::st::PointCoverage::getType ( ) const
virtual

It returns the coverage type.

For while, there are two kinds of Coverages: Point Coverage and Raster Coverage.

Returns
Returns the coverage type.

Implements te::st::Coverage.

void te::st::PointCoverage::getValue ( const te::gm::Point l,
boost::ptr_vector< te::dt::AbstractData > &  result 
) const
virtual

It returns the values associated to a given location.

This method returns the values of all properties of the coverage.

Parameters
lThe given location
resultThe returned values associated to a given location
Note
The caller will take the ownership of the returned value.

Implements te::st::Coverage.

std::auto_ptr<te::dt::AbstractData> te::st::PointCoverage::getValue ( const te::gm::Point l,
unsigned int  p = 0 
) const
virtual

It returns the value of the p-th property associated to a given location.

Parameters
lThe given location
pThe index of the property that will be considered.
Returns
Returns the value associated to a given location
Note
The caller will take the ownership of the returned value.

Implements te::st::Coverage.

void te::st::PointCoverage::getValue ( const te::gm::Polygon l,
unsigned int  p,
boost::ptr_vector< te::dt::AbstractData > &  result 
) const
virtual

It returns the values of the p-th property associated to the locations inside a given polygon.

Parameters
lThe given polygon
pThe desired property
resultThe returned values of the p-th property associated to the locations inside a given polygon
Note
The caller will take the ownership of the returned value.

Implements te::st::Coverage.

void te::st::PointCoverage::getValue ( const te::gm::Polygon l,
boost::ptr_vector< te::dt::AbstractData > &  result 
) const
virtual

It returns values associated to the locations inside a given polygon.

This method returns the values of all properties of the coverage, ordered by locations.

An example, if the coverage has two properties: The first position of the result vector contains the first property value of first location. The second position of the result vector contains the second property value of the first location. The third position of the result vector contains the first property value of the second location. And so on.

Parameters
lThe given polygon
resultThe returned values associated the locations inside a given polygon
Note
The caller will take the ownership of the returned value.

Implements te::st::Coverage.

Member Data Documentation

AbstractPointCoverageInterp* te::st::PointCoverage::m_interpolator
protected

Definition at line 232 of file PointCoverage.h.

unsigned int te::st::PointCoverage::m_np
protected

Definition at line 234 of file PointCoverage.h.

PointCoverageObservationSet te::st::PointCoverage::m_observations
protected

Definition at line 231 of file PointCoverage.h.

std::vector<std::string> te::st::PointCoverage::m_pnames
protected

The types of the point coverage properties.

Definition at line 236 of file PointCoverage.h.

std::vector<int> te::st::PointCoverage::m_ptypes
protected

The number of properties of the point coverage.

Definition at line 235 of file PointCoverage.h.

PointCvRTreeShrPtr te::st::PointCoverage::m_rTree
protected

Definition at line 233 of file PointCoverage.h.

std::auto_ptr<te::gm::Geometry> te::st::PointCoverage::m_sextent
protected

Definition at line 229 of file PointCoverage.h.

std::auto_ptr<te::dt::DateTime> te::st::PointCoverage::m_textent
protected

Definition at line 230 of file PointCoverage.h.

int te::st::PointCoverage::m_tp
protected

The names of the point coverage properties.

Definition at line 237 of file PointCoverage.h.


The documentation for this class was generated from the following file: