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 | 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 | 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 te::gm::LinearRing * | AddIntersectionPoints (const te::sam::rtree::Index< std::size_t, 8 > &rtree, const std::vector< te::gm::LineString > &candidateSegments, const te::gm::LinearRing &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 te::gm::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::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 std::vector< te::gm::Geometry * > | FixSelfIntersection (const te::gm::Geometry *g) |
It will fix geometries with self-intersection. More... | |
TEGEOMEXPORT double | GetAngle (te::gm::Coord2D coordA, te::gm::Coord2D coordB) |
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... | |
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 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 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 (te::gm::Geometry *geom_A, te::gm::Geometry *geom_B) |
Prepares the geometry A with intersection points in geometry B. More... | |
TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::MultiPolygon &mpol_A, const te::gm::MultiPolygon &mpol_B) |
Prepares the Polygon A with intersection points in Polygon B. More... | |
TEGEOMEXPORT te::gm::Geometry * | PrepareGeometriesToIntersection (const te::gm::Polygon &pol_A, const te::gm::Polygon &pol_B) |
Prepares the Polygon A with intersection points in Polygon B. More... | |
TEGEOMEXPORT te::gm::LineString * | PrepareGeometriesToIntersection (const te::gm::LineString &ls_A, const te::gm::LineString &ls_B) |
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 te::gm::LinearRing * | SnapLineToPoints (const te::sam::rtree::Index< std::size_t, 8 > &rtree, const std::vector< te::gm::LineString > &referenceSegments, const te::gm::LinearRing &linearRingToSnap) |
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 949 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 te::gm::LinearRing* te::gm::AddIntersectionPoints | ( | const te::sam::rtree::Index< std::size_t, 8 > & | rtree, |
const std::vector< te::gm::LineString > & | candidateSegments, | ||
const te::gm::LinearRing & | 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. |
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 te::gm::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::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().
TEGEOMEXPORT std::vector<te::gm::Geometry*> te::gm::FixSelfIntersection | ( | const te::gm::Geometry * | g | ) |
It will fix geometries with self-intersection.
g | Input Geometry to fix. |
Exception | It throws an exception if the geometry is not Polygon or MultiPolygon. |
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().
|
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 103 of file Utils.h.
References AddIntersectionPoints(), AddLineString(), AddPolygon(), AdjustSegment(), AdjustToCut(), CascadedPolygonUnion(), CheckValidity(), ClosestPoints(), CreateLine(), CreatePolygon(), FixSelfIntersection(), GetAngle(), GetGeometryUnion(), GetGeomFromEnvelope(), GetIntersectionLine(), GetIntersectionPointsByOperators(), GetIntersectionPointsByPerpendicularDistance(), Intersects(), locateAlong(), Multi2Single(), 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().
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 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 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 | ( | te::gm::Geometry * | geom_A, |
te::gm::Geometry * | geom_B | ||
) |
Prepares the geometry A with intersection points in geometry B.
geom_A | Geometry used to be inserted new points of intersection. |
geom_B | Geometry used to intersects with Geometry A. |
Referenced by GetCoordDimension().
TEGEOMEXPORT te::gm::Geometry* te::gm::PrepareGeometriesToIntersection | ( | const te::gm::MultiPolygon & | mpol_A, |
const te::gm::MultiPolygon & | mpol_B | ||
) |
Prepares the Polygon A with intersection points in Polygon B.
mpol_A | MultiPolygon used to be inserted new points of intersection. |
mpol_B | MultiPolygon used to intersects with Polygon A. |
TEGEOMEXPORT te::gm::Geometry* te::gm::PrepareGeometriesToIntersection | ( | const te::gm::Polygon & | pol_A, |
const te::gm::Polygon & | pol_B | ||
) |
TEGEOMEXPORT te::gm::LineString* te::gm::PrepareGeometriesToIntersection | ( | const te::gm::LineString & | ls_A, |
const te::gm::LineString & | ls_B | ||
) |
Prepares the LineString A with intersection points in LineString B.
ls_A | LineString used to be inserted new points of intersection. |
ls_B | LineString used to intersects with LineString A. |
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 te::gm::LinearRing* te::gm::SnapLineToPoints | ( | const te::sam::rtree::Index< std::size_t, 8 > & | rtree, |
const std::vector< te::gm::LineString > & | referenceSegments, | ||
const te::gm::LinearRing & | linearRingToSnap | ||
) |
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. |
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().