39 #ifndef LANDRGRAPH_HPP_
40 #define LANDRGRAPH_HPP_
42 #include <geos/planargraph/PlanarGraph.h>
44 #include <ogrsf_frmts.h>
47 namespace geos {
namespace geom {
49 class GeometryFactory;
55 namespace planargraph {
142 void addEntitiesFromGeoVector();
160 virtual LandREntity* getNewEntity(
const geos::geom::Geometry* Geom,
161 unsigned int OfldId) = 0;
168 geos::planargraph::Node* getNode(
const geos::geom::Coordinate& Coordinate);
200 std::map<int, LandREntity*> getEntitiesByOfldId();
205 unsigned int getSize()
const;
210 void removeUnusedNodes();
217 void addAttribute(
const std::string& AttributeName);
224 void removeAttribute(
const std::string& AttributeName);
229 std::vector<std::string> getAttributeNames();
248 bool hasAnAssociatedRaster();
260 std::vector<geos::geom::Polygon*>* getRasterPolygonizedPolys();
267 virtual float* getRasterValueForEntityCentroid(
const LandREntity& Entity);
274 void setAttributeFromRasterValueAtCentroid(
const std::string& AttributeName);
281 virtual void setAttributeFromMeanRasterValues(
const std::string& AttributeName)=0;
286 void computeNeighbours();
293 void exportToShp(
const std::string& FilePath,
const std::string& FileName);
302 void setAttributeFromVectorId(
const std::string& AttributeName,
304 const std::string& Column);
313 void setAttributeFromVectorId(
const std::string& AttributeName,
315 const std::string& Column);
325 virtual void setAttributeFromVectorLocation(
const std::string& AttributeName,
327 const std::string& Column,
double Thresh=0.0001);
337 virtual void setAttributeFromVectorLocation(
const std::string& AttributeName,
339 const std::string& Column,
double Thresh=0.0001);
346 virtual void removeEntity(
int OfldId)=0;
352 void snapVertices(
double snapTolerance);
Interface for managing Vector Data format.
Definition: VectorDataset.hpp:65
Entities_t m_Entities
A list of the LandREntity of this LandRGraph.
Definition: LandRGraph.hpp:108
GraphType
Definition: LandRGraph.hpp:82
Interface for managing Raster Data format.
Definition: RasterDataset.hpp:63
openfluid::landr::VectorDataset * mp_Vector
The VectorDataset associated to this LandRGraph.
Definition: LandRGraph.hpp:93
Interface for a landscape representation element.
Definition: LandREntity.hpp:63
std::map< int, LandREntity * > m_EntitiesByOfldId
A map of the LandREntity of this LandRGraph and sorted by identifier.
Definition: LandRGraph.hpp:103
Container class for geospatial raster data, represented by a GDAL dataset.
Definition: GeoRasterValue.hpp:55
std::vector< geos::geom::Polygon * > * mp_RasterPolygonizedPolys
A vector of geos::geom::Polygon representation of the RasterDataset associated to this LandRGraph...
Definition: LandRGraph.hpp:123
Interface for a graph composed of LandREntity.
Definition: LandRGraph.hpp:78
const geos::geom::GeometryFactory * mp_Factory
The geos::geom::GeometryFactory used to build this LandRGraph.
Definition: LandRGraph.hpp:98
openfluid::landr::VectorDataset * mp_RasterPolygonized
The VectorDataset representation of the RasterDataset associated to this LandRGraph.
Definition: LandRGraph.hpp:118
std::list< LandREntity * > Entities_t
Definition: LandRGraph.hpp:87
static int FileNum
Definition: LandRGraph.hpp:125
openfluid::landr::RasterDataset * mp_Raster
The RasterDataset associated to this LandRGraph.
Definition: LandRGraph.hpp:113
Container class for geospatial vector data, represented by an OGR datasource.
Definition: GeoVectorValue.hpp:54
Definition: LandRGraph.hpp:84
#define DLLEXPORT
Definition: dllexport.hpp:51