Namespace for the Vector Geometry module of TerraLib. More...
Classes | |
class | AbstractValidator |
An abstract class to represent an algorithm that validates an geometry. More... | |
class | AbstractValidatorPtr |
class | AbstractValidatorSharedPtr |
class | AddProjectedCoordinates |
class | AffineGT |
2D Affine Geometric transformation. More... | |
class | AffineGTFactory |
2D Affine Geometric transformation factory. More... | |
class | CellTilling |
Algorithm to help controlling creating and iterating in a tile. More... | |
class | CircularString |
CircularString is a curve with circular interpolation between points. More... | |
class | CompoundCurve |
CompoundCurve is a curve that may have circular and linear segments. More... | |
struct | Coord2D |
An utility struct for representing 2D coordinates. More... | |
struct | CoordDistanceOrderFunctor |
This local struct is used sorts a vector of coordinates by distance. More... | |
class | CoordinateSnapper |
Algorithm to snap existing "close" coordinates to each other based uppon a given tolerance, ensuring that they now have the exactly same location. More... | |
class | Curve |
Curve is an abstract class that represents 1-dimensional geometric objects stored as a sequence of coordinates. More... | |
class | CurvePolygon |
CurvePolygon is a planar surface defined by 1 exterior boundary and 0 or more interior boundaries. More... | |
class | Distance |
class | Envelope |
An Envelope defines a 2D rectangular region. More... | |
class | FixGeometryTopology |
A static class with methods to fix geometry topology. More... | |
class | FixNoding |
class | FixOrientation |
class | FixRepeatedCoordinates |
class | GeometricTransformation |
2D Geometric transformation base class. More... | |
class | Geometry |
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. More... | |
class | GeometryCollection |
It is a collection of other geometric objects. More... | |
class | GeometryFactory |
This is the Geometry factory for TerraLib geometries. More... | |
class | GeometryProperty |
Geometric property. More... | |
class | GeometryPtr |
class | GeometrySharedPtr |
class | GeometrySubdivider |
This class contains functions to help subdivide a geometry into small parts. More... | |
class | GEOSWriter |
A class that converts a TerraLib geometry to a GEOS geometry. More... | |
class | GTFactory |
2D Geometric transformation factory. More... | |
class | GTFilter |
2D Geometric transformation tie-points filter (outliers remotion). More... | |
class | GTModelParameters |
2D Geometric transformation model parameters. More... | |
class | GTParameters |
2D Geometric transformation parameters. More... | |
class | Line |
A Line is LineString with 2 points. More... | |
class | LinearRing |
A LinearRing is a LineString that is both closed and simple. More... | |
class | LineString |
LineString is a curve with linear interpolation between points. More... | |
class | MergeCoordinates |
class | Module |
This singleton defines the TerraLib Vector Geometry module entry. More... | |
class | MultiCurve |
MultiCurve is a class that represents a 1-dimensional GeometryCollection whose elements are curves. More... | |
class | MultiLineString |
MultiLineString is a MultiCurve whose elements are LineStrings. More... | |
class | MultiPoint |
MultiPoint is a GeometryCollection whose elements are restricted to points. More... | |
class | MultiPolygon |
MultiPolygon is a MultiSurface whose elements are Polygons. More... | |
class | MultiSurface |
MultiSurface is a class that represents a 2-dimensional GeometryCollection whose elements are surfaces. More... | |
class | Point |
A point with x and y coordinate values. More... | |
struct | PointDistanceOrderFunctor |
This local struct is used sorts a vector of points by distance. More... | |
class | Polygon |
Polygon is a subclass of CurvePolygon whose rings are defined by linear rings. More... | |
class | PolyhedralSurface |
PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments. More... | |
class | ProjectiveGT |
2D Projective Geometric transformation. More... | |
class | ProjectiveGTFactory |
2D Projective Geometric transformation factory. More... | |
class | RemoveCollapsedSegments |
class | RSTGT |
class | RSTGTFactory |
2D RST Geometric transformation factory. More... | |
class | SafeOverlay |
A class containing helper methods to make overlay algorithms more robust and safer to execute when dealing with invalid geometries. \description When some exception is thrown during the execution of the basic overlay algorithms, this class will handle it, try to make the geoemtries valid, and try again. More... | |
class | SecondDegreePolynomialGT |
Second Degree Polynomial Geometric transformation. More... | |
class | SecondDegreePolynomialGTFactory |
2D Second Degree Polynomial Geometric transformation factory. More... | |
class | SpatialIndex |
class | Surface |
Surface is an abstract class that represents a 2-dimensional geometric objects. More... | |
class | ThirdDegreePolynomialGT |
Third Degree Polynomial Geometric transformation. More... | |
class | ThirdDegreePolynomialGTFactory |
2D Third Degree Polynomial Geometric transformation factory. More... | |
class | TIN |
TIN (triangulated irregular network) is a PolyhedralSurface consisting only of Triangle patches. More... | |
struct | TopologyValidationError |
This struct contains informations about GEOS TopologyValidationError. More... | |
class | TranslationGT |
2D translation(X,Y) Geometric transformation. More... | |
class | TranslationGTFactory |
2D Translation Geometric transformation factory. More... | |
class | Triangle |
Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary. More... | |
class | Validation |
class | Visitor |
A visitor interface for the Geometry hierarchy. More... | |
class | WKBReader |
A class that deserializes a geometry from a valid WKB. More... | |
class | WKBSize |
A class that computes the number of bytes necessary to encode a geometry in WKB. More... | |
class | WKBWriter |
A class that serializes a geometry to the WKB format. More... | |
class | WKTActions |
A class that implements the Grammar Rules for well known text (WKT) format for Geometry. More... | |
class | WKTParser |
class | WKTReader |
A class that deserializes a Geometry from a valid WKT. More... | |
class | WKTWriter |
A class that serializes a geometry to the WKT format. More... | |
Typedefs | |
using | GeometryPair = std::pair< te::gm::GeometryPtr, te::gm::GeometryPtr > |
using | GeometryVector = std::vector< te::gm::Geometry * > |
using | GeometryVectorConst = std::vector< const te::gm::Geometry * > |
using | KD_SINGLE_NODE = te::sam::kdtree::Node< te::gm::Coord2D, std::size_t, std::size_t, te::sam::kdtree::kd_node_m_datasingle_tag > |
using | KdTreeSingle = te::sam::kdtree::Index< KD_SINGLE_NODE > |
using | MapFragments = std::map< te::gm::Coord2D, VecFragments > |
using | VecCoords = std::vector< te::gm::Coord2D > |
using | VecFragments = std::vector< VecCoords > |
Functions | |
TEGEOMEXPORT LineString * | AddIntersectionPoints (const te::sam::rtree::Index< std::size_t, 8 > &rtree, const std::vector< te::gm::LineString > &candidateSegments, const std::set< std::size_t > &setIndexesIgnored, const te::gm::LineString &lr_Reference, const bool &usePerpendicularDistance=false, double tolerance=0.000000001) |
Add intersection points in a LinearRing based on a Vector of LineString as reference. | |
TEGEOMEXPORT void | AddLineString (te::gm::LineString *lineString, te::gm::GeometryVector &pAdd) |
Add the linestring given to the vector. | |
TEGEOMEXPORT void | AddPolygon (te::gm::Polygon *polygon, te::gm::GeometryVector &pAdd) |
Add all line strings from the polygon given to the vector given. | |
TEGEOMEXPORT bool | AdjustSegment (te::gm::Point *P0, te::gm::Point *P1, double d0, te::gm::Coord2D &P0out, te::gm::Coord2D &P1out) |
TEGEOMEXPORT Envelope | AdjustToCut (const Envelope &env, double bWidth, double bHeight) |
Finds the correspondent smallest box that allows a box to be cut in blocks of a given size. | |
TEGEOMEXPORT te::gm::Geometry * | CascadedPolygonUnion (const std::vector< te::gm::Polygon * > &polygonVector) |
Provides an efficient method of unioning a collection of Polygonal geometries. This algorithm is faster and likely more robust than the simple iterated approach of repeatedly unioning each polygon to a result geometry. | |
TEGEOMEXPORT te::gm::Geometry * | CascadedUnion (const std::vector< te::gm::Geometry * > &vecGeometries) |
Provides an efficient method of unioning a collection of geometries. This algorithm is faster and likely more robust than the simple iterated approach of repeatedly unioning each polygon to a result geometry. | |
TEGEOMEXPORT te::gm::Geometry * | ClipGeometry (const te::gm::Geometry *geometry, const te::gm::Envelope &clipArea) |
Clips the given geometry to the given clipArea. | |
TEGEOMEXPORT void | ClosestPoints (te::gm::Geometry *geomA, te::gm::Geometry *geomB, te::gm::Coord2D &coordA, te::gm::Coord2D &coordB) |
Compute the the closest points of two geometries. | |
template<typename GeometryTypeT > | |
void | ConvertGeometryType (const std::vector< GeometryTypeT * > &vecGeometries, te::gm::GeomType geomType, te::gm::GeometryVector &outputGeomsPtrsVec) |
Converts the given geometries set to the given geometry type. | |
TEGEOMEXPORT void | ConvertGeometryType (te::gm::Geometry const *const inGeomPtr, const te::gm::GeomType targetGeomType, te::gm::GeometryVector &outputGeomsPtrsVec) |
Converts the given geometry to the given geometry type. | |
TEGEOMEXPORT te::gm::GeometryPtr | CreateCollectionFromGeometryVector (const te::gm::GeometryVector &geometryVector) |
Creates a geometry collection based on the given geometryVector. | |
TEGEOMEXPORT te::gm::Envelope | CreateEnvelope (const te::gm::Coord2D &coord, double extension) |
Creates an envelope by expanding the dimension of the given coordinate using the given extension. The extension value will be used to expand the envelope in the four directions. The result envelope will have width = (2 * extension) and height = (2 * extension) | |
TEGEOMEXPORT te::gm::Envelope | CreateEnvelope (const te::gm::Point &p1, const te::gm::Point &p2) |
Creates an envelope that fits the given coordinates. It makes all the adjustments needed to return a valid envelope. | |
TEGEOMEXPORT te::gm::Envelope | CreateEnvelope (double x1, double y1, double x2, double y2) |
Creates an envelope that fits the given coordinates. It makes all the adjustments needed to return a valid envelope. | |
TEGEOMEXPORT te::gm::LineString | CreateLine (const te::gm::Coord2D &startCoord, const te::gm::Coord2D &endCoord, const int &srid, const int &numberOfIntermediateCoords) |
Creates a LineString between the given startCoord and endCoord with the given number of intermediate coordinates. | |
TEGEOMEXPORT te::gm::GeometryPtr | CreatePolygon (const te::gm::Curve *curve) |
Creates a polygon from the given curve. | |
TEGEOMEXPORT te::gm::Polygon | CreatePolygon (const te::gm::Envelope &box, const int &srid, const int &numberOfIntermediateCoords) |
Creates a Polygon from the given envelope and with the given number of intermediate coordinates in each of its four borders lines. | |
TEGEOMEXPORT const std::string | Get2DGeometryType (const te::gm::GeomType &type) |
It returns the name of 2D geometry subclass. | |
TEGEOMEXPORT GeomType | Get2DGeomTypeId (const te::gm::GeomType &type) |
It returns the 2D geometry subclass type identifier. | |
TEGEOMEXPORT double | GetAngle (te::gm::Coord2D coordA, te::gm::Coord2D coordB) |
TEGEOMEXPORT double | GetAppropriatePrecision (int srid) |
Returns the appropriate precision to be used by spatial operations that adjust geometric data from other geometric systems. | |
TEGEOMEXPORT double | GetArea (const te::gm::Geometry *geometry) |
Calculates the area of the given geometry. If the geometry is from dimension 0 or 1, it returns 0. | |
TEGEOMEXPORT std::vector< MultiLineString * > | GetAsMultiLineStringVector (const te::gm::Geometry &geometry) |
Get the vector of MultLineStrings that compose the Geometry. | |
int | GetCoordDimension (GeomType t) |
It returns the number of measurements or axes needed to describe a position in a coordinate system. | |
TEGEOMEXPORT std::unique_ptr< te::gm::Geometry > | GetGeometryUnion (const te::gm::GeometryVectorConst &geomVec, double tolerance=0.000000001) |
It returns the union of a geometry vector. | |
TEGEOMEXPORT Geometry * | GetGeomFromEnvelope (const Envelope *const e, int srid) |
It creates a Geometry (a polygon) from the given envelope. | |
TEGEOMEXPORT te::gm::Coord2D | GetInteriorPoint (const te::gm::Geometry *geometry) |
As geos Explanation: An interior point is guaranteed to lie in the interior of the Geometry, if it possible to calculate such a point exactly. Otherwise, the point may lie on the boundary of the geometry. | |
TEGEOMEXPORT te::gm::Line * | GetIntersectionLine (te::gm::Geometry *geom, te::gm::Coord2D coord) |
TEGEOMEXPORT std::vector< te::gm::Coord2D > | GetIntersectionPointsByOperators (const te::gm::LineString &lsReference, const std::vector< te::gm::LineString > &candidates, double tolerance=0.000000001) |
Gets a vector of LineString reference points including intersection points using GEOS operators. | |
TEGEOMEXPORT std::vector< te::gm::Coord2D > | GetIntersectionPointsByPerpendicularDistance (const te::gm::LineString &lsReference, const std::vector< te::gm::LineString > &candidates, double tolerance=0.000000001) |
Gets a vector of LineString reference points including intersection points using perpendicular distance. | |
TEGEOMEXPORT te::gm::GeomType | GetMultiLineStringType (const te::gm::Geometry &geometry) |
Get the LineStrings that compose the Geometry. | |
TEGEOMEXPORT te::gm::GeomType | GetMultiType (te::gm::GeomType geomType) |
Get the collection type of GeomType. | |
TEGEOMEXPORT te::gm::GeomType | GetSimpleType (te::gm::GeomType geomType) |
Get the simple type of GeomType. | |
TEGEOMEXPORT bool | HasMDim (te::gm::GeomType geomType) |
Returns true if the given type has M dimension. | |
TEGEOMEXPORT bool | HasZDim (te::gm::GeomType geomType) |
Returns true if the given type has Z dimension. | |
TEGEOMEXPORT bool | isCCW (const te::gm::LinearRing *ring) |
Checks if a LinearRing is in Counter-clockwise orientation. | |
TEGEOMEXPORT bool | IsMultiType (te::gm::GeomType geomType) |
Verifies if the geomType is a collection type. | |
TEGEOMEXPORT bool | IsNullOrEmpty (const te::gm::Geometry *geometry) |
Checks if the geometry is null or empty. | |
TEGEOMEXPORT bool | IsNullOrEmpty (const te::gm::GeometryPtr &geometry) |
Checks if the geometry is null or empty. | |
TEGEOMEXPORT bool | IsPointOnPolygon (const te::gm::Coord2D &coord, const te::gm::Geometry *geometry) |
Checks if the given point in within the given polygon or multipolygon geometry. | |
TEGEOMEXPORT Coord2D * | locateAlong (const LineString *line, double initial, double final, double target) |
Make the line interpolation to find a target. | |
TEGEOMEXPORT void | Multi2Single (const te::gm::Geometry *g, std::vector< te::gm::Geometry * > &geoms) |
It will get a GeometryCollection and distribute in a vector. | |
TEGEOMEXPORT te::gm::Geometry * | MultiLineToDefinedType (const std::vector< te::gm::MultiLineString * > &multiLineStringVector, te::gm::GeomType geometryType) |
A geometry is built based on a Vector of MultiLineString and the origin geometry type. | |
TEGEOMEXPORT te::gm::Geometry * | NormalizeGeometryByType (const te::gm::Geometry *geometry, te::gm::GeomType singleGeometryType) |
Normalizes and filters the given geometry based on the given simple type. \description If the given geometry if already from the given simple type, it will clone the geometry and return it. If the geometry is from the multi type related to the single, it will clone the geometry and return it. If the geometry is a collection, it will search for geometries from the given single type and multi type, and return them in a collection related to the given type. | |
TEGEOMEXPORT te::gm::LineString * | ParallelLine (const te::gm::LineString *line, double distance) |
Creates a parallel line from the given line. Here will use the distance for offset between the original line and the parallel. | |
TEGEOMEXPORT void | Polygonizer (const te::gm::GeometryVector &vecInput, te::gm::GeometryVector &vecOutput) |
It will get a list of polygons formed by the polygonization. | |
TEGEOMEXPORT void | Polygonizer (te::gm::Geometry *g, std::vector< te::gm::Polygon * > &pols) |
It will get a list of polygons formed by the polygonization. | |
TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Geometry *geom_A, const te::gm::GeometryVector &vecGeomB, bool &wasChanged, double tolerance=0.000000001) |
Prepares the geometry A with intersection points in geometry B. | |
TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Geometry *geom_A, const te::gm::GeometryVector &vecGeomB, bool checkValidityAndFix, bool &wasChanged, double tolerance=0.000000001) |
TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Geometry *geom_A, te::gm::Geometry *geomB, bool &wasChanged, double tolerance=0.000000001) |
Prepares the geometry A with intersection points in geometry B. | |
TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Geometry *geom_A, te::gm::Geometry *geomB, bool checkValidityAndFix, bool &wasChanged, double tolerance=0.000000001) |
TEGEOMEXPORT te::gm::GeometryVector | PrepareGeometriesToIntersection (const te::gm::GeometryVectorConst &vecGeometries, bool &wasChanged, double tolerance=0.000000001) |
Prepares the geometries vector to be used in overlay operations. \description It has two steps: 1 - Tries to snap the existing coordinates to make them be exactly the same if the are within the given tolerance; 2 - It breaks crossing segments in the intersection coordinates, sometimes gerating new coordinates in both segments. | |
TEGEOMEXPORT te::gm::LineString * | PrepareGeometriesToIntersection (const te::gm::LineString &ls_A, const te::sam::rtree::Index< std::size_t, 8 > &rtree, std::vector< te::gm::LineString > &vecRtreeSegments, bool &wasChanged, double tolerance=0.000000001) |
Prepares the LineString A with intersection points in LineString B. | |
TEGEOMEXPORT te::gm::MultiLineString * | PrepareGeometriesToIntersection (const te::gm::MultiLineString &mline_A, const te::sam::rtree::Index< std::size_t, 8 > &rtree, std::vector< te::gm::LineString > &vecRtreeSegments, bool &wasChanged, double tolerance=0.000000001) |
Prepares the MultiLineString A with intersection points in MultiLineString B. | |
TEGEOMEXPORT bool | RelationMatches (const std::string &relation, const std::string &relationPattern) |
Tests if the given relation matrix matches with the given relation pattern. This pattern is based on the Dimensionally Extended nine-Intersection Model (DE-9IM) | |
TEGEOMEXPORT bool | Rotate (te::gm::Coord2D pr, te::gm::LineString *l, double angle, te::gm::LineString *lOut) |
TEGEOMEXPORT bool | SatisfySpatialRelation (const Geometry *g1, const Geometry *g2, SpatialRelation relation) |
It returns if two geometries satisfy a given spatial relation. | |
TEGEOMEXPORT te::gm::Geometry * | Single2Multi (const te::gm::Geometry *g) |
It will get geometry and return the related GeometryCollection type. | |
TEGEOMEXPORT LineString * | SnapLineToPoints (const te::sam::rtree::Index< std::size_t, 8 > &rtree, const std::vector< te::gm::LineString > &referenceSegments, const std::set< std::size_t > &setIndexesIgnored, const te::gm::LineString &linearRingToSnap, bool &wasChanged, double tolerance=0.000000001) |
Snaps a LinearRing based on a set of LineString. | |
TEGEOMEXPORT std::vector< te::gm::Geometry * > | SplitGeometry (const te::gm::Geometry *inputGeometry, const te::gm::Geometry *bladeLineGeometry) |
Splits the given 'inputGeometry' (must be an area) using the given 'bladeLineGeometry' (must be a line) | |
TEGEOMEXPORT te::gm::GeometryVectorConst | ToConstVector (const te::gm::GeometryVector &vecGeometries) |
TEGEOMEXPORT te::gm::Geometry * | UnaryUnion (te::gm::Geometry *geom) |
It will get the union of the input geometries. | |
Geometry Methods | |
Methods related to Geometry conversion. | |
te::dt::AbstractData * | GeometryToByteArrayConverter (te::dt::AbstractData *d) |
It converts a Geometry data value to a ByteArray data value. | |
te::dt::AbstractData * | GeometryToStringConverter (te::dt::AbstractData *d) |
It converts a Geometry data value to a String data value. | |
te::dt::AbstractData * | ByteArrayToGeometryConverter (te::dt::AbstractData *d) |
It converts a ByteArray data value to a Geometry data value. | |
te::dt::AbstractData * | StringToGeometryConverter (te::dt::AbstractData *d) |
It converts a String data value to a Geometry data value. | |
using te::gm::GeometryPair = typedef std::pair<te::gm::GeometryPtr, te::gm::GeometryPtr> |
Definition at line 44 of file SafeOverlay.h.
using te::gm::GeometryVector = typedef std::vector<te::gm::Geometry*> |
Definition at line 50 of file CommonDataStructures.h.
using te::gm::GeometryVectorConst = typedef std::vector<const te::gm::Geometry*> |
Definition at line 51 of file CommonDataStructures.h.
using te::gm::KD_SINGLE_NODE = typedef te::sam::kdtree::Node<te::gm::Coord2D, std::size_t, std::size_t, te::sam::kdtree::kd_node_m_datasingle_tag> |
Definition at line 47 of file CommonDataStructures.h.
using te::gm::KdTreeSingle = typedef te::sam::kdtree::Index<KD_SINGLE_NODE> |
Definition at line 48 of file CommonDataStructures.h.
using te::gm::MapFragments = typedef std::map<te::gm::Coord2D, VecFragments> |
Definition at line 47 of file RemoveCollapsedSegments.h.
using te::gm::VecCoords = typedef std::vector<te::gm::Coord2D> |
Definition at line 45 of file RemoveCollapsedSegments.h.
using te::gm::VecFragments = typedef std::vector<VecCoords> |
Definition at line 46 of file RemoveCollapsedSegments.h.
enum te::gm::GeomType |
Each enumerated type is compatible with a Well-known Binary (WKB) type code.
These are all WKB geometry types that TerraLib knows how to encode or decode. The values follows OGC Simple Feature Specification (SFS).
Enumerator | |
---|---|
GeometryType | Geometry is not instantiable but this is the general type for geometries in R2 (x, y). |
GeometryZType | Geometry is not instantiable but this is the general type for geometries in R3 (x, y, z). |
GeometryMType | Geometry is not instantiable but this is the general type for geometries in R3 (x, y, m). |
GeometryZMType | Geometry is not instantiable but this is the general type for geometries in R4 (x, y, z, m). |
PointType | A point in R2 with coordinate values for x and y. |
PointZType | A point in R3 with coordinate values for x, y and z. |
PointMType | A point in R3 with coordinate values for x, y and m. |
PointZMType | A point in R4 with coordinate values for x, y, z and m. |
PointKdType | A point in Rn with k coordinate values. |
LineStringType | A LineString in R2 with coordinate values for x and y. |
LineStringZType | A LineString in R3 with coordinate values for x, y and z. |
LineStringMType | A LineString in R3 with coordinate values for x, y and m. |
LineStringZMType | A LineString in R4 with coordinate values for x, y, z and m. |
CircularStringType | A CircularString in R2 with coordinate values for x and y. |
CircularStringZType | A CircularString in R3 with coordinate values for x, y and z. |
CircularStringMType | A CircularString in R3 with coordinate values for x, y and m. |
CircularStringZMType | A CircularString in R4 with coordinate values for x, y, z and m. |
CompoundCurveType | A CompoundCurve in R2 with coordinate values for x and y. |
CompoundCurveZType | A CompoundCurve in R3 with coordinate values for x, y and z. |
CompoundCurveMType | A CompoundCurve in R3 with coordinate values for x, y and m. |
CompoundCurveZMType | A CompoundCurve in R4 with coordinate values for x, y, z and m. |
PolygonType | A Polygon in R2 with coordinate values for x and y. |
PolygonZType | A Polygon in R3 with coordinate values for x, y and z. |
PolygonMType | A Polygon in R3 with coordinate values for x, y and m. |
PolygonZMType | A Polygon in R4 with coordinate values for x, y, z and m. |
CurvePolygonType | A CurvePolygon in R2 with coordinate values for x and y. |
CurvePolygonZType | A CurvePolygon in R3 with coordinate values for x, y and z. |
CurvePolygonMType | A CurvePolygon in R3 with coordinate values for x, y and m. |
CurvePolygonZMType | A CurvePolygon in R4 with coordinate values for x, y, z and m. |
GeometryCollectionType | A GeometryCollection in R2 with coordinate values for x and y. |
GeometryCollectionZType | A GeometryCollection in R3 with coordinate values for x, y and z. |
GeometryCollectionMType | A GeometryCollection in R3 with coordinate values for x, y and m. |
GeometryCollectionZMType | A GeometryCollection in R4 with coordinate values for x, y, z and m. |
MultiPointType | A MultiPoint in R2 with coordinate values for x and y. |
MultiPointZType | A MultiPoint in R3 with coordinate values for x, y and z. |
MultiPointMType | A MultiPoint in R3 with coordinate values for x, y and m. |
MultiPointZMType | A MultiPoint in R4 with coordinate values for x, y, z and m. |
MultiLineStringType | A MultiLineString in R2 with coordinate values for x and y. |
MultiLineStringZType | A MultiLineString in R3 with coordinate values for x, y and z. |
MultiLineStringMType | A MultiLineString in R3 with coordinate values for x, y and m. |
MultiLineStringZMType | A MultiLineString in R4 with coordinate values for x, y, z and m. |
MultiPolygonType | A MultiPolygon in R2 with coordinate values for x and y. |
MultiPolygonZType | A MultiPolygon in R3 with coordinate values for x, y and z. |
MultiPolygonMType | A MultiPolygon in R3 with coordinate values for x, y and m. |
MultiPolygonZMType | A MultiPolygon in R4 with coordinate values for x, y, z and m. |
MultiSurfaceType | A MultiSurface in R2 with coordinate values for x and y. |
MultiSurfaceZType | A MultiSurface in R3 with coordinate values for x, y and z. |
MultiSurfaceMType | A MultiSurface in R3 with coordinate values for x, y and m. |
MultiSurfaceZMType | A MultiSurface in R4 with coordinate values for x, y, z and m. |
PolyhedralSurfaceType | A PolyhedralSurface in R2 with coordinate values for x and y. |
PolyhedralSurfaceZType | A PolyhedralSurface in R3 with coordinate values for x, y and z. |
PolyhedralSurfaceMType | A PolyhedralSurface in R3 with coordinate values for x, y and m. |
PolyhedralSurfaceZMType | A PolyhedralSurface in R4 with coordinate values for x, y, z and m. |
TINType | A TIN in R2 with coordinate values for x and y. |
TINZType | A TIN in R3 with coordinate values for x, y and z. |
TINMType | A TIN in R3 with coordinate values for x, y and m. |
TINZMType | A TIN in R4 with coordinate values for x, y, z and m. |
TriangleType | A Triangle in R2 with coordinate values for x and y. |
TriangleZType | A Triangle in R3 with coordinate values for x, y and z. |
TriangleMType | A Triangle in R3 with coordinate values for x, y and m. |
TriangleZMType | A Triangle in R4 with coordinate values for x, y, z and m. |
UnknownGeometryType | Just a marker for an unknown geometry type. |
TEGEOMEXPORT LineString * te::gm::AddIntersectionPoints | ( | const te::sam::rtree::Index< std::size_t, 8 > & | rtree, |
const std::vector< te::gm::LineString > & | candidateSegments, | ||
const std::set< std::size_t > & | setIndexesIgnored, | ||
const te::gm::LineString & | lr_Reference, | ||
const bool & | usePerpendicularDistance = false , |
||
double | tolerance = 0.000000001 |
||
) |
Add intersection points in a LinearRing based on a Vector of LineString as reference.
rtree | The R-tree contains the candidates envelopes as reference to snap. |
candidateSegments | A vector of LineString that is used as reference to snap. |
setIndexesIgnored | A set of indexes of candidates that had must be ignored in the processing. This set is used for optimization purposes |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
lr_Reference | A LinearRing that will be added new points of intersection. |
usePerpendicularDistance | True if the new points are added by perpendicular distance algorithm. |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT void te::gm::AddLineString | ( | te::gm::LineString * | lineString, |
te::gm::GeometryVector & | pAdd | ||
) |
Add the linestring given to the vector.
linestring | line string |
pAdd | A reference to a vector of geometries. |
TEGEOMEXPORT void te::gm::AddPolygon | ( | te::gm::Polygon * | polygon, |
te::gm::GeometryVector & | pAdd | ||
) |
Add all line strings from the polygon given to the vector given.
polygon | polygon from which to extract line strings |
pAdd | A reference to a vector of geometries. |
TEGEOMEXPORT bool te::gm::AdjustSegment | ( | te::gm::Point * | P0, |
te::gm::Point * | P1, | ||
double | d0, | ||
te::gm::Coord2D & | P0out, | ||
te::gm::Coord2D & | P1out | ||
) |
TEGEOMEXPORT Envelope te::gm::AdjustToCut | ( | const Envelope & | env, |
double | bWidth, | ||
double | bHeight | ||
) |
Finds the correspondent smallest box that allows a box to be cut in blocks of a given size.
env | Reference envelope |
bWidth | Block width |
bHeight | Block height |
te::dt::AbstractData * te::gm::ByteArrayToGeometryConverter | ( | te::dt::AbstractData * | d | ) |
It converts a ByteArray data value to a Geometry data value.
d | The input data value. |
It | throws an exception if the input abstract data is not a ByteArray type. |
It | throws an exception if the conversion can be not done. |
TEGEOMEXPORT te::gm::Geometry * te::gm::CascadedPolygonUnion | ( | const std::vector< te::gm::Polygon * > & | polygonVector | ) |
Provides an efficient method of unioning a collection of Polygonal geometries. This algorithm is faster and likely more robust than the simple iterated approach of repeatedly unioning each polygon to a result geometry.
polygonVector | A vector of polygons. |
TEGEOMEXPORT te::gm::Geometry * te::gm::CascadedUnion | ( | const std::vector< te::gm::Geometry * > & | vecGeometries | ) |
TEGEOMEXPORT te::gm::Geometry * te::gm::ClipGeometry | ( | const te::gm::Geometry * | geometry, |
const te::gm::Envelope & | clipArea | ||
) |
Clips the given geometry to the given clipArea.
geometry | The geometry to be clipped |
clipArea | The clipping area |
TEGEOMEXPORT void te::gm::ClosestPoints | ( | te::gm::Geometry * | geomA, |
te::gm::Geometry * | geomB, | ||
te::gm::Coord2D & | coordA, | ||
te::gm::Coord2D & | coordB | ||
) |
void te::gm::ConvertGeometryType | ( | const std::vector< GeometryTypeT * > & | vecGeometries, |
te::gm::GeomType | geomType, | ||
te::gm::GeometryVector & | outputGeomsPtrsVec | ||
) |
Converts the given geometries set to the given geometry type.
vecGeometries | Input geometries vector. |
targetGeomType | Target geometry type. |
outputGeomsPtrsVec | A vector of converted geometries or, if the conversion is not possible, an empty vector is returned. |
Definition at line 727 of file Utils.h.
References ConvertGeometryType().
TEGEOMEXPORT void te::gm::ConvertGeometryType | ( | te::gm::Geometry const *const | inGeomPtr, |
const te::gm::GeomType | targetGeomType, | ||
te::gm::GeometryVector & | outputGeomsPtrsVec | ||
) |
Converts the given geometry to the given geometry type.
inGeomPtr | Input geometry pointer. |
targetGeomType | Target geometry type. |
outputGeomsPtrsVec | A vector of converted geometries or, if the conversion is not possible, an empty vector is returned. |
Referenced by ConvertGeometryType().
TEGEOMEXPORT te::gm::GeometryPtr te::gm::CreateCollectionFromGeometryVector | ( | const te::gm::GeometryVector & | geometryVector | ) |
Creates a geometry collection based on the given geometryVector.
geometryVector | The input geometry vector |
TEGEOMEXPORT te::gm::Envelope te::gm::CreateEnvelope | ( | const te::gm::Coord2D & | coord, |
double | extension | ||
) |
Creates an envelope by expanding the dimension of the given coordinate using the given extension. The extension value will be used to expand the envelope in the four directions. The result envelope will have width = (2 * extension) and height = (2 * extension)
coord | The reference coordinate |
extension | The extension to expand the the envelope |
TEGEOMEXPORT te::gm::Envelope te::gm::CreateEnvelope | ( | const te::gm::Point & | p1, |
const te::gm::Point & | p2 | ||
) |
Creates an envelope that fits the given coordinates. It makes all the adjustments needed to return a valid envelope.
p1 | The first point |
p2 | The second point |
TEGEOMEXPORT te::gm::Envelope te::gm::CreateEnvelope | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2 | ||
) |
Creates an envelope that fits the given coordinates. It makes all the adjustments needed to return a valid envelope.
x1 | The coordinate X of the first point |
y1 | The coordinate Y of the first point |
x2 | The coordinate X of the second point |
y2 | The coordinate Y of the second point |
TEGEOMEXPORT te::gm::LineString te::gm::CreateLine | ( | const te::gm::Coord2D & | startCoord, |
const te::gm::Coord2D & | endCoord, | ||
const int & | srid, | ||
const int & | numberOfIntermediateCoords | ||
) |
Creates a LineString between the given startCoord and endCoord with the given number of intermediate coordinates.
startCoord | The first coordinate of the line |
endCoord | The last coordinate of the line |
srid | The srid of the line |
numberOfIntermediateCoords | The number of intermediate coordinates of the line |
TEGEOMEXPORT te::gm::GeometryPtr te::gm::CreatePolygon | ( | const te::gm::Curve * | curve | ) |
Creates a polygon from the given curve.
curve | The curve to be used to create a polygon |
TEGEOMEXPORT te::gm::Polygon te::gm::CreatePolygon | ( | const te::gm::Envelope & | box, |
const int & | srid, | ||
const int & | numberOfIntermediateCoords | ||
) |
Creates a Polygon from the given envelope and with the given number of intermediate coordinates in each of its four borders lines.
box | The envelope from which the polygon will be created |
srid | The srid of the polygon |
numberOfIntermediateCoords | The number of intermediate coordinates of each border line |
te::dt::AbstractData * te::gm::GeometryToByteArrayConverter | ( | te::dt::AbstractData * | d | ) |
It converts a Geometry data value to a ByteArray data value.
d | The input data value. |
It | throws an exception if the input abstract data is not a Geometry type. |
te::dt::AbstractData * te::gm::GeometryToStringConverter | ( | te::dt::AbstractData * | d | ) |
It converts a Geometry data value to a String data value.
d | The input data value. |
It | throws an exception if the input abstract data is not a Geometry type. |
TEGEOMEXPORT const std::string te::gm::Get2DGeometryType | ( | const te::gm::GeomType & | type | ) |
It returns the name of 2D geometry subclass.
The name of the 2D geometry subclass may be one of the following:
TEGEOMEXPORT GeomType te::gm::Get2DGeomTypeId | ( | const te::gm::GeomType & | type | ) |
It returns the 2D geometry subclass type identifier.
TEGEOMEXPORT double te::gm::GetAngle | ( | te::gm::Coord2D | coordA, |
te::gm::Coord2D | coordB | ||
) |
TEGEOMEXPORT double te::gm::GetAppropriatePrecision | ( | int | srid | ) |
Returns the appropriate precision to be used by spatial operations that adjust geometric data from other geometric systems.
srid | The id of the SRS (Spatial Reference System) |
TEGEOMEXPORT double te::gm::GetArea | ( | const te::gm::Geometry * | geometry | ) |
Calculates the area of the given geometry. If the geometry is from dimension 0 or 1, it returns 0.
geometry | The geometry to be analysed |
TEGEOMEXPORT std::vector< MultiLineString * > te::gm::GetAsMultiLineStringVector | ( | const te::gm::Geometry & | geometry | ) |
Get the vector of MultLineStrings that compose the Geometry.
geometry | Used to get lineStrings. |
return A vector of MultiLineString based on geometry parameter.
|
inline |
It returns the number of measurements or axes needed to describe a position in a coordinate system.
It returns:
t | The geomeytric type. |
TEGEOMEXPORT std::unique_ptr< te::gm::Geometry > te::gm::GetGeometryUnion | ( | const te::gm::GeometryVectorConst & | geomVec, |
double | tolerance = 0.000000001 |
||
) |
It returns the union of a geometry vector.
items | Vector of itens that represents a group. |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT Geometry * te::gm::GetGeomFromEnvelope | ( | const Envelope *const | e, |
int | srid | ||
) |
It creates a Geometry (a polygon) from the given envelope.
e | The envelope to extract the coordinates. Don't call with a NULL envelope. |
srid | The Spatial Reference System ID to be associated to the polygon. |
Referenced by te::rst::LineIterator< T >::LineIterator().
TEGEOMEXPORT te::gm::Coord2D te::gm::GetInteriorPoint | ( | const te::gm::Geometry * | geometry | ) |
As geos Explanation: An interior point is guaranteed to lie in the interior of the Geometry, if it possible to calculate such a point exactly. Otherwise, the point may lie on the boundary of the geometry.
geometry | The input geometry |
TEGEOMEXPORT te::gm::Line * te::gm::GetIntersectionLine | ( | te::gm::Geometry * | geom, |
te::gm::Coord2D | coord | ||
) |
TEGEOMEXPORT std::vector< te::gm::Coord2D > te::gm::GetIntersectionPointsByOperators | ( | const te::gm::LineString & | lsReference, |
const std::vector< te::gm::LineString > & | candidates, | ||
double | tolerance = 0.000000001 |
||
) |
Gets a vector of LineString reference points including intersection points using GEOS operators.
lsReference | LineString used as reference. |
candidates | A Vector of LineString used to intersects the lsReference. |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT std::vector< te::gm::Coord2D > te::gm::GetIntersectionPointsByPerpendicularDistance | ( | const te::gm::LineString & | lsReference, |
const std::vector< te::gm::LineString > & | candidates, | ||
double | tolerance = 0.000000001 |
||
) |
Gets a vector of LineString reference points including intersection points using perpendicular distance.
lsReference | LineString used as reference. |
candidates | A Vector of LineString used to intersects the lsReference. |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT te::gm::GeomType te::gm::GetMultiLineStringType | ( | const te::gm::Geometry & | geometry | ) |
Get the LineStrings that compose the Geometry.
geometry | Used to get lineStrings. |
return A LineString based on parameter geometry.
TEGEOMEXPORT te::gm::GeomType te::gm::GetMultiType | ( | te::gm::GeomType | geomType | ) |
Get the collection type of GeomType.
geomType | enum te::gm::GeomType. |
return A collection type of GeomType.
TEGEOMEXPORT te::gm::GeomType te::gm::GetSimpleType | ( | te::gm::GeomType | geomType | ) |
Get the simple type of GeomType.
geomType | enum te::gm::GeomType. |
return A simple type of GeomType.
TEGEOMEXPORT bool te::gm::HasMDim | ( | te::gm::GeomType | geomType | ) |
Returns true if the given type has M dimension.
geomType | enum te::gm::GeomType. |
TEGEOMEXPORT bool te::gm::HasZDim | ( | te::gm::GeomType | geomType | ) |
Returns true if the given type has Z dimension.
geomType | enum te::gm::GeomType. |
TEGEOMEXPORT bool te::gm::isCCW | ( | const te::gm::LinearRing * | ring | ) |
Checks if a LinearRing is in Counter-clockwise orientation.
curve | The LinearRing to be checked |
TEGEOMEXPORT bool te::gm::IsMultiType | ( | te::gm::GeomType | geomType | ) |
Verifies if the geomType is a collection type.
geomType | enum te::gm::GeomType. |
return True if the geomType is a collection type.
TEGEOMEXPORT bool te::gm::IsNullOrEmpty | ( | const te::gm::Geometry * | geometry | ) |
Checks if the geometry is null or empty.
geometry | The geometry to be checked |
TEGEOMEXPORT bool te::gm::IsNullOrEmpty | ( | const te::gm::GeometryPtr & | geometry | ) |
Checks if the geometry is null or empty.
geometry | The geometry to be checked |
TEGEOMEXPORT bool te::gm::IsPointOnPolygon | ( | const te::gm::Coord2D & | coord, |
const te::gm::Geometry * | geometry | ||
) |
Checks if the given point in within the given polygon or multipolygon geometry.
coord | The coord to be checked |
geometry | The Polygon or Multipolygon to be used as reference |
TEGEOMEXPORT Coord2D * te::gm::locateAlong | ( | const LineString * | line, |
double | initial, | ||
double | final, | ||
double | target | ||
) |
Make the line interpolation to find a target.
line | LineString to make the interpolation |
initial | Initial value |
final | Final value |
target | Target value |
TEGEOMEXPORT void te::gm::Multi2Single | ( | const te::gm::Geometry * | g, |
std::vector< te::gm::Geometry * > & | geoms | ||
) |
It will get a GeometryCollection and distribute in a vector.
g | Input GeometryCollection. |
geoms | Output Geometry Vector. |
TEGEOMEXPORT te::gm::Geometry * te::gm::MultiLineToDefinedType | ( | const std::vector< te::gm::MultiLineString * > & | multiLineStringVector, |
te::gm::GeomType | geometryType | ||
) |
A geometry is built based on a Vector of MultiLineString and the origin geometry type.
multiLineStringVector | A vector of multiLineString that have all lines of a Geometry. |
return A geometry built based on a Vector of MultiLineString and the origin geometry type.
TEGEOMEXPORT te::gm::Geometry * te::gm::NormalizeGeometryByType | ( | const te::gm::Geometry * | geometry, |
te::gm::GeomType | singleGeometryType | ||
) |
Normalizes and filters the given geometry based on the given simple type. \description If the given geometry if already from the given simple type, it will clone the geometry and return it. If the geometry is from the multi type related to the single, it will clone the geometry and return it. If the geometry is a collection, it will search for geometries from the given single type and multi type, and return them in a collection related to the given type.
geometry | The geometry to be analysed |
singleGeometryType | The base single type to be used as filter |
TEGEOMEXPORT te::gm::LineString * te::gm::ParallelLine | ( | const te::gm::LineString * | line, |
double | distance | ||
) |
Creates a parallel line from the given line. Here will use the distance for offset between the original line and the parallel.
line | Original line |
distance | for offset between the original line and the parallel. Left will be positive and right will be negative |
TEGEOMEXPORT void te::gm::Polygonizer | ( | const te::gm::GeometryVector & | vecInput, |
te::gm::GeometryVector & | vecOutput | ||
) |
TEGEOMEXPORT void te::gm::Polygonizer | ( | te::gm::Geometry * | g, |
std::vector< te::gm::Polygon * > & | pols | ||
) |
TEGEOMEXPORT te::gm::Geometry * te::gm::PrepareGeometriesToIntersection | ( | const te::gm::Geometry * | geom_A, |
const te::gm::GeometryVector & | vecGeomB, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
Prepares the geometry A with intersection points in geometry B.
geom_A | Geometry used to be inserted new points of intersection. |
vecGeomB | The list of Geometries used to intersects with Geometry A. |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT te::gm::Geometry * te::gm::PrepareGeometriesToIntersection | ( | const te::gm::Geometry * | geom_A, |
const te::gm::GeometryVector & | vecGeomB, | ||
bool | checkValidityAndFix, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
TEGEOMEXPORT te::gm::Geometry * te::gm::PrepareGeometriesToIntersection | ( | const te::gm::Geometry * | geom_A, |
te::gm::Geometry * | geomB, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
Prepares the geometry A with intersection points in geometry B.
geom_A | Geometry used to be inserted new points of intersection. |
geomB | The geometry to be used to intersect with Geometry B. |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT te::gm::Geometry * te::gm::PrepareGeometriesToIntersection | ( | const te::gm::Geometry * | geom_A, |
te::gm::Geometry * | geomB, | ||
bool | checkValidityAndFix, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
TEGEOMEXPORT te::gm::GeometryVector te::gm::PrepareGeometriesToIntersection | ( | const te::gm::GeometryVectorConst & | vecGeometries, |
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
Prepares the geometries vector to be used in overlay operations. \description It has two steps: 1 - Tries to snap the existing coordinates to make them be exactly the same if the are within the given tolerance; 2 - It breaks crossing segments in the intersection coordinates, sometimes gerating new coordinates in both segments.
vecGeometries | The vector to be prepared. |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT te::gm::LineString * te::gm::PrepareGeometriesToIntersection | ( | const te::gm::LineString & | ls_A, |
const te::sam::rtree::Index< std::size_t, 8 > & | rtree, | ||
std::vector< te::gm::LineString > & | vecRtreeSegments, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
Prepares the LineString A with intersection points in LineString B.
ls_A | LineString used to be inserted new points of intersection. |
rtree | Rtree indexing all the segments that must be used in the prepare algorithm. |
vecRtreeSegments | All the segments indexed in the rtree |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT te::gm::MultiLineString * te::gm::PrepareGeometriesToIntersection | ( | const te::gm::MultiLineString & | mline_A, |
const te::sam::rtree::Index< std::size_t, 8 > & | rtree, | ||
std::vector< te::gm::LineString > & | vecRtreeSegments, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
Prepares the MultiLineString A with intersection points in MultiLineString B.
mline_A | MultiLineString used to be inserted new points of intersection. |
rtree | Rtree indexing all the segments that must be used in the prepare algorithm. |
vecRtreeSegments | All the segments indexed in the rtree |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT bool te::gm::RelationMatches | ( | const std::string & | relation, |
const std::string & | relationPattern | ||
) |
Tests if the given relation matrix matches with the given relation pattern. This pattern is based on the Dimensionally Extended nine-Intersection Model (DE-9IM)
relation | The relation matrix to be checked |
relationPattern | The pattern to be match |
Exception | It throws an exception if the spatial relation is not valid or if the test can not be evaluated. |
TEGEOMEXPORT bool te::gm::Rotate | ( | te::gm::Coord2D | pr, |
te::gm::LineString * | l, | ||
double | angle, | ||
te::gm::LineString * | lOut | ||
) |
TEGEOMEXPORT bool te::gm::SatisfySpatialRelation | ( | const Geometry * | g1, |
const Geometry * | g2, | ||
SpatialRelation | relation | ||
) |
It returns if two geometries satisfy a given spatial relation.
g1 | The first geometry |
g2 | The second geometry |
r | A given spatial relation to be tested |
Exception | It throws an exception if the spatial relation is not valid or if the test can not be evaluated. |
Referenced by te::rst::LineIterator< T >::LineIterator(), and te::rst::PointSetIterator< T >::PointSetIterator().
TEGEOMEXPORT te::gm::Geometry * te::gm::Single2Multi | ( | const te::gm::Geometry * | g | ) |
It will get geometry and return the related GeometryCollection type.
g | Input Geometry. |
TEGEOMEXPORT LineString * te::gm::SnapLineToPoints | ( | const te::sam::rtree::Index< std::size_t, 8 > & | rtree, |
const std::vector< te::gm::LineString > & | referenceSegments, | ||
const std::set< std::size_t > & | setIndexesIgnored, | ||
const te::gm::LineString & | linearRingToSnap, | ||
bool & | wasChanged, | ||
double | tolerance = 0.000000001 |
||
) |
Snaps a LinearRing based on a set of LineString.
rtree | The R-tree contains the candidates envelopes as reference to snap. |
referenceSegments | A vector of LineString that is used as reference to snap. |
setIndexesIgnored | A set of indexes of candidates that had must be ignored in the processing. This set is used for optimization purposes |
wasChanged | This is an output value to inform if the geometry has been changed or not during the prepare |
linearRingToSnap | A LinearRing that will be snapped. |
tolerance | Tolerance value to be used in geometric operations |
TEGEOMEXPORT std::vector< te::gm::Geometry * > te::gm::SplitGeometry | ( | const te::gm::Geometry * | inputGeometry, |
const te::gm::Geometry * | bladeLineGeometry | ||
) |
Splits the given 'inputGeometry' (must be an area) using the given 'bladeLineGeometry' (must be a line)
inputGeometry | The input geometry to be splitted |
inputGeometry | The line to be used to split the input geoemtry |
te::dt::AbstractData * te::gm::StringToGeometryConverter | ( | te::dt::AbstractData * | d | ) |
It converts a String data value to a Geometry data value.
d | The input data value. |
It | throws an exception if the input abstract data is not a String type. |
It | throws an exception if the conversion can be not done. |
TEGEOMEXPORT te::gm::GeometryVectorConst te::gm::ToConstVector | ( | const te::gm::GeometryVector & | vecGeometries | ) |
TEGEOMEXPORT te::gm::Geometry * te::gm::UnaryUnion | ( | te::gm::Geometry * | geom | ) |