27 #include "../dataaccess/dataset/DataSet.h" 28 #include "../dataaccess/dataset/DataSetAdapter.h" 29 #include "../dataaccess/query/DataSetName.h" 30 #include "../dataaccess/query/Expression.h" 31 #include "../dataaccess/query/Field.h" 32 #include "../dataaccess/query/Fields.h" 33 #include "../dataaccess/query/From.h" 34 #include "../dataaccess/query/FromItem.h" 35 #include "../dataaccess/query/GroupBy.h" 36 #include "../dataaccess/query/GroupByItem.h" 37 #include "../dataaccess/query/LiteralInt32.h" 38 #include "../dataaccess/query/PropertyName.h" 39 #include "../dataaccess/query/Select.h" 40 #include "../dataaccess/query/ST_Boundary.h" 41 #include "../dataaccess/query/ST_Collect.h" 42 #include "../dataaccess/query/ST_Dump.h" 43 #include "../dataaccess/query/ST_DumpRings.h" 44 #include "../dataaccess/query/ST_SetSRID.h" 45 #include "../dataaccess/query/SubSelect.h" 46 #include "../dataaccess/query/Where.h" 47 #include "../dataaccess/utils/Utils.h" 49 #include "../datatype/Property.h" 50 #include "../geometry/GeometryProperty.h" 68 std::vector<te::dt::Property*> props = outDsType->getProperties();
78 for(std::size_t i = 0; i < props.size(); ++i)
84 pol_fields->push_back(field);
90 if (geomPropSource->getSRID() != geomProp->getSRID())
102 pol_fields->push_back(f_dump);
109 fromPol->push_back(fromItemPol);
121 for(std::size_t i = 0; i < props.size(); ++i)
127 line_fields->push_back(field);
135 line_fields->push_back(f_boundary);
141 fromLine->push_back(fromItemLine);
148 for(std::size_t i = 0; i < props.size(); ++i)
154 union_fields->push_back(field);
161 union_fields->push_back(f_union);
167 from->push_back(fromItem);
173 for(std::size_t i = 0; i < props.size(); ++i)
178 groupBy->push_back(e_groupBy);
183 std::unique_ptr<te::da::DataSet> dsQuery(
m_inDsrc->query(select));
ST_DumpRings statistical function.
boost::ptr_vector< GroupByItem > GroupBy
A class that can be used to model a GROUP BY clause.
A class that can be used in a GROUP BY clause.
An abstract class that models a source of data in a query.
The Field class can be used to model an expression that takes part of the output items of a SELECT...
A class that models the name of a dataset used in a From clause.
ST_Boundary statistical function.
A class that models the name of any property of an object.
Base exception class for plugin module.
ST_Collect statistical function.
Polygon To Line Vector Processing functions.
This is an abstract class that models a query expression.
TEVPEXPORT void Save(te::da::DataSource *source, te::da::DataSet *result, te::da::DataSetType *outDsType, const bool &enableProgress=true)
std::unique_ptr< te::da::DataSetTypeConverter > m_converter
boost::ptr_vector< Field > Fields
Fields is just a boost::ptr_vector of Field pointers.
A class that can be used to model a filter expression that can be applied to a query.
Utility functions for the data access module.
te::da::DataSourcePtr m_inDsrc
void setGroupBy(GroupBy *g)
It sets the list of expressions used to condense the result set.
ST_Dump statistical function.
A Select models a query to be used when retrieving data from a DataSource.
boost::ptr_vector< FromItem > From
It models the FROM clause for a query.
Spatial Set SRID operator.
te::da::DataSourcePtr m_outDsrc
const te::da::ObjectIdSet * m_oidSet
A Select can be used as a source of information in another query.
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
Expression * getExpression() const
It returns the expression that can be used to retrieve the data set that contains the all indentified...
std::unique_ptr< te::da::DataSetType > buildOutDataSetType()