An abstract class to compute the buffer memory and buffer query operation. More...
#include <BufferOp.h>
Public Member Functions | |
| BufferOp () | |
| Default constructor that can be called by subclasses. More... | |
| virtual bool | paramsAreValid () |
| It verifies if the parameters are valid. More... | |
| virtual bool | run ()=0 |
| It executes the operation. More... | |
| void | setInput (te::da::DataSourcePtr inDsrc, std::string inDsetName, std::unique_ptr< te::da::DataSetTypeConverter > converter, const te::da::ObjectIdSet *oidSet=0) |
| It sets the input data will be calculated. More... | |
| void | setOutput (te::da::DataSourcePtr outDsrc, std::string dsname) |
| It sets the output parameters that will be used to persist operation result. More... | |
| void | setParams (const double &distance, const int &newSrid, const int &bufferPolygonRule, const int &bufferBoundariesRule, const bool ©InputColumns, const int &levels, const int &attributePosition=-1) |
| It sets the input parameters that will be consumed to execute the operation. More... | |
| virtual | ~BufferOp () |
| Virtual destructor. More... | |
Protected Member Functions | |
| te::da::DataSetType * | GetDataSetType () |
| It builds the output DataSetType. More... | |
Protected Attributes | |
| int | m_attributePosition |
| The buffer can be calculated by attribute values. The attribute must be numeric type. More... | |
| int | m_bufferBoundariesRule |
| The buffer boundary rule (DISSOLVE = 0 and NOT_DISSOLVE = 1). More... | |
| int | m_bufferPolygonRule |
| The buffer polygon rule (INSIDE_OUTSIDE = 0, ONLY_OUTSIDE = 1, ONLY_INSIDE = 2). More... | |
| std::unique_ptr< te::da::DataSetTypeConverter > | m_converter |
| The input datasettype. More... | |
| bool | m_copyInputColumns |
| Copy columns from input DataSet. More... | |
| double | m_distance |
| The fixed distance. More... | |
| std::string | m_inDsetName |
| The input dataset name. More... | |
| te::da::DataSourcePtr | m_inDsrc |
| The input datasource. More... | |
| int | m_levels |
| The number of levels buffer will have. More... | |
| int | m_newSRID |
| A new SRID if it's necessary to transform the data. More... | |
| const te::da::ObjectIdSet * | m_oidSet |
| The input objectid set. More... | |
| std::string | m_outDsetName |
| The output dataset name. More... | |
| te::da::DataSourcePtr | m_outDsrc |
| The output datasource. More... | |
An abstract class to compute the buffer memory and buffer query operation.
Definition at line 61 of file BufferOp.h.
| te::vp::BufferOp::BufferOp | ( | ) |
Default constructor that can be called by subclasses.
Definition at line 41 of file BufferOp.cpp.
|
inlinevirtual |
|
protected |
It builds the output DataSetType.
Definition at line 96 of file BufferOp.cpp.
References te::da::PrimaryKey::add(), te::da::DataSetType::add(), te::gm::GeometryProperty::clone(), te::dt::DOUBLE_TYPE, te::dt::GEOMETRY_TYPE, te::da::GetFirstGeomProperty(), te::dt::INT32_TYPE, m_converter, m_copyInputColumns, m_outDsetName, te::gm::MultiPolygonType, p, te::dt::SimpleProperty::setAutoNumber(), te::gm::GeometryProperty::setGeometryType(), te::da::DataSetType::setPrimaryKey(), and te::gm::GeometryProperty::setSRID().
Referenced by te::vp::BufferQuery::run(), and te::vp::BufferMemory::run().
|
virtual |
It verifies if the parameters are valid.
Definition at line 85 of file BufferOp.cpp.
References m_converter, m_outDsetName, and m_outDsrc.
Referenced by BufferOGRToOGR(), BufferOGRToPGIS(), BufferPGISToOGR(), BufferPGISToPGIS(), and te::vp::BufferDialog::onOkPushButtonClicked().
|
pure virtual |
It executes the operation.
Implemented in te::vp::BufferMemory, and te::vp::BufferQuery.
Referenced by BufferOGRToOGR(), BufferOGRToPGIS(), BufferPGISToOGR(), BufferPGISToPGIS(), and te::vp::BufferDialog::onOkPushButtonClicked().
| void te::vp::BufferOp::setInput | ( | te::da::DataSourcePtr | inDsrc, |
| std::string | inDsetName, | ||
| std::unique_ptr< te::da::DataSetTypeConverter > | converter, | ||
| const te::da::ObjectIdSet * | oidSet = 0 |
||
| ) |
It sets the input data will be calculated.
| inDsrc | Where data is located. |
| inDsetName | DataSet name. |
| converter | DataSetTypeConverterr. |
| oidSet | ObjectIdSet - It is necessary if has need to execute with a set of specific objects |
Definition at line 51 of file BufferOp.cpp.
References m_converter, m_inDsetName, m_inDsrc, and m_oidSet.
Referenced by BufferOGRToOGR(), BufferOGRToPGIS(), BufferPGISToOGR(), BufferPGISToPGIS(), and te::vp::BufferDialog::onOkPushButtonClicked().
| void te::vp::BufferOp::setOutput | ( | te::da::DataSourcePtr | outDsrc, |
| std::string | dsname | ||
| ) |
It sets the output parameters that will be used to persist operation result.
| outDsrc | Where data is will be persisted. |
| dsname | The name os output data. |
Definition at line 79 of file BufferOp.cpp.
References m_outDsetName, and m_outDsrc.
Referenced by BufferOGRToOGR(), BufferOGRToPGIS(), BufferPGISToOGR(), BufferPGISToPGIS(), and te::vp::BufferDialog::onOkPushButtonClicked().
| void te::vp::BufferOp::setParams | ( | const double & | distance, |
| const int & | newSrid, | ||
| const int & | bufferPolygonRule, | ||
| const int & | bufferBoundariesRule, | ||
| const bool & | copyInputColumns, | ||
| const int & | levels, | ||
| const int & | attributePosition = -1 |
||
| ) |
It sets the input parameters that will be consumed to execute the operation.
| distance | A numeric value to set a fixed distance to buffer. |
| bufferPolygonRule | The rule used for buffer result (INSIDE_OUTSIDE = 0, ONLY_OUTSIDE = 1, ONLY_INSIDE = 2). |
| bufferBoundariesRule | The BoundariesBetweenBuffers can be dissolved or not - (DISSOLVE = 0 and NOT_DISSOLVE = 1). |
| copyInputColumns | Copy columns from input DataSet. |
| levels | The number of levels buffer will have. |
| attributePosition | The buffer can be calculated by attribute values. The attribute must be numeric type. |
Definition at line 62 of file BufferOp.cpp.
References m_attributePosition, m_bufferBoundariesRule, m_bufferPolygonRule, m_copyInputColumns, m_distance, m_levels, and m_newSRID.
Referenced by BufferOGRToOGR(), BufferOGRToPGIS(), BufferPGISToOGR(), BufferPGISToPGIS(), and te::vp::BufferDialog::onOkPushButtonClicked().
|
protected |
The buffer can be calculated by attribute values. The attribute must be numeric type.
Definition at line 148 of file BufferOp.h.
Referenced by te::vp::BufferMemory::dissolveMemory(), te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setParams().
|
protected |
The buffer boundary rule (DISSOLVE = 0 and NOT_DISSOLVE = 1).
Definition at line 145 of file BufferOp.h.
Referenced by te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setParams().
|
protected |
The buffer polygon rule (INSIDE_OUTSIDE = 0, ONLY_OUTSIDE = 1, ONLY_INSIDE = 2).
Definition at line 144 of file BufferOp.h.
Referenced by te::vp::BufferQuery::run(), te::vp::BufferMemory::setBuffer(), and setParams().
|
protected |
The input datasettype.
Definition at line 139 of file BufferOp.h.
Referenced by te::vp::BufferMemory::dissolveMemory(), GetDataSetType(), paramsAreValid(), te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setInput().
|
protected |
Copy columns from input DataSet.
Definition at line 146 of file BufferOp.h.
Referenced by GetDataSetType(), te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setParams().
|
protected |
The fixed distance.
Definition at line 142 of file BufferOp.h.
Referenced by te::vp::BufferMemory::dissolveMemory(), te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setParams().
|
protected |
The input dataset name.
Definition at line 138 of file BufferOp.h.
Referenced by te::vp::BufferMemory::run(), and setInput().
|
protected |
The input datasource.
Definition at line 137 of file BufferOp.h.
Referenced by te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setInput().
|
protected |
The number of levels buffer will have.
Definition at line 147 of file BufferOp.h.
Referenced by te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setParams().
|
protected |
A new SRID if it's necessary to transform the data.
Definition at line 143 of file BufferOp.h.
Referenced by te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setParams().
|
protected |
The input objectid set.
Definition at line 140 of file BufferOp.h.
Referenced by te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setInput().
|
protected |
The output dataset name.
Definition at line 151 of file BufferOp.h.
Referenced by GetDataSetType(), paramsAreValid(), and setOutput().
|
protected |
The output datasource.
Definition at line 150 of file BufferOp.h.
Referenced by paramsAreValid(), te::vp::BufferQuery::run(), te::vp::BufferMemory::run(), and setOutput().