27 #include "../dataaccess/datasource/DataSourceInfo.h" 
   28 #include "../dataaccess/datasource/DataSourceManager.h" 
   29 #include "../dataaccess/utils/Utils.h" 
   30 #include "../geometry/Geometry.h" 
   31 #include "../geometry/GeometryCollection.h" 
   32 #include "../geometry/GeometryProperty.h" 
   33 #include "../geometry/MultiPoint.h" 
   34 #include "../geometry/MultiLineString.h" 
   35 #include "../geometry/MultiPolygon.h" 
   36 #include "../geometry/Point.h" 
   37 #include "../memory/DataSet.h" 
   45 #include <boost/algorithm/string.hpp> 
   51   std::auto_ptr<te::gm::Geometry> seedGeometry = items[0]->getGeometry(geomIdx);
 
   54     resultGeometry = seedGeometry.release();
 
   58     std::auto_ptr<te::gm::Geometry> teGeom = items[1]->getGeometry(geomIdx);
 
   61       resultGeometry = seedGeometry->
Union(teGeom.release());
 
   63       resultGeometry = seedGeometry.release();
 
   69     for(std::size_t i = 1; i < items.size(); ++i)
 
   71       std::auto_ptr<te::gm::Geometry> currentGeom = items[i]->getGeometry(geomIdx);
 
   73       if(currentGeom->isValid())
 
   74         teGeomColl->
add(currentGeom.release());
 
   77     resultGeometry = seedGeometry->
Union(teGeomColl);
 
   87       for(std::size_t i = 0; i < geomVec.size(); ++i)
 
  105     return resultGeometry;
 
  112   std::auto_ptr<te::gm::Geometry> seedGeometry = items[0]->getGeometry(geomIdx);
 
  115     resultGeometry = seedGeometry.release();
 
  117   if(items.size() == 2)
 
  119     std::auto_ptr<te::gm::Geometry> teGeom = items[1]->getGeometry(geomIdx);
 
  121     if(teGeom->isValid())
 
  122       resultGeometry = seedGeometry->
Union(teGeom.release());
 
  124       resultGeometry = seedGeometry.release();
 
  130     for(std::size_t i = 1; i < items.size(); ++i)
 
  132       std::auto_ptr<te::gm::Geometry> currentGeom = items[i]->getGeometry(geomIdx);
 
  134       if(currentGeom->isValid())
 
  135         teGeomColl->
add(currentGeom.release());
 
  138     resultGeometry = seedGeometry->
Union(teGeomColl);
 
  141   return resultGeometry;
 
  147   for(std::size_t i = 0; i < geomVec.size(); ++i)
 
  151       gcOut->
add(geomVec[i]);
 
  159   std::size_t found = fullName.rfind(
".");
 
  161   if(found >= std::string::npos)
 
  164   return fullName.substr(found + 1);
 
int getSRID() const 
It returns the Spatial Reference System ID associated to this geometric object. 
 
GeomType
Each enumerated type is compatible with a Well-known Binary (WKB) type code. 
 
Utility functions for the data access module. 
 
te::gm::Geometry * GetGeometryUnion(const std::vector< te::mem::DataSetItem * > &items, size_t geomIdx, te::gm::GeomType outGeoType)
It returns the union of a geometry vector. 
 
void SplitGeometryCollection(te::gm::GeometryCollection *geomIn, te::gm::GeometryCollection *gcOut)
 
GeomType getGeomTypeId() const 
It returns the geometry subclass type identifier. 
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
te::gm::GeomType GeomOpResultType(te::gm::GeomType firstGeom, te::gm::GeomType secondGeom)
 
void add(Geometry *g)
It adds the geometry into the collection. 
 
const std::vector< Geometry * > & getGeometries() const 
It returns a reference to the internal list of geometries. 
 
void setGeometryN(std::size_t i, Geometry *g)
It sets the n-th geometry in this geometry collection. 
 
virtual Geometry * Union(const Geometry *const rhs) const 
It returns a geometric object that represents the point set union with another geometry. 
 
It is a collection of other geometric objects. 
 
std::string GetSimpleTableName(std::string fullName)