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... | |
| char * | Write2WKB (const LineString &l, unsigned int nPts, char *wkb, te::common::MachineByteOrder byteOrder) |
| It encodes the line to WKB. 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/Geometry.h.
Buffer end cap style.
The end cap style specifies the buffer geometry that will be created at the ends of LineStrings.
| Enumerator | |
|---|---|
| CapRoundType |
A semi-circle (default). |
| CapButtType |
A straight line perpendicular to the end segment |
| CapSquareType |
A half-square |
Definition at line 162 of file src/terralib/geometry/Enums.h.
From Wikipedia: "in mathematics, the dimension of an object is an intrinsic property, independent of the space in which the object may happen to be embedded".
| Enumerator | |
|---|---|
| P |
Points are 0-dimensional. |
| L |
Lines are 1-dimensional. |
| A |
Polygons are 2-dimenional. |
Definition at line 147 of file src/terralib/geometry/Enums.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. |
Definition at line 41 of file src/terralib/geometry/Enums.h.
Spatial relations between geometric objects.
| Enumerator | |
|---|---|
| UNKNOWN_SPATIAL_RELATION | |
| INTERSECTS | |
| DISJOINT | |
| TOUCHES | |
| OVERLAPS | |
| CROSSES | |
| WITHIN | |
| CONTAINS | |
| COVERS | |
| COVEREDBY | |
| EQUALS | |
Definition at line 127 of file src/terralib/geometry/Enums.h.
| te::gm::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. |
Definition at line 1243 of file src/terralib/geometry/Utils.cpp.
References te::gm::LineString::clone(), CreateEnvelope(), GetIntersectionPointsByOperators(), GetIntersectionPointsByPerpendicularDistance(), te::gm::Envelope::getLowerLeftX(), te::gm::Envelope::getLowerLeftY(), te::gm::LineString::getNPoints(), te::gm::LineString::getPointN(), te::gm::Geometry::getSRID(), te::gm::LineString::getStartPoint(), te::gm::Envelope::getUpperRightX(), te::gm::Envelope::getUpperRightY(), te::gm::LineString::getX(), te::gm::LineString::getY(), IsEqual(), LineStringType, te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::gm::LineString::setPoint(), te::gm::LineString::setPointN(), TE_TR, and TOLERANCE.
Referenced by GetCoordDimension(), and PrepareGeometriesToIntersection().
| 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. |
Definition at line 833 of file src/terralib/geometry/Utils.cpp.
References TE_TR, and te::gm::Geometry::Union().
Referenced by AddPolygon(), and GetCoordDimension().
| 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. |
Definition at line 818 of file src/terralib/geometry/Utils.cpp.
References AddLineString(), te::gm::CurvePolygon::getExteriorRing(), te::gm::CurvePolygon::getInteriorRingN(), te::gm::CurvePolygon::getNumInteriorRings(), and TE_TR.
Referenced by GetCoordDimension(), and Validate().
| bool te::gm::AdjustSegment | ( | te::gm::Point * | P0, |
| te::gm::Point * | P1, | ||
| double | d0, | ||
| te::gm::Coord2D & | P0out, | ||
| te::gm::Coord2D & | P1out | ||
| ) |
Definition at line 629 of file src/terralib/geometry/Utils.cpp.
References te::gm::Geometry::distance(), te::gm::Geometry::getSRID(), te::gm::Coord2D::getX(), te::gm::Point::getX(), te::gm::Coord2D::getY(), te::gm::Point::getY(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by te::map::AbstractLayerRenderer::drawDatSetTexts(), and GetCoordDimension().
| te::gm::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 |
Definition at line 269 of file src/terralib/geometry/Utils.cpp.
References te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, and te::gm::Envelope::m_ury.
Referenced by GetCoordDimension().
| 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. |
Definition at line 56 of file GeometryConverters.cpp.
References te::dt::BYTE_ARRAY_TYPE, te::dt::AbstractData::getTypeCode(), and TE_TR.
Referenced by te::gm::Module::initialize().
| 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. |
Definition at line 423 of file src/terralib/geometry/Utils.cpp.
References te::common::FreeContents(), te::gm::Geometry::getSRID(), PolygonType, TE_TR, and Union().
Referenced by GetCoordDimension().
| 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. |
Definition at line 695 of file src/terralib/geometry/Utils.cpp.
References te::gm::TopologyValidationError::m_coordinate, te::gm::TopologyValidationError::m_message, and TE_TR.
Referenced by te::gm::FixGeometryTopology::fixSelfIntersection(), GetCoordDimension(), te::qt::widgets::DefaultFeatureInfoMaker::getGeometryInfo(), te::vp::MakeGeometryValid::makeValidMemory(), te::vp::CheckGeomValidityDialog::onVerifyPushButtonClicked(), and PrepareGeometriesToIntersection().
| void te::gm::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.
| geomA | Input Geometry A. |
| geomB | Input Geometry B. |
| coordA | Output coord on Geometry A. |
| coordB | Output coord on Geometry B. |
Definition at line 491 of file src/terralib/geometry/Utils.cpp.
References TE_TR.
Referenced by te::map::AbstractLayerRenderer::drawDatSetTexts(), and GetCoordDimension().
| 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 |
Definition at line 92 of file src/terralib/geometry/Utils.cpp.
Referenced by AddIntersectionPoints(), GetCoordDimension(), and PrepareGeometriesToIntersection().
| 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 |
Definition at line 102 of file src/terralib/geometry/Utils.cpp.
References te::gm::Point::getX(), and te::gm::Point::getY().
| 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 |
Definition at line 1829 of file src/terralib/geometry/Utils.cpp.
References te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), LineStringType, and te::gm::LineString::setPoint().
Referenced by GetCoordDimension().
| 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 |
Definition at line 1853 of file src/terralib/geometry/Utils.cpp.
References te::mnt::CreateLine, te::gm::LineString::getX(), te::gm::LineString::getY(), LineStringType, te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, PolygonType, te::gm::LineString::setPoint(), te::gm::CurvePolygon::setRingN(), and te::gm::LineString::size().
Referenced by GetCoordDimension(), and te::gm::Envelope::transform().
| 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. |
Definition at line 37 of file GeometryConverters.cpp.
References d, te::dt::GEOMETRY_TYPE, te::dt::DateTime::getTypeCode(), and TE_TR.
Referenced by te::gm::Module::initialize().
| 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. |
Definition at line 48 of file GeometryConverters.cpp.
References d, te::dt::GEOMETRY_TYPE, te::dt::DateTime::getTypeCode(), and TE_TR.
Referenced by te::gm::Module::initialize().
| double te::gm::GetAngle | ( | te::gm::Coord2D | coordA, |
| te::gm::Coord2D | coordB | ||
| ) |
Definition at line 567 of file src/terralib/geometry/Utils.cpp.
References dx, te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by te::map::AbstractLayerRenderer::drawDatSetTexts(), and GetCoordDimension().
| std::vector< te::gm::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.
Definition at line 1503 of file src/terralib/geometry/Utils.cpp.
References te::gm::GeometryCollection::add(), te::dt::AbstractData::clone(), te::common::FreeContents(), te::gm::Geometry::getGeomTypeId(), GetMultiLineStringType(), te::gm::CurvePolygon::getRings(), te::gm::Geometry::getSRID(), LineStringMType, LineStringType, LineStringZMType, LineStringZType, Multi2Single(), MultiLineStringMType, MultiLineStringType, MultiLineStringZMType, MultiLineStringZType, MultiPolygonMType, MultiPolygonType, MultiPolygonZMType, MultiPolygonZType, PolygonMType, PolygonType, PolygonZMType, and PolygonZType.
Referenced by GetCoordDimension(), and PrepareGeometriesToIntersection().
It returns the number of measurements or axes needed to describe a position in a coordinate system.
It returns:
| t | The geomeytric type. |
Definition at line 104 of file src/terralib/geometry/Utils.h.
References AddIntersectionPoints(), AddLineString(), AddPolygon(), AdjustSegment(), AdjustToCut(), CascadedPolygonUnion(), CheckValidity(), ClosestPoints(), CreateEnvelope(), CreateLine(), CreatePolygon(), GetAngle(), GetAsMultiLineStringVector(), GetGeometryUnion(), GetGeomFromEnvelope(), GetIntersectionLine(), GetIntersectionPointsByOperators(), GetIntersectionPointsByPerpendicularDistance(), GetMultiLineStringType(), GetMultiType(), GetSimpleType(), Intersects(), IsEqual(), IsMultiType(), line, locateAlong(), Multi2Single(), MultiLineToDefinedType(), PerpendicularDistance(), Polygonizer(), PrepareGeometriesToIntersection(), Rotate(), SatisfySpatialRelation(), SnapLineToPoints(), TEGEOMEXPORT, UnaryUnion(), and Validate().
Referenced by te::pgis::Transactor::addProperty(), te::gm::Geometry::getCoordinateDimension(), TsPropertyTypes::tcCreatePropertyTypes(), TsPropertyTypes::tcGeometryProperty(), and TsPropertyTypes::tcGeometryPropertyCopyConstructor().
| 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. |
Definition at line 112 of file src/terralib/geometry/Utils.cpp.
References te::dt::AbstractData::clone(), gc, GeometryCollectionType, te::gm::Geometry::getMBR(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, PrepareGeometriesToIntersection(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), TOLERANCE, and UnaryUnion().
Referenced by te::qt::widgets::ClippingWizard::executeLayerClippingAttribute(), te::vp::Union::executeMemory(), te::vp::Identity::executeMemory(), te::vp::Difference::executeMemory(), GetCoordDimension(), te::qt::widgets::ClippingWizardPage::getLayerClippingAttribute(), te::vp::GeometricOpMemory::SetAggregByAttribute(), and te::vp::Dissolve::threadUnion().
| te::gm::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. |
Definition at line 210 of file src/terralib/geometry/Utils.cpp.
References LineStringType, te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, p, PolygonType, te::gm::LineString::setPoint(), and te::gm::CurvePolygon::setRingN().
Referenced by BOOST_AUTO_TEST_CASE(), te::st::STDataLoaderFromMemDS::buildDataSet(), CalculateHorizontalLines(), CalculateVerticalLines(), te::qt::widgets::ROIManagerWidget::checkGeomIntersection(), te::cellspace::CellularSpacesOperations::createCellSpace(), te::qt::widgets::PanExtent::drawCurrentExtent(), te::qt::widgets::ClippingWizardPage::drawGeom(), te::vp::CheckGeomValidityDialog::drawMark(), te::graph::LayerRenderer::drawMemoryGraph(), te::wms::WMSLayerRenderer::drawRaster(), te::map::DrawRaster(), te::rp::GeoMosaic::execute(), te::qt::widgets::Selection::executeSelection(), te::edit::FindSegment(), GetCoordDimension(), te::gm::Geometry::getEnvelope(), te::edit::Repository::getFeature(), te::qt::widgets::DefaultFeatureInfoMaker::getGeometryInfo(), te::da::SpatialRestrictionVisitor::getGeometryRestriction(), te::edit::EditInfoTool::getInfo(), GetIntersectionLine(), te::attributefill::GetPercentOfEachClassByArea(), terralib4::GeomReader::getPolygon(), te::st::ObservationDataSet::getSpatialExtent(), te::st::CoverageSeries::getTimeSeries(), te::attributefill::GetValuesFromBand(), te::rst::LineIterator< T >::LineIterator(), te::edit::VertexTool::mouseMoveEvent(), te::qt::widgets::ColorTransformDialog::onEnvelopeAcquired(), te::qt::widgets::FilterDialogForm::onEnvelopeAcquired(), te::qt::widgets::CloudDetectionDialog::onEnvelopeAcquired(), te::qt::widgets::ClippingWizardPage::onEnvelopeAcquired(), te::qt::widgets::ROIManagerWidget::onEnvelopeAcquired(), te::qt::widgets::ContrastDialogForm::onEnvelopeAcquired(), te::qt::widgets::RasterSlicingWizardPage::onEnvelopeAcquired(), te::qt::widgets::MixtureModelWizardPage::onEnvelopeAcquired(), te::qt::widgets::ClippingWizardPage::onGeomAquired(), te::qt::widgets::ROIManagerWidget::onGeomAquired(), te::qt::widgets::ContrastDialogForm::onVisibleAreaRadioButtonToggled(), te::edit::PickFeature(), te::rst::PointSetIterator< T >::PointSetIterator(), te::st::RasterCoverage::RasterCoverage(), te::st::RasterCoverage::set(), and te::edit::DeletePartTool::storeFeature().
| te::gm::Line * te::gm::GetIntersectionLine | ( | te::gm::Geometry * | geom, |
| te::gm::Coord2D | coord | ||
| ) |
Definition at line 515 of file src/terralib/geometry/Utils.cpp.
References GetGeomFromEnvelope(), te::gm::Geometry::getGeomTypeId(), te::gm::LineString::getNPoints(), te::gm::LineString::getPointN(), te::gm::Geometry::getSRID(), line, LineStringType, Multi2Single(), p, te::gm::Line::setCoord(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by te::map::AbstractLayerRenderer::drawDatSetTexts(), and GetCoordDimension().
| 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. |
Definition at line 1362 of file src/terralib/geometry/Utils.cpp.
References te::gm::Geometry::distance(), te::gm::LineString::getEndPoint(), te::gm::Geometry::getSRID(), te::gm::LineString::getStartPoint(), te::gm::LineString::getX(), te::gm::LineString::getY(), IsEqual(), TE_TR, and TOLERANCE.
Referenced by AddIntersectionPoints(), and GetCoordDimension().
| 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. |
Definition at line 1443 of file src/terralib/geometry/Utils.cpp.
References te::gm::LineString::getEndPoint(), te::gm::LineString::getStartPoint(), te::gm::Point::getX(), te::gm::Point::getY(), IsEqual(), PerpendicularDistance(), TE_TR, and TOLERANCE.
Referenced by AddIntersectionPoints(), and GetCoordDimension().
| 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.
Definition at line 1694 of file src/terralib/geometry/Utils.cpp.
References te::gm::Geometry::getGeomTypeId(), LineStringMType, LineStringZMType, LineStringZType, MultiLineStringMType, MultiLineStringType, MultiLineStringZMType, MultiLineStringZType, MultiPolygonMType, MultiPolygonZMType, MultiPolygonZType, PolygonMType, PolygonZMType, and PolygonZType.
Referenced by GetAsMultiLineStringVector(), and GetCoordDimension().
| 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.
Definition at line 1788 of file src/terralib/geometry/Utils.cpp.
References GeometryCollectionMType, GeometryCollectionType, GeometryCollectionZMType, GeometryCollectionZType, GeometryMType, GeometryType, GeometryZMType, GeometryZType, LineStringMType, LineStringType, LineStringZMType, LineStringZType, MultiLineStringMType, MultiLineStringType, MultiLineStringZMType, MultiLineStringZType, MultiPointMType, MultiPointType, MultiPointZMType, MultiPointZType, MultiPolygonMType, MultiPolygonType, MultiPolygonZMType, MultiPolygonZType, PointMType, PointType, PointZMType, PointZType, PolygonMType, PolygonType, PolygonZMType, PolygonZType, and UnknownGeometryType.
Referenced by GetCoordDimension(), te::vp::Intersection::getGeomResultType(), te::vp::Union::getGeomResultType(), te::vp::SetGeomResultType(), and te::vp::Difference::setGeomResultType().
| 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.
Definition at line 1747 of file src/terralib/geometry/Utils.cpp.
References GeometryCollectionMType, GeometryCollectionType, GeometryCollectionZMType, GeometryCollectionZType, GeometryMType, GeometryType, GeometryZMType, GeometryZType, LineStringMType, LineStringType, LineStringZMType, LineStringZType, MultiLineStringMType, MultiLineStringType, MultiLineStringZMType, MultiLineStringZType, MultiPointMType, MultiPointType, MultiPointZMType, MultiPointZType, MultiPolygonMType, MultiPolygonType, MultiPolygonZMType, MultiPolygonZType, PointMType, PointType, PointZMType, PointZType, PolygonMType, PolygonType, PolygonZMType, PolygonZType, and UnknownGeometryType.
Referenced by GetCoordDimension(), te::vp::Intersection::getGeomResultType(), te::vp::Union::getGeomResultType(), te::vp::MultipartToSinglepart::getOutDst(), te::vp::Identity::getOutputDataSetType(), MultiLineToDefinedType(), te::vp::SetGeomResultType(), and te::vp::Difference::setGeomResultType().
| bool te::gm::Intersects | ( | const T1 & | o1, |
| const T2 & | o2 | ||
| ) |
Definition at line 315 of file src/terralib/geometry/Utils.cpp.
References te::gm::Point::getX(), te::gm::Point::getY(), te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, and te::gm::Envelope::m_ury.
Referenced by GetCoordDimension(), and te::sam::kdtree::AdaptativeIndex< KdTreeNode >::search().
| TEGEOMEXPORT bool te::gm::Intersects | ( | const te::gm::Point & | point, |
| const te::gm::Envelope & | e | ||
| ) |
| 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 |
Definition at line 68 of file src/terralib/geometry/Utils.cpp.
References te::gm::Point::getX(), and te::gm::Point::getY().
Referenced by AddIntersectionPoints(), GetCoordDimension(), GetIntersectionPointsByOperators(), GetIntersectionPointsByPerpendicularDistance(), and PrepareGeometriesToIntersection().
| 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 |
Definition at line 78 of file src/terralib/geometry/Utils.cpp.
References te::gm::Point::getX(), and te::gm::Point::getY().
| 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.
Definition at line 1721 of file src/terralib/geometry/Utils.cpp.
References GeometryCollectionMType, GeometryCollectionType, GeometryCollectionZMType, GeometryCollectionZType, MultiLineStringMType, MultiLineStringType, MultiLineStringZMType, MultiLineStringZType, MultiPointMType, MultiPointType, MultiPointZMType, MultiPointZType, MultiPolygonMType, MultiPolygonType, MultiPolygonZMType, and MultiPolygonZType.
Referenced by te::vp::Union::executeMemory(), te::vp::Difference::executeMemory(), te::vp::Intersection::executeMemory(), te::vp::ExtractGeometry(), GetCoordDimension(), te::vp::Intersection::getGeomResultType(), te::vp::Union::getGeomResultType(), te::vp::Identity::getOutputDataSetType(), te::vp::MakeGeometryValid::makeValidQuery(), te::vp::MultipartToSinglepart::run(), te::vp::SetGeomResultType(), and te::vp::Difference::setGeomResultType().
| te::gm::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 |
Definition at line 341 of file src/terralib/geometry/Utils.cpp.
References te::gm::LineString::getNPoints(), te::gm::LineString::getPointN(), td, te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by GetCoordDimension(), and te::addressgeocoding::AddressGeocodingOp::run().
| 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. |
Definition at line 407 of file src/terralib/geometry/Utils.cpp.
References te::dt::AbstractData::clone(), gc, te::gm::GeometryCollection::getGeometryN(), te::gm::GeometryCollection::getNumGeometries(), te::gm::Geometry::getSRID(), and te::gm::Geometry::setSRID().
Referenced by te::rst::CropRaster(), te::qt::widgets::ClippingWizard::executeLayerClipping(), te::qt::widgets::ClippingWizard::executeLayerClippingAttribute(), te::vp::Union::executeMemory(), te::vp::Identity::executeMemory(), te::vp::Difference::executeMemory(), te::vp::Intersection::executeMemory(), te::vp::ExtractGeometry(), te::gm::FixGeometryTopology::fixSelfIntersection(), GetAsMultiLineStringVector(), GetCoordDimension(), te::qt::widgets::ClassifierWizardPage::getInputParams(), GetIntersectionLine(), te::rst::PolygonIterator< T >::getScanLineIntersectionRanges(), te::vp::PolygonToLineMemory::polygon2Line(), te::rst::Raster::rasterize(), te::attributefill::VectorToRaster::run(), te::attributefill::RasterToVector::run(), te::vp::MultipartToSinglepart::runAll(), and te::vp::MultipartToSinglepart::runSelected().
| 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.
Definition at line 1595 of file src/terralib/geometry/Utils.cpp.
References te::gm::CurvePolygon::add(), te::gm::GeometryCollection::add(), te::dt::AbstractData::clone(), te::gm::GeometryCollection::getGeometries(), te::gm::GeometryCollection::getGeometryN(), GetSimpleType(), te::gm::Geometry::getSRID(), te::gm::Geometry::isEmpty(), LineStringMType, LineStringType, LineStringZMType, LineStringZType, MultiLineStringMType, MultiLineStringType, MultiLineStringZMType, MultiLineStringZType, MultiPolygonMType, MultiPolygonType, MultiPolygonZMType, MultiPolygonZType, PolygonMType, PolygonType, PolygonZMType, PolygonZType, and te::gm::CurvePolygon::setRingN().
Referenced by GetCoordDimension(), and PrepareGeometriesToIntersection().
| 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. |
Definition at line 851 of file src/terralib/geometry/Utils.cpp.
References dx, te::gm::Geometry::getSRID(), te::gm::Point::getX(), te::gm::Point::getY(), and TE_TR.
Referenced by GetCoordDimension(), and GetIntersectionPointsByPerpendicularDistance().
| void te::gm::Polygonizer | ( | te::gm::Geometry * | g, |
| std::vector< te::gm::Polygon * > & | pols | ||
| ) |
It will get a list of polygons formed by the polygonization.
Definition at line 673 of file src/terralib/geometry/Utils.cpp.
References te::gm::Geometry::getSRID(), and TE_TR.
Referenced by GetCoordDimension(), te::edit::SplitPolygonTool::splitPolygon(), and Validate().
| 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 |
Definition at line 903 of file src/terralib/geometry/Utils.cpp.
Referenced by GetCoordDimension(), GetGeometryUnion(), and PrepareGeometriesToIntersection().
| 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 |
Definition at line 911 of file src/terralib/geometry/Utils.cpp.
References CheckValidity(), te::dt::AbstractData::clone(), CreateEnvelope(), te::common::FreeContents(), GetAsMultiLineStringVector(), te::gm::GeometryCollection::getGeometries(), te::gm::Geometry::getGeomTypeId(), te::gm::Envelope::getLowerLeftX(), te::gm::Envelope::getLowerLeftY(), te::gm::Geometry::getMBR(), te::gm::Geometry::getSRID(), te::gm::Envelope::getUpperRightX(), te::gm::Envelope::getUpperRightY(), te::gm::LineString::getX(), te::gm::LineString::getY(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::gm::Envelope::intersects(), LineStringType, te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, MultiLineToDefinedType(), PrepareGeometriesToIntersection(), te::gm::LineString::setPoint(), te::gm::LineString::size(), TE_TR, and TOLERANCE.
| 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 |
Definition at line 1041 of file src/terralib/geometry/Utils.cpp.
References te::gm::GeometryCollection::add(), te::gm::GeometryCollection::getGeometries(), te::gm::Geometry::getGeomTypeId(), te::gm::Geometry::getSRID(), PrepareGeometriesToIntersection(), and TE_TR.
| 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 |
Definition at line 1074 of file src/terralib/geometry/Utils.cpp.
References AddIntersectionPoints(), te::gm::LineString::clone(), CreateEnvelope(), te::gm::Geometry::getMBR(), te::gm::LineString::getNPoints(), te::gm::LineString::getX(), te::gm::LineString::getY(), IsEqual(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::gm::LineString::size(), SnapLineToPoints(), and TE_TR.
| bool te::gm::Rotate | ( | te::gm::Coord2D | pr, |
| te::gm::LineString * | l, | ||
| double | angle, | ||
| te::gm::LineString * | lOut | ||
| ) |
Definition at line 590 of file src/terralib/geometry/Utils.cpp.
References dx, te::gm::LineString::getPointN(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::gm::LineString::setPoint(), and te::gm::LineString::size().
Referenced by te::map::AbstractLayerRenderer::drawDatSetTexts(), and GetCoordDimension().
| 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. |
Definition at line 228 of file src/terralib/geometry/Utils.cpp.
References CONTAINS, te::gm::Geometry::contains(), COVEREDBY, te::gm::Geometry::coveredBy(), COVERS, te::gm::Geometry::covers(), CROSSES, te::gm::Geometry::crosses(), DISJOINT, te::gm::Geometry::disjoint(), te::dt::EQUALS, te::gm::Geometry::equals(), INTERSECTS, te::gm::Geometry::intersects(), te::dt::OVERLAPS, te::gm::Geometry::overlaps(), TE_TR, TOUCHES, te::gm::Geometry::touches(), WITHIN, and te::gm::Geometry::within().
Referenced by GetCoordDimension(), te::da::SpatialQueryProcessor::getOIDSet(), te::rst::LineIterator< T >::LineIterator(), and te::rst::PointSetIterator< T >::PointSetIterator().
| te::gm::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. |
Definition at line 1165 of file src/terralib/geometry/Utils.cpp.
References te::gm::LineString::clone(), te::gm::LineString::getNPoints(), te::gm::LineString::getPointN(), te::gm::Envelope::init(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::gm::LineString::setPointN(), TE_TR, and TOLERANCE.
Referenced by GetCoordDimension(), and PrepareGeometriesToIntersection().
| 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. |
Definition at line 64 of file GeometryConverters.cpp.
References te::dt::AbstractData::getTypeCode(), te::dt::STRING_TYPE, and TE_TR.
Referenced by te::gm::Module::initialize().
| te::gm::Geometry * te::gm::UnaryUnion | ( | te::gm::Geometry * | geom | ) |
It will get the union of the input geometries.
| geom | Input Geometry. |
Definition at line 467 of file src/terralib/geometry/Utils.cpp.
References te::gm::Geometry::getSRID(), TE_TR, and Union().
Referenced by GetCoordDimension(), and GetGeometryUnion().
| 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 |
Definition at line 729 of file src/terralib/geometry/Utils.cpp.
References AddPolygon(), te::common::FreeContents(), te::gm::Geometry::getSRID(), p, Polygonizer(), te::gm::Geometry::setSRID(), te::gm::Geometry::symDifference(), and TE_TR.
Referenced by te::edit::SubtractAreaTool::buildPolygon(), te::edit::AggregateAreaTool::buildPolygon(), te::edit::MergeGeometriesTool::editingFinished(), GetCoordDimension(), te::edit::VertexTool::mouseReleaseEvent(), te::qt::plugins::edit::ToolBar::onSaveActivated(), te::vp::LineToPolygonMemory::run(), and GAP::step3().
|
inline |
It encodes the line to WKB.
This is a special helper function that writes just the number of points in the line and its coordinates. No byte order or geometry type is written to the buffer.
| l | The line to be serialized to a wkb. |
| nPts | The number of points in the line to be encoded in the WKB.. |
| wkb | The buffer to serialize the line number of points and coordinates. |
| byteOrder | The byte order used to encode the wkb. |
Definition at line 60 of file WKBWriter.cpp.
References te::gm::LineString::getCoordinates(), te::gm::Geometry::getGeomTypeId(), te::gm::LineString::getM(), te::gm::LineString::getZ(), LineStringMType, LineStringType, LineStringZMType, LineStringZType, te::common::Globals::sm_machineByteOrder, te::common::Swap4Bytes(), te::common::Swap8Bytes(), and TE_TR.
Referenced by te::gm::WKBWriter::visit().