26#ifndef __TERRALIB_RASTER_INTERNAL_VECTORIZER_H
27#define __TERRALIB_RASTER_INTERNAL_VECTORIZER_H
32#include "../geometry/Coord2D.h"
33#include "../geometry/LineString.h"
75 Vectorizer(
Raster* r, std::size_t b,
unsigned int mp = 0,
const bool noDataExclusion =
true );
105 bool run(std::vector<te::gm::Geometry*>& polygons, std::vector< double > *
const polygonsValues = 0 );
A polygon container node class.
A LinearRing is a LineString that is both closed and simple.
An abstract class for raster data strucutures.
It implements the vectorizer, based on TerraLib 4 algorithm.
bool detectEdge(long segmentInitialCol, long segmentInitialRow, te::gm::LinearRing &outputLine)
Detects an edge of a cell in Raster.
unsigned long m_nLines
The number of lines.
unsigned int m_rasterBand
The raster band to be used.
void clear()
Clear all internally allocated resources.
Raster * m_rasterPtr
A pointer to the input image.
bool startingEdgeTest(const int &x, const int &y)
Tests if the current point is a edge start.
Vectorizer & operator=(const Vectorizer &rhs)
Assignment operator.
unsigned long m_nColumns
The number of columns.
Vectorizer(const Vectorizer &rhs)
Copy constructor.
double m_resY
Resolution Y.
unsigned int m_maxPolygons
The maximum allowed number of polygons to be created.
bool run(std::vector< te::gm::Geometry * > &polygons, std::vector< double > *const polygonsValues=0)
Returns true if current algorithm implementation runs ok, false otherwise.
Vectorizer(Raster *r, std::size_t b, unsigned int mp=0, const bool noDataExclusion=true)
Constructor.
double m_resX
Resolution X.
double m_noDataValue
The used dummy value.
An utility struct for representing 2D coordinates.
Raster implementaton for TerraLib 4.x.
#define TERASTEREXPORT
You can use this macro in order to export/import classes and functions from this module.
Enumerations of XML module.