39 #ifndef __OPENFLUID_LANDR_LANDRGRAPH_HPP__ 40 #define __OPENFLUID_LANDR_LANDRGRAPH_HPP__ 45 #include <ogrsf_frmts.h> 47 #include <geos/planargraph/PlanarGraph.h> 52 namespace geos {
namespace geom {
54 class GeometryFactory;
148 void addEntitiesFromGeoVector();
166 virtual LandREntity* createNewEntity(
const geos::geom::Geometry* Geom,
167 unsigned int OfldId) = 0;
174 geos::planargraph::Node* node(
const geos::geom::Coordinate& Coordinate);
196 Entities_t getEntities();
201 Entities_t getOfldIdOrderedEntities();
206 std::map<int, LandREntity*> getEntitiesByOfldId();
211 unsigned int getSize()
const;
216 void removeUnusedNodes();
223 void addAttribute(
const std::string& AttributeName);
230 void removeAttribute(
const std::string& AttributeName);
235 std::vector<std::string> getAttributeNames();
254 bool hasAnAssociatedRaster();
266 std::vector<geos::geom::Polygon*>* rasterPolygonizedPolys();
273 virtual double getRasterValueForEntityCentroid(
const LandREntity& Entity);
280 void setAttributeFromRasterValueAtCentroid(
const std::string& AttributeName);
287 virtual void setAttributeFromMeanRasterValues(
const std::string& AttributeName)=0;
292 void computeNeighbours();
299 void exportToShp(
const std::string& FilePath,
const std::string& FileName);
309 void setAttributeFromVectorId(
const std::string& AttributeName,
311 const std::string& IdColumn,
312 const std::string& ValueColumn);
322 void setAttributeFromVectorId(
const std::string& AttributeName,
324 const std::string& IdColumn,
325 const std::string& ValueColumn);
336 virtual void setAttributeFromVectorLocation(
const std::string& AttributeName,
338 const std::string& Column,
double Thresh=0.0001);
348 virtual void setAttributeFromVectorLocation(
const std::string& AttributeName,
350 const std::string& Column,
double Thresh=0.0001);
357 virtual void removeEntity(
int OfldId)=0;
363 void snapVertices(
double snapTolerance);
Definition: ApplicationException.hpp:47
Definition: LandRGraph.hpp:89
Interface for a graph composed of LandREntity.
Definition: LandRGraph.hpp:83
const geos::geom::GeometryFactory * mp_Factory
The geos::geom::GeometryFactory used to build this LandRGraph.
Definition: LandRGraph.hpp:104
GraphType
Definition: LandRGraph.hpp:87
Interface for managing Vector Data format.
Definition: VectorDataset.hpp:64
Definition: GeoRasterValue.hpp:58
Entities_t m_Entities
A list of the LandREntity of this LandRGraph.
Definition: LandRGraph.hpp:114
Definition: GeoVectorValue.hpp:56
Definition: LandREntity.hpp:53
openfluid::landr::VectorDataset * mp_Vector
The VectorDataset associated to this LandRGraph.
Definition: LandRGraph.hpp:99
static int m_FileNum
Definition: LandRGraph.hpp:131
openfluid::landr::VectorDataset * mp_RasterPolygonized
The VectorDataset representation of the RasterDataset associated to this LandRGraph.
Definition: LandRGraph.hpp:124
std::map< int, LandREntity * > m_EntitiesByOfldId
A map of the LandREntity of this LandRGraph and sorted by identifier.
Definition: LandRGraph.hpp:109
#define OPENFLUID_API
Definition: dllexport.hpp:86
Definition: LandRGraph.hpp:60
Interface for a landscape representation element.
Definition: LandREntity.hpp:69
openfluid::landr::RasterDataset * mp_Raster
The RasterDataset associated to this LandRGraph.
Definition: LandRGraph.hpp:119
Interface for managing Raster Data format.
Definition: RasterDataset.hpp:74
std::list< LandREntity * > Entities_t
Definition: LandRGraph.hpp:92
std::vector< geos::geom::Polygon * > * mp_RasterPolygonizedPolys
A vector of geos::geom::Polygon representation of the RasterDataset associated to this LandRGraph...
Definition: LandRGraph.hpp:129