Namespace for the Vector Geometry module of TerraLib. More...
Classes | |
| class | AffineGT | 
| 2D Affine Geometric transformation.  More... | |
| class | AffineGTFactory | 
| 2D Affine Geometric transformation factory.  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... | |
| 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... | |
| struct | DistanceOrderFunctor | 
| This struct is used sorts a vector of points by distance.  More... | |
| class | Envelope | 
| An Envelope defines a 2D rectangular region.  More... | |
| class | FixGeometryTopology | 
| A static class with methods to fix geometry topology.  More... | |
| 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 | 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 | 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... | |
| 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 | RSTGT | 
| 2D Rotation/scale/translation(rigid body) Geometric transformation.  More... | |
| class | RSTGTFactory | 
| 2D RST Geometric transformation factory.  More... | |
| class | SecondDegreePolynomialGT | 
| Second Degree Polynomial Geometric transformation.  More... | |
| class | SecondDegreePolynomialGTFactory | 
| 2D Second Degree Polynomial Geometric transformation factory.  More... | |
| 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 | Triangle | 
| Triangle is a polygon with 3 distinct, non-collinear vertices and no interior boundary.  More... | |
| 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 | |
| typedef boost::shared_ptr< Geometry > | GeometryShrPtr | 
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) | 
| Add intersection points in a LinearRing based on a Vector of LineString as reference.  More... | |
| TEGEOMEXPORT void | AddLineString (te::gm::LineString *lineString, std::vector< te::gm::Geometry *> &pAdd) | 
| Add the linestring given to the vector.  More... | |
| TEGEOMEXPORT void | AddPolygon (te::gm::Polygon *polygon, std::vector< te::gm::Geometry *> &pAdd) | 
| Add all line strings from the polygon given to the vector given.  More... | |
| 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.  More... | |
| 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.  More... | |
| TEGEOMEXPORT bool | CheckValidity (const Geometry *geom, te::gm::TopologyValidationError &error) | 
| It check geometry validity using GEOS.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| TEGEOMEXPORT double | GetAngle (te::gm::Coord2D coordA, te::gm::Coord2D coordB) | 
| TEGEOMEXPORT std::vector< MultiLineString * > | GetAsMultiLineStringVector (const te::gm::Geometry &geometry) | 
| Get the vector of MultLineStrings that compose the Geometry.  More... | |
| int | GetCoordDimension (GeomType t) | 
| It returns the number of measurements or axes needed to describe a position in a coordinate system.  More... | |
| TEGEOMEXPORT std::unique_ptr< te::gm::Geometry > | GetGeometryUnion (const std::vector< te::gm::Geometry *> &geomVec) | 
| It returns the union of a geometry vector.  More... | |
| TEGEOMEXPORT Geometry * | GetGeomFromEnvelope (const Envelope *const e, int srid) | 
| It creates a Geometry (a polygon) from the given envelope.  More... | |
| TEGEOMEXPORT te::gm::Line * | GetIntersectionLine (te::gm::Geometry *geom, te::gm::Coord2D coord) | 
| TEGEOMEXPORT std::vector< te::gm::Point > | GetIntersectionPointsByOperators (const te::gm::LineString &lsReference, const std::vector< te::gm::LineString > &candidates) | 
| Gets a vector of LineString reference points including intersection points using GEOS operators.  More... | |
| TEGEOMEXPORT std::vector< te::gm::Point > | GetIntersectionPointsByPerpendicularDistance (const te::gm::LineString &lsReference, const std::vector< te::gm::LineString > &candidates) | 
| Gets a vector of LineString reference points including intersection points using perpendicular distance.  More... | |
| TEGEOMEXPORT te::gm::GeomType | GetMultiLineStringType (const te::gm::Geometry &geometry) | 
| Get the LineStrings that compose the Geometry.  More... | |
| TEGEOMEXPORT te::gm::GeomType | GetMultiType (te::gm::GeomType geomType) | 
| Get the collection type of GeomType.  More... | |
| TEGEOMEXPORT te::gm::GeomType | GetSimpleType (te::gm::GeomType geomType) | 
| Get the simple type of GeomType.  More... | |
| template<class T1 , class T2 > | |
| bool | Intersects (const T1 &o1, const T2 &o2) | 
| template<> | |
| TEGEOMEXPORT bool | Intersects (const te::gm::Point &point, const te::gm::Envelope &e) | 
| TEGEOMEXPORT bool | IsEqual (const te::gm::Point &p1, const te::gm::Point &p2) | 
| Checks if a point p1 is exactly equal to the point p2.  More... | |
| TEGEOMEXPORT bool | IsEqual (const te::gm::Point &p1, const te::gm::Point &p2, double tol) | 
| Checks if a point p1 is equal to the point p2 considering the given tolerance.  More... | |
| TEGEOMEXPORT bool | IsMultiType (te::gm::GeomType geomType) | 
| Verifies if the geomType is a collection type.  More... | |
| TEGEOMEXPORT Coord2D * | locateAlong (const LineString *line, double initial, double final, double target) | 
| Make the line interpolation to find a target.  More... | |
| TEGEOMEXPORT void | Multi2Single (const te::gm::Geometry *g, std::vector< te::gm::Geometry *> &geoms) | 
| It will get a GeometryCollection and distribute in a vector.  More... | |
| 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.  More... | |
| TEGEOMEXPORT double | PerpendicularDistance (const te::gm::Point &first, const te::gm::Point &last, te::gm::Point &pin, Point &pinter) | 
| Calculate the perpendicular distance of a point in a segment.  More... | |
| TEGEOMEXPORT void | Polygonizer (te::gm::Geometry *g, std::vector< te::gm::Polygon *> &pols) | 
| It will get a list of polygons formed by the polygonization.  More... | |
| TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Geometry *geom_A, te::gm::Geometry *geomB, bool &wasChanged) | 
| Prepares the geometry A with intersection points in geometry B.  More... | |
| TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Geometry *geom_A, const std::vector< te::gm::Geometry *> &vecGeomB, bool &wasChanged) | 
| Prepares the geometry A with intersection points in geometry B.  More... | |
| 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) | 
| Prepares the MultiLineString A with intersection points in MultiLineString B.  More... | |
| 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) | 
| Prepares the LineString A with intersection points in LineString B.  More... | |
| 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.  More... | |
| 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) | 
| Snaps a LinearRing based on a set of LineString.  More... | |
| TEGEOMEXPORT te::gm::Geometry * | UnaryUnion (te::gm::Geometry *geom) | 
| It will get the union of the input geometries.  More... | |
| TEGEOMEXPORT te::gm::Geometry * | Validate (te::gm::Geometry *geom) | 
| Get/create a valid version of the geometry given. If the geometry is a polygon or multi polygon, self intersections / inconsistencies are fixed. Otherwise the geometry is returned.  More... | |
Geometry Methods  | |
Methods related to Geometry conversion.  | |
| te::dt::AbstractData * | GeometryToByteArrayConverter (te::dt::AbstractData *d) throw (Exception) | 
| It converts a Geometry data value to a ByteArray data value.  More... | |
| te::dt::AbstractData * | GeometryToStringConverter (te::dt::AbstractData *d) throw (Exception) | 
| It converts a Geometry data value to a String data value.  More... | |
| te::dt::AbstractData * | ByteArrayToGeometryConverter (te::dt::AbstractData *d) | 
| It converts a ByteArray data value to a Geometry data value.  More... | |
| te::dt::AbstractData * | StringToGeometryConverter (te::dt::AbstractData *d) | 
| It converts a String data value to a Geometry data value.  More... | |
| typedef boost::shared_ptr<Geometry> te::gm::GeometryShrPtr | 
Definition at line 950 of file Geometry.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  | 
        ||
| ) | 
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. | 
| TEGEOMEXPORT void te::gm::AddLineString | ( | te::gm::LineString * | lineString, | 
| std::vector< te::gm::Geometry *> & | 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, | 
| std::vector< te::gm::Geometry *> & | 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 bool te::gm::CheckValidity | ( | const Geometry * | geom, | 
| te::gm::TopologyValidationError & | error | ||
| ) | 
It check geometry validity using GEOS.
| geom | Geometry that will be verified. | 
| error | TopologyValidationError struct. | 
| TEGEOMEXPORT void te::gm::ClosestPoints | ( | te::gm::Geometry * | geomA, | 
| te::gm::Geometry * | geomB, | ||
| te::gm::Coord2D & | coordA, | ||
| te::gm::Coord2D & | coordB | ||
| ) | 
| 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::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::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::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 | ) | |
| throw | ( | Exception | |||
| ) | |||||
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 | ) | |
| throw | ( | Exception | |||
| ) | |||||
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 double te::gm::GetAngle | ( | te::gm::Coord2D | coordA, | 
| te::gm::Coord2D | coordB | ||
| ) | 
| 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 std::vector< te::gm::Geometry *> & | geomVec | ) | 
It returns the union of a geometry vector.
| items | Vector of itens that represents a group. | 
| 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(), and te::rst::PointSetIterator< T >::PointSetIterator().
| TEGEOMEXPORT te::gm::Line* te::gm::GetIntersectionLine | ( | te::gm::Geometry * | geom, | 
| te::gm::Coord2D | coord | ||
| ) | 
| TEGEOMEXPORT std::vector<te::gm::Point> te::gm::GetIntersectionPointsByOperators | ( | const te::gm::LineString & | lsReference, | 
| const std::vector< te::gm::LineString > & | candidates | ||
| ) | 
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. | 
| TEGEOMEXPORT std::vector<te::gm::Point> te::gm::GetIntersectionPointsByPerpendicularDistance | ( | const te::gm::LineString & | lsReference, | 
| const std::vector< te::gm::LineString > & | candidates | ||
| ) | 
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. | 
| 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.
| bool te::gm::Intersects | ( | const T1 & | o1, | 
| const T2 & | o2 | ||
| ) | 
Referenced by te::sam::kdtree::AdaptativeIndex< KdTreeNode >::search().
| TEGEOMEXPORT bool te::gm::Intersects | ( | const te::gm::Point & | point, | 
| const te::gm::Envelope & | e | ||
| ) | 
| TEGEOMEXPORT bool te::gm::IsEqual | ( | const te::gm::Point & | p1, | 
| const te::gm::Point & | p2 | ||
| ) | 
Checks if a point p1 is exactly equal to the point p2.
| p1 | The first point | 
| p2 | The second point | 
| TEGEOMEXPORT bool te::gm::IsEqual | ( | const te::gm::Point & | p1, | 
| const te::gm::Point & | p2, | ||
| double | tol | ||
| ) | 
Checks if a point p1 is equal to the point p2 considering the given tolerance.
| p1 | The first point | 
| p2 | The second point | 
| tol | The tolerance to be used | 
| 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 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. | 
Referenced by te::rst::PolygonIterator< T >::getScanLineIntersectionRanges().
| 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 double te::gm::PerpendicularDistance | ( | const te::gm::Point & | first, | 
| const te::gm::Point & | last, | ||
| te::gm::Point & | pin, | ||
| Point & | pinter | ||
| ) | 
Calculate the perpendicular distance of a point in a segment.
| first | The first segment point. | 
| last | The last segment point. | 
| pin | The point to be calculated. | 
| pinter | A intern point calculated based on pin projected intersection with the segment. | 
| 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, | 
| te::gm::Geometry * | geomB, | ||
| bool & | wasChanged | ||
| ) | 
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 | 
| TEGEOMEXPORT te::gm::Geometry* te::gm::PrepareGeometriesToIntersection | ( | const te::gm::Geometry * | geom_A, | 
| const std::vector< te::gm::Geometry *> & | vecGeomB, | ||
| bool & | wasChanged | ||
| ) | 
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 | 
| 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 | ||
| ) | 
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 | 
| 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 | ||
| ) | 
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 | 
| 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 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 | ||
| ) | 
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. | 
| 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::Geometry* te::gm::UnaryUnion | ( | te::gm::Geometry * | geom | ) | 
| TEGEOMEXPORT te::gm::Geometry* te::gm::Validate | ( | te::gm::Geometry * | geom | ) | 
Get/create a valid version of the geometry given. If the geometry is a polygon or multi polygon, self intersections / inconsistencies are fixed. Otherwise the geometry is returned.
| geom |