Namespace for the Vector Geometry module of TerraLib. More...
Classes | |
class | AbstractPoint |
A base abstract class for 0-dimensional geometric objects that represents a single location in coordinate space. More... | |
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... | |
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 | PointKd |
A k-dimensional point. More... | |
class | PointM |
A point with an associated measure. More... | |
class | PointZ |
A point with z-coordinate value. More... | |
class | PointZM |
A point with a z-coordinate value and an associated measurement. 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... | |
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 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 Geometry * | FixGeometry (te::gm::Geometry *inputGeom) |
TEGEOMEXPORT std::vector< te::gm::Geometry * > | FixSelfIntersection (const te::gm::Geometry *g) |
It will fix geometries with self-intersection. More... | |
int | GetCoordDimension (GeomType t) |
It returns the number of measurements or axes needed to describe a position in a coordinate system. More... | |
TEGEOMEXPORT Geometry * | GetGeomFromEnvelope (const Envelope *const e, int srid) |
It creates a Geometry (a polygon) from the given envelope. 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 (te::gm::Geometry *g, std::vector< te::gm::Geometry * > &geoms) |
It will get a GeometryCollection and distribute in a vector. More... | |
TEGEOMEXPORT bool | SatisfySpatialRelation (const Geometry *g1, const Geometry *g2, SpatialRelation relation) |
It returns if two geometries satisfy a given spatial relation. 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 872 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 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 Geometry* te::gm::FixGeometry | ( | te::gm::Geometry * | inputGeom | ) |
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. |
|
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 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().
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. |
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. |