26#ifndef __TERRALIB_VP_INTERNAL_SUBDIVIDEDATALOADERSTRATEGY_H
27#define __TERRALIB_VP_INTERNAL_SUBDIVIDEDATALOADERSTRATEGY_H
39class SubdivideByBorderTillingStrategyImpl;
82 virtual std::vector<te::da::DataAccess*>
subdivide(
const std::vector<te::da::DataAccess*>& vecInputDataAccess, std::size_t maxCoordinates)
override;
88 virtual std::vector<te::da::DataAccess*>
merge(
const std::vector<te::da::DataAccess*>& vecInputDataAccess,
const std::vector< std::vector<std::string> >& vecMergeColumns,
bool dissolveGeometryCoordinateSubdivision)
override;
111 SubdivideByBorderTillingStrategyImpl*
m_impl;
This class can be used to inform the progress of a task.
Class used to centralize and control access to data in terralib. It aims to create a high-level inter...
A class that models the description of a dataset.
An abstract class for data providers like a DBMS, Web Services or a regular file.
An Envelope defines a 2D rectangular region.
AbstractTillingStrategy()=default
< Constructor
SubdivideByBorderTillingStrategyImpl * m_impl
SubdivideByBorderTillingStrategy(const te::gm::Envelope &mbr, int srid, double resolutionX, double resolutionY, te::common::TaskProgress *taskProgress)
< Constructor
virtual std::vector< te::da::DataAccess * > merge(const std::vector< te::da::DataAccess * > &vecInputDataAccess, const std::vector< std::vector< std::string > > &vecMergeColumns, bool dissolveGeometryCoordinateSubdivision) override
virtual void appendSubdivideColumns(te::da::DataSetType *dataSetType, const std::string &baseDataSetName)
virtual te::da::DataAccess * createInputDataAccessForSubdivision(const te::da::DataSetType *baseOutputDataSetType, const std::string &dataSetName)
static std::string getColumnPropertyName()
static std::string getRowPropertyName()
static std::string getFullPropertyName(const std::string &dataSetName, const std::string &propertyName)
virtual std::vector< te::da::DataAccess * > subdivide(const std::vector< te::da::DataAccess * > &vecInputDataAccess, std::size_t maxCoordinates) override
Executes the merge of this tilling strategy.
virtual ~SubdivideByBorderTillingStrategy()
Executes the subdivide of this tilling strategy.
virtual te::da::DataAccess * subdivide(const te::da::DataAccess *inputDataAccess, std::size_t maxCoordinates) override
Executes the subdivide of this tilling strategy.
virtual te::da::DataAccess * merge(te::da::DataAccess *inputDataAccess, const std::vector< std::string > &vecMergeColumns, bool dissolveGeometryCoordinateSubdivision) override
Executes the merge of this tilling strategy.
virtual te::da::DataAccess * createOutputDataAccessForSubdivision(const te::da::DataSetType *baseOutputDataSetType, const std::vector< te::da::DataAccess * > &vecInputDataAccess, const std::string &dataSetName)
static std::string getParentPropertyName()
virtual void createIndexes(te::da::DataAccess *dataAccess, const std::string &baseDataSetName)
Algorithm to help controlling creating and iterating in a tile.
Namespace for the Common module of TerraLib.
Namespace for the DataAccess API of TerraLib.
Namespace for the Vector Geometry module of TerraLib.
Namespace for Vector Processing module of TerraLib.
Configuration flags for the Terrralib Vector Processing module.
#define TEVPEXPORT
You can use this macro in order to export/import classes and functions from this module.