All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::rst::Vectorizer Class Reference

It implements the vectorizer, based on TerraLib 4 algorithm. More...

#include <Vectorizer.h>

Public Member Functions

void clear ()
 Clear all internally allocated resources. More...
 
bool detectEdge (long i, long j, te::gm::LineString &line)
 Detects an edge of a cell in Raster. More...
 
Vectorizeroperator= (const Vectorizer &rhs)
 Assignment operator. More...
 
bool run (std::vector< te::gm::Geometry * > &polygons)
 Returns true if current algorithm implementation runs ok, false otherwise. More...
 
bool startingEdgeTest (const int &x, const int &y)
 Tests if the current point is a edge start. More...
 
 Vectorizer (Raster *r, std::size_t b, unsigned int mp=0)
 Constructor. More...
 
 Vectorizer (const Vectorizer &rhs)
 Copy constructor. More...
 
 ~Vectorizer ()
 Destructor. More...
 

Protected Attributes

std::vector
< VectorizerPolygonStructure
m_containerPolygons
 Vector of all polygons. More...
 
te::gm::Coord2D m_directions [8]
 Directions vector. More...
 
unsigned int m_maxPolygons
 The maximum allowed number of polygons to be created. More...
 
unsigned long m_nColumns
 The number of columns. More...
 
unsigned long m_nLines
 The number of lines. More...
 
double m_noDataValue
 The used dummy value. More...
 
Rasterm_raster
 The input image. More...
 
unsigned int m_rasterBand
 The raster band to be used. More...
 
double m_resX
 Resolution X. More...
 
double m_resY
 Resolution Y. More...
 
te::sam::rtree::Index
< unsigned int, 8, 4 > * 
m_rTreePolygons
 A RTree instance pointer to optimize the searching of points inside already created polygons. More...
 
bool m_useNoData
 Flag indication for dummy value use (rotulated image). More...
 

Detailed Description

It implements the vectorizer, based on TerraLib 4 algorithm.

This algorithm implements a vectorizer, which is an algorithm to convert an image with pixel-labels into a set of polygons. All connected pixels in the image with the same label will define an individual polygon. This algorithm is based on the implementation of the previous version of this library, the TerraLib 4.

See also
Raster, Geometry

Definition at line 72 of file Vectorizer.h.

Constructor & Destructor Documentation

te::rst::Vectorizer::Vectorizer ( Raster r,
std::size_t  b,
unsigned int  mp = 0 
)
te::rst::Vectorizer::Vectorizer ( const Vectorizer rhs)

Copy constructor.

Parameters
rhsThe right-hand-side copy that would be used to copy from.

Definition at line 78 of file Vectorizer.cpp.

te::rst::Vectorizer::~Vectorizer ( )

Destructor.

Definition at line 82 of file Vectorizer.cpp.

Member Function Documentation

void te::rst::Vectorizer::clear ( )

Clear all internally allocated resources.

Definition at line 945 of file Vectorizer.cpp.

bool te::rst::Vectorizer::detectEdge ( long  i,
long  j,
te::gm::LineString line 
)
te::rst::Vectorizer & te::rst::Vectorizer::operator= ( const Vectorizer rhs)

Assignment operator.

Parameters
rhsThe right-hand-side copy that would be used to copy from.
Returns
A reference to this object.

Definition at line 87 of file Vectorizer.cpp.

bool te::rst::Vectorizer::startingEdgeTest ( const int &  x,
const int &  y 
)

Tests if the current point is a edge start.

Parameters
xX coord.
yY coord.
Returns
true if the current point is a edge start, false if not.

Definition at line 920 of file Vectorizer.cpp.

Member Data Documentation

std::vector<VectorizerPolygonStructure> te::rst::Vectorizer::m_containerPolygons
protected

Vector of all polygons.

Definition at line 148 of file Vectorizer.h.

Referenced by Vectorizer().

te::gm::Coord2D te::rst::Vectorizer::m_directions[8]
protected

Directions vector.

Definition at line 140 of file Vectorizer.h.

Referenced by Vectorizer().

unsigned int te::rst::Vectorizer::m_maxPolygons
protected

The maximum allowed number of polygons to be created.

Definition at line 146 of file Vectorizer.h.

unsigned long te::rst::Vectorizer::m_nColumns
protected

The number of columns.

Definition at line 144 of file Vectorizer.h.

Referenced by Vectorizer().

unsigned long te::rst::Vectorizer::m_nLines
protected

The number of lines.

Definition at line 143 of file Vectorizer.h.

Referenced by Vectorizer().

double te::rst::Vectorizer::m_noDataValue
protected

The used dummy value.

Definition at line 138 of file Vectorizer.h.

Referenced by Vectorizer().

Raster* te::rst::Vectorizer::m_raster
protected

The input image.

Definition at line 139 of file Vectorizer.h.

Referenced by Vectorizer().

unsigned int te::rst::Vectorizer::m_rasterBand
protected

The raster band to be used.

Definition at line 145 of file Vectorizer.h.

Referenced by Vectorizer().

double te::rst::Vectorizer::m_resX
protected

Resolution X.

Definition at line 141 of file Vectorizer.h.

Referenced by Vectorizer().

double te::rst::Vectorizer::m_resY
protected

Resolution Y.

Definition at line 142 of file Vectorizer.h.

Referenced by Vectorizer().

te::sam::rtree::Index<unsigned int, 8, 4>* te::rst::Vectorizer::m_rTreePolygons
protected

A RTree instance pointer to optimize the searching of points inside already created polygons.

Definition at line 147 of file Vectorizer.h.

Referenced by Vectorizer().

bool te::rst::Vectorizer::m_useNoData
protected

Flag indication for dummy value use (rotulated image).

Definition at line 137 of file Vectorizer.h.

Referenced by Vectorizer().


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