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. |
Referenced by GetCoordDimension().
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. |
Referenced by GetCoordDimension().
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. |
Referenced by GetCoordDimension().
TEGEOMEXPORT bool te::gm::AdjustSegment | ( | te::gm::Point * | P0, |
te::gm::Point * | P1, | ||
double | d0, | ||
te::gm::Coord2D & | P0out, | ||
te::gm::Coord2D & | P1out | ||
) |
Referenced by GetCoordDimension().
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 |
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. |
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. |
Referenced by GetCoordDimension().
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. |
Referenced by GetCoordDimension().
TEGEOMEXPORT 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. |
Referenced by GetCoordDimension().
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 |
Referenced by GetCoordDimension().
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 |
Referenced by GetCoordDimension().
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 |
Referenced by GetCoordDimension().
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 | ||
) |
Referenced by GetCoordDimension().
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.
Referenced by GetCoordDimension().
|
inline |
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 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(), locateAlong(), Multi2Single(), MultiLineToDefinedType(), PerpendicularDistance(), Polygonizer(), PrepareGeometriesToIntersection(), Rotate(), SatisfySpatialRelation(), SnapLineToPoints(), TEGEOMEXPORT, UnaryUnion(), and Validate().
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. |
Referenced by GetCoordDimension().
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 GetCoordDimension(), 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 | ||
) |
Referenced by GetCoordDimension().
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. |
Referenced by GetCoordDimension().
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. |
Referenced by GetCoordDimension().
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.
Referenced by GetCoordDimension().
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.
Referenced by GetCoordDimension().
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.
Referenced by GetCoordDimension().
bool te::gm::Intersects | ( | const T1 & | o1, |
const T2 & | o2 | ||
) |
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 | ||
) |
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 |
Referenced by GetCoordDimension().
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.
Referenced by GetCoordDimension().
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 |
Referenced by GetCoordDimension().
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 GetCoordDimension(), and te::rst::PolygonIterator< T >::setNextLine().
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.
Referenced by GetCoordDimension().
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. |
Referenced by GetCoordDimension().
TEGEOMEXPORT 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.
Referenced by GetCoordDimension().
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 |
Referenced by GetCoordDimension().
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 | ||
) |
Referenced by GetCoordDimension().
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 GetCoordDimension(), 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. |
Referenced by GetCoordDimension().
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 | ) |
It will get the union of the input geometries.
geom | Input Geometry. |
Referenced by GetCoordDimension().
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 |
Referenced by GetCoordDimension().