27 #include "../dataaccess/dataset/DataSet.h" 29 #include "../datatype/Property.h" 31 #include "../dataaccess/query/And.h" 32 #include "../dataaccess/query/DataSetName.h" 33 #include "../dataaccess/query/EqualTo.h" 34 #include "../dataaccess/query/Expression.h" 35 #include "../dataaccess/query/Field.h" 36 #include "../dataaccess/query/Fields.h" 37 #include "../dataaccess/query/From.h" 38 #include "../dataaccess/query/FromItem.h" 39 #include "../dataaccess/query/GreaterThan.h" 40 #include "../dataaccess/query/GroupBy.h" 41 #include "../dataaccess/query/GroupByItem.h" 42 #include "../dataaccess/query/LiteralBool.h" 43 #include "../dataaccess/query/LiteralInt32.h" 44 #include "../dataaccess/query/PropertyName.h" 45 #include "../dataaccess/query/Select.h" 46 #include "../dataaccess/query/ST_AddPoint.h" 47 #include "../dataaccess/query/ST_Collect.h" 48 #include "../dataaccess/query/ST_Dump.h" 49 #include "../dataaccess/query/ST_IsClosed.h" 50 #include "../dataaccess/query/ST_MakePolygon.h" 51 #include "../dataaccess/query/ST_NPoints.h" 52 #include "../dataaccess/query/ST_SetSRID.h" 53 #include "../dataaccess/query/ST_StartPoint.h" 54 #include "../dataaccess/query/SubSelect.h" 55 #include "../dataaccess/query/Where.h" 56 #include "../dataaccess/utils/Utils.h" 58 #include "../geometry/GeometryProperty.h" 80 std::unique_ptr<te::da::DataSet> dsQuery =
m_inDsrc->query(select);
105 std::vector<te::dt::Property*> props = dataSetType->
getProperties();
127 for(std::size_t i = 0; i < props.size(); ++i)
133 tabFields->push_back(field);
139 if (geomPropSource->
getSRID() != geomProp->getSRID())
149 makePolygonFields = tabFields->clone().release();
155 makePolygonFields->push_back(f_makePolygon);
161 fromPol->push_back(fromItemPol);
186 collectFields = tabFields->clone().release();
192 collectFields->push_back(f_collect);
196 from->push_back(fromItem);
200 te::da::Fields::iterator f_it;
202 for(f_it = tabFields->begin(); f_it < tabFields->end(); ++f_it)
205 groupBy->push_back(e_groupBy);
218 std::vector<te::dt::Property*> props = dataSetType->
getProperties();
240 for(std::size_t i = 0; i < props.size(); ++i)
246 tabFields->push_back(field);
252 if (geomPropSource->
getSRID() != geomProp->getSRID())
262 dumpFields = tabFields->clone().release();
266 dumpFields->push_back(f_dump);
272 fromDumped->push_back(fromItemDumped);
282 makePolygonFields = tabFields->clone().release();
291 makePolygonFields->push_back(f_makePolygon);
295 fromMakePol->push_back(fromItemMakePol);
327 collectFields = tabFields->clone().release();
333 collectFields->push_back(f_collect);
337 from->push_back(fromItem);
341 te::da::Fields::iterator f_it;
343 for(f_it = tabFields->begin(); f_it < tabFields->end(); ++f_it)
346 groupBy->push_back(e_groupBy);
It models the inequality operator greater than (>).
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.
A class that models the name of any property of an object.
A class that models the description of a dataset.
ST_Collect statistical function.
const te::da::ObjectIdSet * m_oidSet
This class models a bool Literal value.
te::da::DataSourcePtr m_outDsrc
Boolean logic operator: AND.
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)
Spatial is cloded operator.
te::da::Select getSelectQueryForceCloseLines(da::DataSetType *dataSetType)
const std::vector< Property * > & getProperties() const
It returns the list of properties describing the CompositeProperty.
int getSRID() const
It returns the spatial reference system identifier associated to this property.
bool run() _NOEXCEPT_OP(false)
ST_MakePolygon statistical function.
te::da::Select getSelectQueryClosedLines(da::DataSetType *dataSetType)
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.
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_inDsrc
It models the comparison operator.
Line To Polygon Vector Processing functions.
A Select can be used as a source of information in another query.
Spatial add point operator.
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
Spatial start point operator.
Spatial number of points operator.
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()