#include "../common/Translator.h"
#include "../common/progress/TaskProgress.h"
#include "../dataaccess/dataset/PrimaryKey.h"
#include "../dataaccess/dataset/DataSet.h"
#include "../dataaccess/dataset/DataSetAdapter.h"
#include "../dataaccess/dataset/DataSetType.h"
#include "../dataaccess/datasource/DataSourceCapabilities.h"
#include "../dataaccess/datasource/DataSourceInfo.h"
#include "../dataaccess/datasource/DataSourceManager.h"
#include "../dataaccess/datasource/DataSourceFactory.h"
#include "../dataaccess/dataset/DataSetTypeConverter.h"
#include "../dataaccess/query_h.h"
#include "../dataaccess/utils/Utils.h"
#include "../datatype/Property.h"
#include "../datatype/SimpleProperty.h"
#include "../datatype/StringProperty.h"
#include "../geometry/Geometry.h"
#include "../geometry/GeometryCollection.h"
#include "../geometry/GeometryProperty.h"
#include "../geometry/MultiPolygon.h"
#include "../maptools/AbstractLayer.h"
#include "../memory/DataSet.h"
#include "../memory/DataSetItem.h"
#include "../qt/widgets/layer/utils/DataSet2Layer.h"
#include "../sam/rtree.h"
#include "Buffer.h"
#include "BufferDialog.h"
#include "Config.h"
#include "Exception.h"
#include "Utils.h"
#include <map>
#include <math.h>
#include <string>
#include <vector>
#include <boost/lexical_cast.hpp>
#include <boost/algorithm/string.hpp>
Go to the source code of this file.
Functions | |
bool | BufferMemory (const std::string &inDatasetName, te::da::DataSource *inDataSource, const double &distance, const int &bufferPolygonRule, const int &bufferBoundariesRule, const bool ©InputColumns, const int &levels, te::mem::DataSet *outputDataSet, te::da::DataSetType *outputDataSetType, te::gm::GeomType outGeoType) |
bool | BufferMemory (const std::string &inDatasetName, te::da::DataSource *inDataSource, const std::string &distance, const int &bufferPolygonRule, const int &bufferBoundariesRule, const bool ©InputColumns, const int &levels, te::mem::DataSet *outputDataSet, te::da::DataSetType *outputDataSetType, te::gm::GeomType outGeoType) |
bool | BufferMemory (const std::string &inDatasetName, te::da::DataSource *inDataSource, const std::string &distance, const int &bufferPolygonRule, const int &bufferBoundariesRule, const int &levels, te::mem::DataSet *outputDataSet, te::da::DataSetType *outputDataSetType, te::gm::GeomType outGeoType) |
bool | BufferQuery (const std::string &inDatasetName, te::da::DataSource *inDataSource, const double &fixedDistance, const int &bufferPolygonRule, const int &bufferBoundariesRule, const bool ©InputColumns, const int &levels, te::mem::DataSet *outputDataSet, te::da::DataSetType *outputDataSetType, te::gm::GeomType outGeoType) |
bool | BufferQuery (const std::string &inDatasetName, te::da::DataSource *inDataSource, const std::string &fromAttDistance, const int &bufferPolygonRule, const int &bufferBoundariesRule, const bool ©InputColumns, const int &levels, te::mem::DataSet *outputDataSet, te::da::DataSetType *outputDataSetType, te::gm::GeomType outGeoType) |
te::da::DataSetType * | GetDataSetType (const std::string &inDatasetName, te::da::DataSource *inDataSource, const std::string &outputLayerName, const int &bufferBoundariesRule, const bool ©InputColumns) |
void | PrepareDataSet (te::da::DataSetType *dataSetType, te::da::DataSet *dataSetQuery, te::mem::DataSet *outputDataSet, const double &distance) |
te::gm::Geometry * | SetBuffer (te::gm::Geometry *geom, const int &bufferPolygonRule, const double &distance, const int &level, te::gm::Geometry *&auxGeom) |
bool BufferMemory | ( | const std::string & | inDatasetName, |
te::da::DataSource * | inDataSource, | ||
const double & | distance, | ||
const int & | bufferPolygonRule, | ||
const int & | bufferBoundariesRule, | ||
const bool & | copyInputColumns, | ||
const int & | levels, | ||
te::mem::DataSet * | outputDataSet, | ||
te::da::DataSetType * | outputDataSetType, | ||
te::gm::GeomType | outGeoType | ||
) |
Definition at line 238 of file Buffer.cpp.
References te::mem::DataSet::add(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::clear(), te::mem::DataSet::clear(), te::vp::DISSOLVE, te::dt::DOUBLE_TYPE, te::dt::GEOMETRY_TYPE, te::da::DataSource::getDataSet(), te::mem::DataSet::getExtent(), te::mem::DataSet::getGeometry(), te::mem::DataSet::getInt32(), te::gm::Geometry::getMBR(), te::da::GetPropertyPos(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::dt::INT32_TYPE, te::dt::INT64_TYPE, te::gm::Geometry::intersects(), te::mem::DataSet::moveBeforeFirst(), te::mem::DataSet::moveNext(), te::gm::MultiPolygonType, te::common::TaskProgress::pulse(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::remove(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), SetBuffer(), te::common::TaskProgress::setCurrentStep(), te::mem::DataSetItem::setDouble(), te::mem::DataSetItem::setGeometry(), te::mem::DataSetItem::setInt32(), te::mem::DataSetItem::setInt64(), te::common::TaskProgress::setMessage(), te::mem::DataSetItem::setString(), te::common::TaskProgress::setTotalSteps(), te::mem::DataSet::size(), te::dt::STRING_TYPE, te::gm::Geometry::Union(), and te::common::TaskProgress::useTimer().
Referenced by te::vp::Buffer().
bool BufferMemory | ( | const std::string & | inDatasetName, |
te::da::DataSource * | inDataSource, | ||
const std::string & | distance, | ||
const int & | bufferPolygonRule, | ||
const int & | bufferBoundariesRule, | ||
const bool & | copyInputColumns, | ||
const int & | levels, | ||
te::mem::DataSet * | outputDataSet, | ||
te::da::DataSetType * | outputDataSetType, | ||
te::gm::GeomType | outGeoType | ||
) |
bool BufferMemory | ( | const std::string & | inDatasetName, |
te::da::DataSource * | inDataSource, | ||
const std::string & | distance, | ||
const int & | bufferPolygonRule, | ||
const int & | bufferBoundariesRule, | ||
const int & | levels, | ||
te::mem::DataSet * | outputDataSet, | ||
te::da::DataSetType * | outputDataSetType, | ||
te::gm::GeomType | outGeoType | ||
) |
Definition at line 444 of file Buffer.cpp.
bool BufferQuery | ( | const std::string & | inDatasetName, |
te::da::DataSource * | inDataSource, | ||
const double & | fixedDistance, | ||
const int & | bufferPolygonRule, | ||
const int & | bufferBoundariesRule, | ||
const bool & | copyInputColumns, | ||
const int & | levels, | ||
te::mem::DataSet * | outputDataSet, | ||
te::da::DataSetType * | outputDataSetType, | ||
te::gm::GeomType | outGeoType | ||
) |
Definition at line 457 of file Buffer.cpp.
References te::vp::DISSOLVE, te::dt::GEOMETRY_TYPE, te::da::DataSource::getDataSetType(), te::da::GetFirstGeomProperty(), te::dt::Property::getName(), te::vp::INSIDE_OUTSIDE, te::vp::ONLY_OUTSIDE, PrepareDataSet(), and te::da::DataSource::query().
Referenced by te::vp::Buffer().
bool BufferQuery | ( | const std::string & | inDatasetName, |
te::da::DataSource * | inDataSource, | ||
const std::string & | fromAttDistance, | ||
const int & | bufferPolygonRule, | ||
const int & | bufferBoundariesRule, | ||
const bool & | copyInputColumns, | ||
const int & | levels, | ||
te::mem::DataSet * | outputDataSet, | ||
te::da::DataSetType * | outputDataSetType, | ||
te::gm::GeomType | outGeoType | ||
) |
Definition at line 569 of file Buffer.cpp.
References te::vp::DISSOLVE, te::da::DataSource::getDataSetType(), te::da::GetFirstGeomProperty(), te::dt::Property::getName(), te::vp::INSIDE_OUTSIDE, and te::da::DataSource::query().
te::da::DataSetType * GetDataSetType | ( | const std::string & | inDatasetName, |
te::da::DataSource * | inDataSource, | ||
const std::string & | outputLayerName, | ||
const int & | bufferBoundariesRule, | ||
const bool & | copyInputColumns | ||
) |
Definition at line 189 of file Buffer.cpp.
References te::da::PrimaryKey::add(), te::da::DataSetType::add(), te::dt::DOUBLE_TYPE, te::dt::GEOMETRY_TYPE, te::da::DataSource::getDataSetType(), te::da::GetFirstGeomProperty(), te::da::DataSource::getProperties(), te::gm::GeometryProperty::getSRID(), te::dt::INT32_TYPE, te::gm::MultiPolygonType, te::dt::SimpleProperty::setAutoNumber(), te::gm::GeometryProperty::setGeometryType(), te::da::DataSetType::setPrimaryKey(), and te::gm::GeometryProperty::setSRID().
Referenced by te::vp::Buffer().
void PrepareDataSet | ( | te::da::DataSetType * | dataSetType, |
te::da::DataSet * | dataSetQuery, | ||
te::mem::DataSet * | outputDataSet, | ||
const double & | distance | ||
) |
Definition at line 719 of file Buffer.cpp.
References te::mem::DataSet::add(), te::dt::DOUBLE_TYPE, te::dt::GEOMETRY_TYPE, te::da::DataSet::getDouble(), te::da::GetFirstSpatialPropertyPos(), te::da::DataSet::getGeometry(), te::da::DataSet::getInt32(), te::da::DataSet::getInt64(), te::da::DataSet::getNumProperties(), te::da::DataSet::getPropertyDataType(), te::da::DataSet::getString(), te::dt::INT32_TYPE, te::dt::INT64_TYPE, te::da::DataSet::moveBeforeFirst(), te::da::DataSet::moveNext(), te::gm::MultiPolygonType, te::mem::DataSetItem::setDouble(), te::mem::DataSetItem::setGeometry(), te::mem::DataSetItem::setInt32(), te::mem::DataSetItem::setInt64(), te::mem::DataSetItem::setString(), and te::dt::STRING_TYPE.
Referenced by BufferQuery().
te::gm::Geometry * SetBuffer | ( | te::gm::Geometry * | geom, |
const int & | bufferPolygonRule, | ||
const double & | distance, | ||
const int & | level, | ||
te::gm::Geometry *& | auxGeom | ||
) |
Definition at line 664 of file Buffer.cpp.
References te::gm::Geometry::buffer(), te::gm::CapButtType, te::dt::AbstractData::clone(), te::gm::Geometry::difference(), te::vp::INSIDE_OUTSIDE, te::gm::Geometry::isValid(), te::vp::ONLY_INSIDE, and te::vp::ONLY_OUTSIDE.
Referenced by BufferMemory().