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 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 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 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::auto_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 > | GetIntersectionPoints (const te::gm::LineString &lsReference, const std::vector< te::gm::LineString > &candidates) |
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 (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) |
TEGEOMEXPORT te::gm::Polygon * | PrepareGeometriesToIntersection (const te::gm::Polygon &pol_A, const te::gm::Polygon &pol_B) |
TEGEOMEXPORT te::gm::LineString * | PrepareGeometriesToIntersection (const te::gm::LineString &ls_A, const te::gm::LineString &ls_B) |
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::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 void te::gm::AddLineString | ( | te::gm::LineString * | lineString, |
std::vector< te::gm::Geometry * > & | pAdd | ||
) |
Add the linestring given to the vector.
linestring | line string |
pAdd | A reference to a vector of geometries. |
TEGEOMEXPORT void te::gm::AddPolygon | ( | te::gm::Polygon * | polygon, |
std::vector< te::gm::Geometry * > & | pAdd | ||
) |
Add all line strings from the polygon given to the vector given.
polygon | polygon from which to extract line strings |
pAdd | A reference to a vector of geometries. |
TEGEOMEXPORT bool te::gm::AdjustSegment | ( | te::gm::Point * | P0, |
te::gm::Point * | P1, | ||
double | d0, | ||
te::gm::Coord2D & | P0out, | ||
te::gm::Coord2D & | P1out | ||
) |
TEGEOMEXPORT Envelope te::gm::AdjustToCut | ( | const Envelope & | env, |
double | bWidth, | ||
double | bHeight | ||
) |
Finds the correspondent smallest box that allows a box to be cut in blocks of a given size.
env | Reference envelope |
bWidth | Block width |
bHeight | Block height |
te::dt::AbstractData* te::gm::ByteArrayToGeometryConverter | ( | te::dt::AbstractData * | d | ) |
It converts a ByteArray data value to a Geometry data value.
d | The input data value. |
It | throws an exception if the input abstract data is not a ByteArray type. |
It | throws an exception if the conversion can be not done. |
TEGEOMEXPORT 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. |
TEGEOMEXPORT void te::gm::ClosestPoints | ( | te::gm::Geometry * | geomA, |
te::gm::Geometry * | geomB, | ||
te::gm::Coord2D & | coordA, | ||
te::gm::Coord2D & | coordB | ||
) |
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. |
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 | ||
) |
|
inline |
It returns the number of measurements or axes needed to describe a position in a coordinate system.
It returns:
t | The geomeytric type. |
TEGEOMEXPORT std::auto_ptr<te::gm::Geometry> te::gm::GetGeometryUnion | ( | const std::vector< te::gm::Geometry * > & | geomVec | ) |
It returns the union of a geometry vector.
items | Vector of itens that represents a group. |
TEGEOMEXPORT Geometry* te::gm::GetGeomFromEnvelope | ( | const Envelope *const | e, |
int | srid | ||
) |
It creates a Geometry (a polygon) from the given envelope.
e | The envelope to extract the coordinates. Don't call with a NULL envelope. |
srid | The Spatial Reference System ID to be associated to the polygon. |
Referenced by te::rst::LineIterator< T >::LineIterator(), and te::rst::PointSetIterator< T >::PointSetIterator().
TEGEOMEXPORT te::gm::Line* te::gm::GetIntersectionLine | ( | te::gm::Geometry * | geom, |
te::gm::Coord2D | coord | ||
) |
TEGEOMEXPORT std::vector<te::gm::Point> te::gm::GetIntersectionPoints | ( | const te::gm::LineString & | lsReference, |
const std::vector< te::gm::LineString > & | candidates | ||
) |
lsReference | LineString used as reference. |
candidates | A Vector of LineString used to intersects the lsReference. |
bool te::gm::Intersects | ( | const T1 & | o1, |
const T2 & | o2 | ||
) |
Referenced by te::sam::kdtree::AdaptativeIndex< KdTreeNode >::search().
TEGEOMEXPORT bool te::gm::Intersects | ( | const te::gm::Point & | point, |
const te::gm::Envelope & | e | ||
) |
TEGEOMEXPORT Coord2D* te::gm::locateAlong | ( | const LineString * | line, |
double | initial, | ||
double | final, | ||
double | target | ||
) |
Make the line interpolation to find a target.
line | LineString to make the interpolation |
initial | Initial value |
final | Final value |
target | Target value |
TEGEOMEXPORT void te::gm::Multi2Single | ( | te::gm::Geometry * | g, |
std::vector< te::gm::Geometry * > & | geoms | ||
) |
It will get a GeometryCollection and distribute in a vector.
g | Input GeometryCollection. |
geoms | Output Geometry Vector. |
Referenced by te::rst::PolygonIterator< T >::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. |
TEGEOMEXPORT void te::gm::Polygonizer | ( | te::gm::Geometry * | g, |
std::vector< te::gm::Polygon * > & | pols | ||
) |
TEGEOMEXPORT te::gm::Geometry* te::gm::PrepareGeometriesToIntersection | ( | te::gm::Geometry * | geom_A, |
te::gm::Geometry * | geom_B | ||
) |
TEGEOMEXPORT te::gm::Polygon* 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 | ||
) |
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 | ||
) |
TEGEOMEXPORT bool te::gm::SatisfySpatialRelation | ( | const Geometry * | g1, |
const Geometry * | g2, | ||
SpatialRelation | relation | ||
) |
It returns if two geometries satisfy a given spatial relation.
g1 | The first geometry |
g2 | The second geometry |
r | A given spatial relation to be tested |
Exception | It throws an exception if the spatial relation is not valid or if the test can not be evaluated. |
Referenced by te::rst::LineIterator< T >::LineIterator(), and te::rst::PointSetIterator< T >::PointSetIterator().
te::dt::AbstractData* te::gm::StringToGeometryConverter | ( | te::dt::AbstractData * | d | ) |
It converts a String data value to a Geometry data value.
d | The input data value. |
It | throws an exception if the input abstract data is not a String type. |
It | throws an exception if the conversion can be not done. |
TEGEOMEXPORT te::gm::Geometry* te::gm::UnaryUnion | ( | te::gm::Geometry * | geom | ) |
TEGEOMEXPORT te::gm::Geometry* te::gm::Validate | ( | te::gm::Geometry * | geom | ) |
Get/create a valid version of the geometry given. If the geometry is a polygon or multi polygon, self intersections / inconsistencies are fixed. Otherwise the geometry is returned.
geom |