It implements the vectorizer, based on TerraLib 4 algorithm. More...
#include <Vectorizer.h>
Public Member Functions | |
Vectorizer & | operator= (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... | |
Vectorizer (Raster *r, std::size_t b, unsigned int mp=0) | |
Constructor. More... | |
Vectorizer (const Vectorizer &rhs) | |
Copy constructor. More... | |
~Vectorizer () | |
Destructor. More... | |
Protected Member Functions | |
void | clear () |
Clear all internally allocated resources. More... | |
bool | detectEdge (long i, long j, te::gm::LinearRing &line) |
Detects an edge of a cell in Raster. More... | |
bool | startingEdgeTest (const int &x, const int &y) |
Tests if the current point is a edge start. 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... | |
unsigned int | m_rasterBand |
The raster band to be used. More... | |
Raster * | m_rasterPtr |
A pointer to the input image. 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... | |
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.
Definition at line 72 of file Vectorizer.h.
te::rst::Vectorizer::Vectorizer | ( | Raster * | r, |
std::size_t | b, | ||
unsigned int | mp = 0 |
||
) |
Constructor.
r | The input raster. |
b | The selected band of the raster to be vectorized. |
mp | The maximum allowed number of polygons to be created (default = 0, unlimited). |
te::rst::Vectorizer::Vectorizer | ( | const Vectorizer & | rhs | ) |
Copy constructor.
rhs | The right-hand-side copy that would be used to copy from. |
te::rst::Vectorizer::~Vectorizer | ( | ) |
Destructor.
|
protected |
Clear all internally allocated resources.
|
protected |
Detects an edge of a cell in Raster.
i | abscissa (column) of the upper-left point of the shape |
j | ordinate (line) of the upper-left point of the shape |
line | 2D Line. |
Vectorizer& te::rst::Vectorizer::operator= | ( | const Vectorizer & | rhs | ) |
Assignment operator.
rhs | The right-hand-side copy that would be used to copy from. |
bool te::rst::Vectorizer::run | ( | std::vector< te::gm::Geometry * > & | polygons | ) |
Returns true if current algorithm implementation runs ok, false otherwise.
polygons | The vector of polygons (will be cleared) to get the result of the vectorization. |
|
protected |
Tests if the current point is a edge start.
x | X coord. |
y | Y coord. |
|
protected |
Vector of all polygons.
Definition at line 153 of file Vectorizer.h.
|
protected |
Directions vector.
Definition at line 145 of file Vectorizer.h.
|
protected |
The maximum allowed number of polygons to be created.
Definition at line 151 of file Vectorizer.h.
|
protected |
The number of columns.
Definition at line 149 of file Vectorizer.h.
|
protected |
The number of lines.
Definition at line 148 of file Vectorizer.h.
|
protected |
The used dummy value.
Definition at line 143 of file Vectorizer.h.
|
protected |
The raster band to be used.
Definition at line 150 of file Vectorizer.h.
|
protected |
A pointer to the input image.
Definition at line 144 of file Vectorizer.h.
|
protected |
Resolution X.
Definition at line 146 of file Vectorizer.h.
|
protected |
Resolution Y.
Definition at line 147 of file Vectorizer.h.
|
protected |
A RTree instance pointer to optimize the searching of points inside already created polygons.
Definition at line 152 of file Vectorizer.h.