10 #ifndef __TERRALIB_MNT_INTERNAL_CALCULATEGRID_H
11 #define __TERRALIB_MNT_INTERNAL_CALCULATEGRID_H
17 #include "../../dataaccess/dataset/DataSet.h"
18 #include "../../dataaccess/dataset/DataSetType.h"
19 #include "../../dataaccess/datasource/DataSource.h"
21 #include "../../raster/Raster.h"
22 #include "../../sam.h"
29 #define mitasovaMINPOINTS 50
30 #define mitasovaTENSION 40.
31 #define mitasovaSMOOTH 0.100000
60 std::string inDsetName,
61 std::auto_ptr<te::da::DataSetType> inDsetType,
67 void setOutput(std::map<std::string, std::string> &dsinfo);
75 void setParams(
const std::string &attriso,
const std::string &attrpt,
double resx,
double resy,
Interpolator gt,
double rad,
int pow);
78 void setSRID(
int srid);
83 std::auto_ptr<te::rst::Raster> Initialize(
bool spline,
unsigned int &nro_neighb,
double &rx1,
double &ry2,
unsigned int &outputWidth,
unsigned int &outputHeight);
93 void Interpolation(
te::gm::Point& pg, std::vector<te::gm::Point>& points, std::vector<double>& distq);
99 double Interpwq(
te::gm::Point& pg, std::vector<te::gm::Point>& points, std::vector<double>& distq);
106 double Interpwqz(
te::gm::Point& pg, std::vector<te::gm::Point>& points, std::vector<double>& distq);
113 bool GenerateGridSplineGrass();
120 bool GenerateGridSplineMitasova();
153 std::vector<std::pair<te::gm::Coord2D, te::gm::Point> >
m_dataset;
double m_nodatavalue
no data value
std::string m_inDsetName_point
boost::shared_ptr< DataSource > DataSourcePtr
int m_smoothM
smooth factor used
te::sam::kdtree::AdaptativeNode< te::gm::Coord2D, std::vector< te::gm::Point >, te::gm::Point > KD_ADAPTATIVE_NODE
#define TEMNTEXPORT
You can use this macro in order to export/import classes and functions from this module.
A class that represents a two dimensional K-d Tree (2-d Tree) that store data-elements into the leafs...
te::da::DataSourcePtr m_inDsrc_sample
std::string m_atrZ_sample
Attribute used to calculate grid.
std::string m_inDsetName_sample
std::string m_atrZ_point
Attribute used to calculate grid.
int m_srid
Attribute with spatial reference information.
Interpolator m_inter
selected interpolation method
KD_ADAPTATIVE_TREE * m_adaptativeTree
A point with x and y coordinate values.
An Envelope defines a 2D rectangular region.
An abstract class for raster data strucutures.
te::sam::kdtree::AdaptativeIndex< KD_ADAPTATIVE_NODE > KD_ADAPTATIVE_TREE
te::da::DataSourcePtr m_inDsrc_point
te::gm::Envelope m_env
Attribute used to restrict the area to generate the raster.
int m_tension
the tension spline factor considered in the spline fitting process
std::map< std::string, std::string > m_dsinfo
std::vector< std::pair< te::gm::Coord2D, te::gm::Point > > m_dataset
std::auto_ptr< te::da::DataSetType > m_inDsetType_sample
A class that represents an Kd-tree node.
double m_resy
grid resolution in X and Y
double m_tolerance
tolerance used to simplify lines
std::auto_ptr< te::da::DataSetType > m_inDsetType_point