24 #include "../dataaccess/dataset/DataSet.h"
25 #include "../dataaccess/dataset/DataSetAdapter.h"
26 #include "../dataaccess/dataset/DataSetType.h"
27 #include "../dataaccess/dataset/DataSetTypeConverter.h"
28 #include "../dataaccess/datasource/DataSource.h"
29 #include "../dataaccess/datasource/DataSourceCapabilities.h"
30 #include "../dataaccess/utils/Utils.h"
32 #include "../datatype/Property.h"
33 #include "../datatype/StringProperty.h"
35 #include "../geometry/GeometryProperty.h"
37 #include "../statistics/core/Utils.h"
49 std::string inDsetName,
50 std::auto_ptr<te::da::DataSetType> inDsetType)
53 m_inDsetName = inDsetName;
54 m_inDsetType = inDsetType;
58 std::vector<te::vp::GeometricOperation> operations,
60 std::string attribute,
63 m_selectedProps = selectedProps;
64 m_operations = operations;
65 m_objStrategy = objStrategy;
66 m_attribute = attribute;
67 m_outputLayer = outputLayer;
73 m_outDsetName = dsname;
78 if (!m_inDsetType.get())
81 if (!m_inDsetType->hasGeom())
84 if (m_outDsetName.empty() || !m_outDsrc.get())
92 return m_outDsetNameVec;
96 bool multiGeomColumns,
108 dsType->
setTitle(m_outDsetName +
"_convex_hull");
113 dsType->
add(pkProperty);
124 dsType->
setTitle(m_outDsetName +
"_centroid");
129 dsType->
add(pkProperty);
140 dsType->
setTitle(m_outDsetName +
"_mbr");
145 dsType->
add(pkProperty);
164 for(std::size_t i = 0; i < m_selectedProps.size(); ++i)
179 for(std::size_t i = 0; i < m_operations.size(); ++i)
181 int op = m_operations[i];
199 dsType->
add(perimeter);
212 bool flagGeom =
false;
213 for(std::size_t i = 0; i< m_operations.size(); ++i)
215 switch(m_operations[i])
222 dsType->
add(convGeom);
231 dsType->
add(centroidGeom);
240 dsType->
add(mbrGeom);
268 dsType->
add(geometry);
274 bool flagGeom =
false;
282 dsType->
add(geometry);
291 dsType->
add(geometry);
300 dsType->
add(geometry);
328 dsType->
add(geometry);
void setAutoNumber(bool a)
It tells if the property is an autonumber or not.
void setTitle(const std::string &title)
It sets a human descriptive title for the DataSetType.
te::da::DataSetType * GetDataSetType(te::vp::GeometricOpObjStrategy, bool MultiGeomColumns, int geomOp=-1)
void add(te::dt::Property *p)
It adds a property to the list of properties of the primary key.
void setSRID(int srid)
It sets the spatial reference system identifier associated to this property.
void setGeometryType(GeomType t)
It sets the geometry subtype.
std::vector< std::string > GetOutputDSetNames()
An atomic property like an integer or double.
The geographic operation Line.
boost::shared_ptr< DataSource > DataSourcePtr
The geographic operation Minimum Bounding Rectangle.
A class that models the description of a dataset.
virtual Property * clone() const =0
It returns a clone of the object.
It models a property definition.
GeometricOpObjStrategy
Defines the strategy used for the processing of the input geometries.
The geographic operation Area.
int getSRID() const
It returns the spatial reference system identifier associated to this property.
GeomType getGeometryType() const
It returns the geometry subtype allowed for the property.
Aggregate objects by attribute.
The geographic operation Perimeter.
void setOutput(std::auto_ptr< te::da::DataSource > outDsrc, std::string dsname)
The geographic operation Centroid.
void add(Constraint *c)
It adds a new constraint.
It describes a primary key (pk) constraint.
virtual bool paramsAreValid()
The geographic operation Convex Hull.
TEDATAACCESSEXPORT te::gm::GeometryProperty * GetFirstGeomProperty(const DataSetType *dt)
void setInput(te::da::DataSourcePtr inDsrc, std::string inDsetName, std::auto_ptr< te::da::DataSetType > inDsetType)
All objects individually.
void setParams(std::vector< std::string > selectedProps, std::vector< te::vp::GeometricOperation > operations, te::vp::GeometricOpObjStrategy objStrategy, std::string attribute, bool outputLayer)
void setPrimaryKey(PrimaryKey *pk)
It sets the primary key constraint.
void setParent(Property *p)
It associate this property to the informed parent.