39 #ifndef __OPENFLUID_LANDR_VECTORDATASET_HPP__    40 #define __OPENFLUID_LANDR_VECTORDATASET_HPP__    47 #include <ogrsf_frmts.h>    53 namespace geos { 
namespace geom {
    71     typedef std::list<std::pair<OGRFeature*, geos::geom::Geometry*> > 
FeaturesList_t;
    83     std::map<unsigned int, FeaturesList_t> m_Features;
    89     std::map<unsigned int, geos::geom::Geometry*> m_Geometries;
    94     std::string getTimestampedPath(
const std::string& OriginalFileName);
    99     std::string getInitializedTmpPath();
   106     bool isAlreadyExisting(
const std::string& Path);
   112     void parse(
unsigned int LayerIndex);
   114     void snapLineNodes(
double Threshold,
unsigned int LayerIndex=0);
   116     void snapPolygonVertices(
double Threshold,
unsigned int LayerIndex=0);
   163     void copyToDisk(
const std::string& FilePath,
   164                     const std::string& FileName,
   165                     bool ReplaceIfExists);
   175     void addALayer(std::string LayerName = 
"",
   176                    OGRwkbGeometryType LayerType = wkbUnknown,
   177                    OGRSpatialReference* SpatialRef = 
nullptr);
   184     OGRLayer* layer(
unsigned int LayerIndex = 0);
   191     OGRFeatureDefn* layerDef(
unsigned int LayerIndex = 0);
   200     void addAField(
const std::string& FieldName,
   201                    OGRFieldType FieldType = OFTString,
   202                    unsigned int LayerIndex = 0);
   209     bool isLineType(
unsigned int LayerIndex = 0);
   216     bool isPolygonType(
unsigned int LayerIndex = 0);
   224     bool containsField(
const std::string& FieldName,
   225                        unsigned int LayerIndex = 0);
   233     int getFieldIndex(
const std::string& FieldName,
   234                       unsigned int LayerIndex = 0);
   244     bool isFieldOfType(
const std::string& FieldName,
   245                        OGRFieldType FieldType,
   246                        unsigned int LayerIndex = 0);
   255     bool isIntValueSet(
const std::string& FieldName,
   257                        unsigned int LayerIndex = 0);
   264     FeaturesList_t features(
unsigned int LayerIndex = 0);
   272     geos::geom::Geometry* geometries(
unsigned int LayerIndex = 0);
   279     bool isPointType(
unsigned int LayerIndex = 0);
   287     void setIndexIntField(
const std::string& FieldName,
   289                           unsigned int LayerIndex = 0);
   294     OGREnvelope envelope();
   302     void snapVertices(
double Threshold,
unsigned int LayerIndex=0);
   311     std::string checkTopology(
double Threshold, 
unsigned int LayerIndex=0);
   319     std::list<std::pair<OGRFeature*, OGRFeature*> > findOverlap(
unsigned int LayerIndex=0);
   328     std::list<std::pair<OGRFeature*, OGRFeature*> > findGap(
double Threshold,
unsigned int LayerIndex=0);
   336     void cleanOverlap(
double Threshold, 
unsigned int LayerIndex=0);
   343     std::list<OGRFeature*> hasDuplicateGeometry(
unsigned int LayerIndex=0);
 
std::list< std::pair< OGRFeature *, geos::geom::Geometry * > > FeaturesList_t
A list of pair of OGRFeature and geos::geom::Geometry related to this VectorDataset entities...
Definition: VectorDataset.hpp:71
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: ApplicationException.hpp:47
Interface for managing Vector Data format. 
Definition: VectorDataset.hpp:64
#define GDALDataset_COMPAT
Definition: GDALCompatibility.hpp:72
Definition: LandREntity.hpp:53
Definition: GeoVectorValue.hpp:55