28#ifndef __TERRALIB_SA_INTERNAL_SAMPLEPOINTSGENERATORABSTRACT_H
29#define __TERRALIB_SA_INTERNAL_SAMPLEPOINTSGENERATORABSTRACT_H
41#include <boost/random/mersenne_twister.hpp>
42#include <boost/random/uniform_real_distribution.hpp>
A class that models the description of a dataset.
An Envelope defines a 2D rectangular region.
A point with x and y coordinate values.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver.
virtual std::unique_ptr< te::mem::DataSet > generateSamples(te::da::DataSetType *dsType)=0
void setOutputDataSource(te::da::DataSourcePtr ds)
virtual ~SamplePointsGeneratorAbstract()
Virtual destructor.
void execute()
Function to execute the kernel operation.
te::gm::Point * getPoint(const te::gm::Envelope *env)
te::da::DataSourcePtr m_ds
Pointer to the output datasource.
void setOutputDataSetName(std::string dataSetName)
void saveDataSet(te::mem::DataSet *dataSet, te::da::DataSetType *dsType)
boost::random::uniform_real_distribution m_distReal
te::sa::SamplePointsGeneratorType m_type
Generator Type.
boost::random::mt19937 m_gen
std::string m_outputDataSetName
Attribute that defines the output dataset name.
te::gm::Envelope m_env
Attribute used to restrict the area to generate the samples.
virtual std::unique_ptr< te::da::DataSetType > createDataSetType()=0
void setEnvelope(te::gm::Envelope env)
int m_srid
Attribute with spatial reference information.
SamplePointsGeneratorAbstract()
Default constructor.
An abstract class for data providers like a DBMS, Web Services or a regular file.
An Envelope defines a 2D rectangular region.
Namespace for the DataAccess API of TerraLib.
boost::shared_ptr< DataSource > DataSourcePtr
Namespace for the Vector Geometry module of TerraLib.
Namespace for the memory data source of TerraLib.
Namespace for the TerraLib SA module.
SamplePointsGeneratorType
Generator types used to create sample of points.
Enumerations related to Spatial Analysis module.
Configuration flags for the Terrralib Spatial Analysis module.
#define TESAEXPORT
You can use this macro in order to export/import classes and functions from this module.