28 #include "../dataaccess/dataset/DataSet.h"
30 #include "../datatype/Property.h"
32 #include "../dataaccess/query/DataSetName.h"
33 #include "../dataaccess/query/Expression.h"
34 #include "../dataaccess/query/Field.h"
35 #include "../dataaccess/query/Fields.h"
36 #include "../dataaccess/query/From.h"
37 #include "../dataaccess/query/FromItem.h"
38 #include "../dataaccess/query/GroupBy.h"
39 #include "../dataaccess/query/GroupByItem.h"
40 #include "../dataaccess/query/PropertyName.h"
41 #include "../dataaccess/query/Select.h"
42 #include "../dataaccess/query/ST_Boundary.h"
43 #include "../dataaccess/query/ST_Collect.h"
44 #include "../dataaccess/query/ST_Dump.h"
45 #include "../dataaccess/query/ST_DumpRings.h"
46 #include "../dataaccess/query/SubSelect.h"
47 #include "../dataaccess/query/Where.h"
65 std::auto_ptr<te::da::DataSetType> outDsType = buildOutDataSetType();
66 std::vector<te::dt::Property*> props = outDsType->getProperties();
70 for(std::size_t i = 0; i < props.size(); ++i)
76 pol_fields->push_back(field);
83 pol_fields->push_back(f_dump);
89 fromPol->push_back(fromItemPol);
101 for(std::size_t i = 0; i < props.size(); ++i)
107 line_fields->push_back(field);
115 line_fields->push_back(f_boundary);
121 fromLine->push_back(fromItemLine);
128 for(std::size_t i = 0; i < props.size(); ++i)
134 union_fields->push_back(field);
141 union_fields->push_back(f_union);
147 from->push_back(fromItem);
153 for(std::size_t i = 0; i < props.size(); ++i)
158 groupBy->push_back(e_groupBy);
163 std::auto_ptr<te::da::DataSet> dsQuery(m_inDsrc->query(select));
165 te::vp::Save(m_outDsrc.get(), dsQuery.get(), outDsType.get());
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.
void Save(te::da::DataSource *source, te::da::DataSet *result, te::da::DataSetType *outDsType)
ST_Collect statistical function.
Polygon To Line Vector Processing functions.
This is an abstract class that models a query expression.
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.
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.
A Select can be used as a source of information in another query.