![]() |
Set of tools to manage LandR elements. More...
#include <landr/LandRTools.hpp>
Public Types | |
enum | Relationship { NONE, INTERSECTS, CONTAINS, EQUALS, TOUCHES } |
Static Public Member Functions | |
static geos::geom::LineString * | computeMergedLineStringFromGeometry (geos::geom::Geometry *Geom) |
Returns a geos::geom::LineString representing the linearized input geos::geom::Geometry. More... | |
static std::vector < geos::geom::LineString * > * | computeMergedLineStringsFromGeometry (geos::geom::Geometry *Geom) |
Returns a vector of geos::geom::LineString representing the linearized input geos::geom::Geometry. More... | |
static std::vector < geos::geom::LineString * > | computeVectorOfExteriorRings (openfluid::landr::VectorDataset &Val) |
Returns all exterior rings of the polygon-typed VectorDataset. More... | |
static std::vector < geos::geom::LineString * > | computeVectorOfLines (openfluid::landr::VectorDataset &Val) |
Returns all geos::geom::LineString composing of the linestring-typed VectorDataset. More... | |
static std::vector < geos::geom::LineString * > * | computeNodedLines (geos::geom::Geometry *Geom1, geos::geom::Geometry *Geom2, double SnapTolerance=0, double PrecisionReducer=10000000) |
Gets all full noded geos::geom::LineString from intersection between geom1 and geom2, with snap tolerance. More... | |
static geos::geom::Geometry * | computeSnapOverlayUnion (geos::geom::Geometry &Geom1, geos::geom::Geometry &Geom2, double SnapTolerance=0) |
Same as from geos::operation::overlay::snap::SnapOverlayOp::Union(), but with ability to use the wished snap tolerance value. More... | |
static bool | exists (geos::geom::LineString *Line, std::list< geos::geom::LineString * > RefLines, double Tolerance=0) |
Returns true if a geos::geom::LineString is exactly equals of an element of a list of geos::geom::LineString, up to a specified tolerance. More... | |
static void | polygonizeGeometry (std::vector< geos::geom::Geometry * > &Lines, std::vector< geos::geom::Polygon * > &Polygons, std::vector< const geos::geom::LineString * > &Dangles) |
Creates all possible geos::geom::Polygon from a geos::geom::Geometry. More... | |
static void | markVisitedNodesUsingDFS (geos::planargraph::Node *Node) |
Recursive depth first search algorithm in a LineStringGraph and mark visited Nodes. More... | |
static std::vector < geos::geom::Polygon * > | computeIntersectPolygons (geos::geom::Geometry *Geom1, geos::geom::Geometry *Geom2) |
Intersection of two geos::geom::Geometry of Polygons. More... | |
static std::vector < geos::geom::LineString * > | splitLineStringByPoint (geos::geom::LineString &Entity, geos::geom::Point &Point, double SnapTolerance) |
Splits a geos::geom::LineString by a geos::geom::Point. More... | |
static void | splitLineStringByPoints (geos::geom::LineString &Entity, std::vector< geos::geom::Point * > &Points, double SnapTolerance, std::vector< geos::geom::LineString * > &vLines, unsigned int step=0) |
Recursively split operation on a geos::geom::LineString by a vector of geos::geom::Point. More... | |
static std::vector < geos::geom::LineString * > * | cleanLineStrings (std::vector< geos::geom::LineString * > vLines, double SnapTolerance) |
Clean a vector of geos::geom::LineString (break at each intersection and remove duplicate geometry) More... | |
static std::vector < geos::geom::Point * > | computeNodesFromVectorOfLines (std::vector< geos::geom::LineString * > &NodedLines) |
Returns the nodes of a vector of geos::geom::LineString. More... | |
static void | markInvertedLineStringEntityUsingDFS (geos::planargraph::Node *Node, std::vector< int > &vectIdent) |
Returns the inverted openfluid::landr::LineStringEntity of a geos::planargraph using a recursive method. More... | |
static bool | isExtentsIntersect (std::vector< OGREnvelope > vEnvelope) |
Returns true if the OGREnvelope intersect, false otherwise. More... | |
Set of tools to manage LandR elements.
|
static |
Clean a vector of geos::geom::LineString (break at each intersection and remove duplicate geometry)
vLines | An existent vector of geos::geom::LineString. |
SnapTolerance | The tolerance to use. |
|
static |
Intersection of two geos::geom::Geometry of Polygons.
Geom1 | The geos::geom::Geometry to join with Geom2. |
Geom2 | The other geos::geom::Geometry. |
|
static |
Returns a geos::geom::LineString representing the linearized input geos::geom::Geometry.
Geom | The geos::geom::Geometry to linearize. |
|
static |
Returns a vector of geos::geom::LineString representing the linearized input geos::geom::Geometry.
Geom | The geos::geom::Geometry to linearize. |
|
static |
Gets all full noded geos::geom::LineString from intersection between geom1 and geom2, with snap tolerance.
Geom1 | The geos::geom::Geometry to node with Geom2. |
Geom2 | The other geos::geom::Geometry. |
SnapTolerance | The tolerance to use while computing intersections and equality of lines. |
PrecisionReducer | The PrecisionModel value for reducing coordinates precision, default is 10000000 (7 digits). |
|
static |
Returns the nodes of a vector of geos::geom::LineString.
NodedLines | A vector of geos::geom::LineString. |
|
static |
Same as from geos::operation::overlay::snap::SnapOverlayOp::Union(), but with ability to use the wished snap tolerance value.
Geom1 | The geos::geom::Geometry to join with Geom2. |
Geom2 | The other geos::geom::Geometry. |
SnapTolerance | The tolerance to use, default is 0. |
|
static |
Returns all exterior rings of the polygon-typed VectorDataset.
Val | A VectorDataset of polygons. |
openfluid::base::FrameworkException | if the VectorDataset is not polygon-typed. |
|
static |
Returns all geos::geom::LineString composing of the linestring-typed VectorDataset.
Val | A VectorDataset of linestrings. |
base::FrameworkException | if the VectorDataset is not linestring-typed. |
|
static |
Returns true if a geos::geom::LineString is exactly equals of an element of a list of geos::geom::LineString, up to a specified tolerance.
Line | The geos::geom::LineString to compare. |
RefLines | The list of geos::geom::LineString to compare to. |
Tolerance | The tolerance to use. |
|
static |
Returns true if the OGREnvelope intersect, false otherwise.
|
static |
Returns the inverted openfluid::landr::LineStringEntity of a geos::planargraph using a recursive method.
Node | A geos::planargraph::node of a geos::planargraph. |
vectIdent | A vector which will contain the identifier of each inverted openfluid::landr::LinestringEntity. |
|
static |
Recursive depth first search algorithm in a LineStringGraph and mark visited Nodes.
Node | the begin geos::planargraph::Node of LineStringGraph |
|
static |
Creates all possible geos::geom::Polygon from a geos::geom::Geometry.
Lines | The input vector of geos::geom::Geometry to polygonize. |
Polygons | The output vector of newly created geos::geom::Polygon. |
Dangles | The output vector of dangle geos::geom::LineString. |
|
static |
Splits a geos::geom::LineString by a geos::geom::Point.
Entity | An existent geos::geom::LineString. |
Point | A geos::geom::Point. |
SnapTolerance | The threshold distance used to find Point on Line. |
|
static |
Recursively split operation on a geos::geom::LineString by a vector of geos::geom::Point.
Entity | An existent geos::geom::LineString. |
Points | A vector of geos::geom::Point. |
SnapTolerance | The threshold distance used to find Point on Line. |
vLines | the resulting vector of geos::geom::LineString splitted. |
step | iterator of the vector of Point; default is 0. |