26 #ifndef __TERRALIB_ST_INTERNAL_COVERAGE_H
27 #define __TERRALIB_ST_INTERNAL_COVERAGE_H
30 #include "../../Config.h"
31 #include "../../Enums.h"
39 #include <boost/shared_ptr.hpp>
40 #include <boost/ptr_container/ptr_vector.hpp>
43 namespace te {
namespace dt {
class DateTime;
class AbstractData; } }
45 namespace te {
namespace gm {
class Geometry;
class Point;
class Polygon;} }
47 namespace te {
namespace rst {
class Raster; } }
295 virtual std::unique_ptr<te::rst::Raster>
getRaster()
const = 0;
311 virtual std::unique_ptr<te::rst::Raster>
getRaster(
unsigned int p)
const = 0;
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 to represent a coverage.
virtual int getInt(const te::gm::Point &l, unsigned int p=0) const =0
It returns the value as integer of the p-th property associated to a given location.
virtual void getDouble(const te::gm::Polygon &l, std::vector< double > &result) const =0
It returns values as doubles associated to the locations inside a given polygon.
virtual te::gm::Geometry * getSpatialExtent() const =0
It returns the spatial extent of a coverage.
virtual const std::vector< std::string > & getPropertyNames() const =0
It returns the names of the coverage properties.
virtual CoverageType getType() const =0
It returns the coverage type.
virtual void getValue(const te::gm::Polygon &l, unsigned int p, boost::ptr_vector< te::dt::AbstractData > &result) const =0
It returns the values of the p-th property associated to the locations inside a given polygon.
virtual void getInt(const te::gm::Polygon &l, unsigned int p, std::vector< int > &result) const =0
It returns the values as integers of the p-th property associated to the locations inside a given pol...
virtual unsigned int getNumberOfProperties() const =0
It returns the number of properties associated to the coverage.
virtual double getDouble(const te::gm::Point &l, unsigned int p=0) const =0
It returns the value as double of the p-th property associated to a given location.
virtual std::unique_ptr< te::dt::AbstractData > getValue(const te::gm::Point &l, unsigned int p=0) const =0
It returns the value of the p-th property associated to a given location.
virtual Coverage * clone() const =0
It returns a clone of this coverage.
virtual void getInt(const te::gm::Point &l, std::vector< int > &result) const =0
It returns the values as integers associated to a given location.
virtual ~Coverage()
Virtual destructor.
virtual te::dt::DateTime * getTime() const =0
It returns the time associated to the coverage.
virtual void getDouble(const te::gm::Point &l, std::vector< double > &result) const =0
It returns the values as doubles associated to a given location.
virtual const std::vector< int > & getPropertyTypes() const =0
It returns the types of the coverage properties.
virtual void getInt(const te::gm::Polygon &l, std::vector< int > &result) const =0
It returns values as integers associated to the locations inside a given polygon.
virtual void getValue(const te::gm::Point &l, boost::ptr_vector< te::dt::AbstractData > &result) const =0
It returns the values associated to a given location.
virtual void getDouble(const te::gm::Polygon &l, unsigned int p, std::vector< double > &result) const =0
It returns the values as doubles of the p-th property associated to the locations inside a given poly...
virtual std::unique_ptr< te::rst::Raster > getRaster() const =0
It returns a raster associated to the coverage.
virtual std::unique_ptr< te::rst::Raster > getRaster(unsigned int p) const =0
It returns a raster associated to the coverage of the i-th property.
virtual void getValue(const te::gm::Polygon &l, boost::ptr_vector< te::dt::AbstractData > &result) const =0
It returns values associated to the locations inside a given polygon.
boost::shared_ptr< te::st::Coverage > CoverageShrPtr
CoverageType
An enum for the types of coverage.
#define TESTEXPORT
You can use this macro in order to export/import classes and functions from this module.