39 #ifndef VECTORDATASET_HPP_
40 #define VECTORDATASET_HPP_
45 #include <ogrsf_frmts.h>
49 namespace geos {
namespace geom {
72 typedef std::list<std::pair<OGRFeature*, geos::geom::Geometry*> >
FeaturesList_t;
79 OGRDataSource* mp_DataSource;
84 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);
145 OGRDataSource* getDataSource();
150 OGRDataSource* getDataSource()
const;
158 void copyToDisk(
const std::string& FilePath,
159 const std::string& FileName,
160 bool ReplaceIfExists);
170 void addALayer(std::string LayerName =
"",
171 OGRwkbGeometryType LayerType = wkbUnknown,
172 OGRSpatialReference* SpatialRef = NULL);
179 OGRLayer* getLayer(
unsigned int LayerIndex = 0);
186 OGRFeatureDefn* getLayerDef(
unsigned int LayerIndex = 0);
195 void addAField(
const std::string& FieldName,
196 OGRFieldType FieldType = OFTString,
197 unsigned int LayerIndex = 0);
204 bool isLineType(
unsigned int LayerIndex = 0);
211 bool isPolygonType(
unsigned int LayerIndex = 0);
219 bool containsField(
const std::string& FieldName,
220 unsigned int LayerIndex = 0);
228 int getFieldIndex(
const std::string& FieldName,
229 unsigned int LayerIndex = 0);
239 bool isFieldOfType(
const std::string& FieldName,
240 OGRFieldType FieldType,
241 unsigned int LayerIndex = 0);
250 bool isIntValueSet(
const std::string& FieldName,
252 unsigned int LayerIndex = 0);
266 geos::geom::Geometry* getGeometries(
unsigned int LayerIndex = 0);
273 bool isPointType(
unsigned int LayerIndex = 0);
Interface for managing Vector Data format.
Definition: VectorDataset.hpp:65
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:72
Container class for geospatial vector data, represented by an OGR datasource.
Definition: GeoVectorValue.hpp:54
#define DLLEXPORT
Definition: dllexport.hpp:51