A rectified grid is the spatial support for raster data. More...
#include <Grid.h>
Public Member Functions | |
void | geoToGrid (const double &x, const double &y, double &col, double &row) const |
Get the grid point associated to a spatial location. More... | |
te::gm::Coord2D | geoToGrid (const double &x, const double &y) const |
Get the grid point associated to a spatial location. More... | |
te::gm::Envelope * | getExtent () |
Returns the geographic extension of the grid. More... | |
const te::gm::Envelope * | getExtent () const |
Returns the geographic extension of the grid. More... | |
const double * | getGeoreference () const |
Returns a list of 6 coefficients describing an affine transformation to georeference a grid. More... | |
unsigned int | getNumberOfColumns () const |
Returns the grid number of columns. More... | |
unsigned int | getNumberOfRows () const |
Returns the grid number of rows. More... | |
double | getResolutionX () const |
Returns the grid horizontal (x-axis) resolution. More... | |
double | getResolutionY () const |
Returns the grid vertical (y-axis) resolution. More... | |
int | getSRID () const |
Returns the grid spatial reference system identifier. More... | |
Grid (unsigned int nCols=0, unsigned int nRows=0, te::gm::Envelope *mbr=0, int srid=TE_UNKNOWN_SRS) | |
Constructor. More... | |
Grid (unsigned int nCols, unsigned int nRows, double resX, double resY, const te::gm::Coord2D *ulc, int srid=TE_UNKNOWN_SRS) | |
Constructor. More... | |
Grid (unsigned int nCols, unsigned int nRows, double resX, double resY, te::gm::Envelope *mbr, int srid=TE_UNKNOWN_SRS) | |
Constructor. More... | |
Grid (double resX, double resY, te::gm::Envelope *mbr, int srid=TE_UNKNOWN_SRS) | |
Constructor. More... | |
Grid (const double geoTrans[], unsigned int nCols, unsigned int nRows, int srid=TE_UNKNOWN_SRS) | |
Constructor. More... | |
Grid (const Grid &rhs) | |
Copy constructor. More... | |
void | gridToGeo (const double &col, const double &row, double &x, double &y) const |
Get the spatial location of a grid point. More... | |
te::gm::Coord2D | gridToGeo (const double &col, const double &row) const |
Get the spatial location of a grid point. More... | |
bool | isPointInGrid (unsigned int col, unsigned int row) const |
Grid & | operator= (const Grid &rhs) |
Assignment operator. More... | |
bool | operator== (const Grid &rhs) const |
Equal operator. More... | |
void | setGeoreference (const te::gm::Coord2D &ulLocation, int srid, double resX, double resY) |
Sets the information needed to georeference the grid. More... | |
void | setGeoreference (const double geoTrans[], int srid) |
Sets the information needed to georeference the grid using an affine transformation. More... | |
void | setNumberOfColumns (unsigned int nCols) |
Sets the grid number of columns. More... | |
void | setNumberOfRows (unsigned int nRows) |
Sets the grid number of rows. More... | |
void | setSRID (int srid) |
Just sets the grid spatial reference system identifier. More... | |
~Grid () | |
Destructor. More... | |
Private Member Functions | |
bool | computeAffineParameters (const double extentWidth, const double extentHeight, const unsigned int nColumns, const unsigned int nRows, const double extentULX, const double extentULY, double *affineParamsPtr, double *inverseAffineParamsPtr) const |
Compute affine parameters from the given input parameters. More... | |
void | computeExtent () const |
Computes the geographic extension of the grid. More... | |
bool | computeInverseParameters (double *const affineParamsPtr, double *inverseAffineParamsPtr) const |
Compute inverse affine parameters. More... | |
Private Attributes | |
te::gm::Envelope * | m_extent |
The grid extent. More... | |
double | m_geoT [6] |
A list of 6 coefficients describing an affine transformation to georeference a grid. More... | |
double | m_geoTInverse [6] |
A list of 6 coefficients describing an inverse affine transformation to georeference a grid. More... | |
unsigned int | m_nCols |
Number of columns. More... | |
unsigned int | m_nRows |
Number of rows. More... | |
int | m_srid |
The associated SRS. More... | |
A rectified grid is the spatial support for raster data.
te::rst::Grid::Grid | ( | unsigned int | nCols = 0 , |
unsigned int | nRows = 0 , |
||
te::gm::Envelope * | mbr = 0 , |
||
int | srid = TE_UNKNOWN_SRS |
||
) |
Constructor.
nCols | The number of columns. |
nRows | The number of rows. |
srid | The SRS associated to the grid. |
mbr | The grid extent. The grid will take the ownership of the given envelope. |
te::rst::Grid::Grid | ( | unsigned int | nCols, |
unsigned int | nRows, | ||
double | resX, | ||
double | resY, | ||
const te::gm::Coord2D * | ulc, | ||
int | srid = TE_UNKNOWN_SRS |
||
) |
Constructor.
nCols | The number of columns. |
nRows | The number of rows. |
resX | The grid horizontal (x-axis) resolution. |
resY | The grid vertical (y-axis) resolution. |
ulc | The location of the upper-left corner of the upper-left pixel (or cell) of the grid assuming srid as the SRS. |
srid | The SRS associated to the grid. |
te::rst::Grid::Grid | ( | unsigned int | nCols, |
unsigned int | nRows, | ||
double | resX, | ||
double | resY, | ||
te::gm::Envelope * | mbr, | ||
int | srid = TE_UNKNOWN_SRS |
||
) |
Constructor.
nCols | The number of columns. |
nRows | The number of rows. |
resX | The grid horizontal (x-axis) resolution. |
resY | The grid vertical (y-axis) resolution. |
mbr | The grid extent. The grid will take the ownership of the given envelope. |
srid | The SRS associated to the grid. |
te::rst::Grid::Grid | ( | double | resX, |
double | resY, | ||
te::gm::Envelope * | mbr, | ||
int | srid = TE_UNKNOWN_SRS |
||
) |
Constructor.
resX | The grid horizontal (x-axis) resolution. |
resY | The grid vertical (y-axis) resolution. |
mbr | The grid extent. The grid will take the ownership of the given envelope. |
srid | The SRS associated to the grid. |
te::rst::Grid::Grid | ( | const double | geoTrans[], |
unsigned int | nCols, | ||
unsigned int | nRows, | ||
int | srid = TE_UNKNOWN_SRS |
||
) |
Constructor.
nCols | The number of columns. |
nRows | The number of rows. |
geoTrans[] | A list of 6 coefficients describing an affine transformation to georeference a grid. |
srid | The SRS associated to the grid. |
te::rst::Grid::Grid | ( | const Grid & | rhs | ) |
Copy constructor.
rhs | The right-hand-side object to be used to copy from. |
te::rst::Grid::~Grid | ( | ) |
Destructor.
|
private |
Compute affine parameters from the given input parameters.
extentWidth | Extent width. |
extentHeight | Extent height. |
nColumns | Number of columns. |
nRows | Number of rows. |
extentULX | Extent upper-left X coordinate. |
extentULY | Extent upper-left Y coordinate. |
affineParamsPtr | A pointer to a allocated vector of 6 elements where the parameters will be stored. |
|
private |
Computes the geographic extension of the grid.
|
private |
Compute inverse affine parameters.
affineParamsPtr | A pointer to a allocated vector of 6 elements (affine parameters). |
inverseAffineParamsPtr | A pointer to a allocated vector of 6 elements where the parameters will be stored. |
void te::rst::Grid::geoToGrid | ( | const double & | x, |
const double & | y, | ||
double & | col, | ||
double & | row | ||
) | const |
Get the grid point associated to a spatial location.
x | The spatial x-coordiante. |
y | The spatial y-coordiante. |
col | The grid point column. |
row | The grid point row. |
Referenced by geoToGrid(), te::rst::LineIterator< T >::LineIterator(), te::rst::PointSetIterator< T >::PointSetIterator(), and te::rst::PolygonIterator< T >::PolygonIterator().
|
inline |
Get the grid point associated to a spatial location.
x | The spatial x-coordiante. |
y | The spatial y-coordiante. |
Definition at line 342 of file Grid.h.
References geoToGrid(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
te::gm::Envelope* te::rst::Grid::getExtent | ( | ) |
Returns the geographic extension of the grid.
const te::gm::Envelope* te::rst::Grid::getExtent | ( | ) | const |
Returns the geographic extension of the grid.
const double* te::rst::Grid::getGeoreference | ( | ) | const |
Returns a list of 6 coefficients describing an affine transformation to georeference a grid.
unsigned int te::rst::Grid::getNumberOfColumns | ( | ) | const |
Returns the grid number of columns.
unsigned int te::rst::Grid::getNumberOfRows | ( | ) | const |
Returns the grid number of rows.
double te::rst::Grid::getResolutionX | ( | ) | const |
Returns the grid horizontal (x-axis) resolution.
double te::rst::Grid::getResolutionY | ( | ) | const |
Returns the grid vertical (y-axis) resolution.
int te::rst::Grid::getSRID | ( | ) | const |
Returns the grid spatial reference system identifier.
void te::rst::Grid::gridToGeo | ( | const double & | col, |
const double & | row, | ||
double & | x, | ||
double & | y | ||
) | const |
Get the spatial location of a grid point.
col | The grid point column. |
row | The grid point row. |
x | The spatial location (X axis). |
y | The spatial location (Y axis). |
Referenced by gridToGeo(), and te::rst::LineIterator< T >::LineIterator().
|
inline |
Get the spatial location of a grid point.
col | The grid point column. |
row | The grid point row. |
Definition at line 335 of file Grid.h.
References gridToGeo(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
inline |
Assignment operator.
rhs | The right-hand-side object to be used to copy from. |
bool te::rst::Grid::operator== | ( | const Grid & | rhs | ) | const |
Equal operator.
rhs | The source object to be compared. |
void te::rst::Grid::setGeoreference | ( | const te::gm::Coord2D & | ulLocation, |
int | srid, | ||
double | resX, | ||
double | resY | ||
) |
Sets the information needed to georeference the grid.
Specifies a transformation that maps a grid point (col, row) to a spatial location (x, y).
This method should be used when there is no translation associated to the mapping.
ulLocation | The location of the upper-left corner of the upper-left pixel (or cell) of the grid. |
srid | The id of the SRS that the location refers to. resX The grid horizontal (x-axis) resolution resY The grid vertical (y-axis) resolution |
void te::rst::Grid::setGeoreference | ( | const double | geoTrans[], |
int | srid | ||
) |
Sets the information needed to georeference the grid using an affine transformation.
An affine transformation maps grid point (col,lin) to a spatial location (x,y) using to the following relationship: This method should be used mainly when there is a translation associated to the mapping. Otherwise use the method above.
geoTrans[] | A list of 6 coefficients describing an affine transformation to georeference a grid. |
srid | The SRS id to which the location refers to. |
void te::rst::Grid::setNumberOfColumns | ( | unsigned int | nCols | ) |
Sets the grid number of columns.
nCols | The number of columns. |
void te::rst::Grid::setNumberOfRows | ( | unsigned int | nRows | ) |
Sets the grid number of rows.
nRows | The number of rows. |
void te::rst::Grid::setSRID | ( | int | srid | ) |
Just sets the grid spatial reference system identifier.
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |