QGIS API Documentation  2.12.0-Lyon
Public Member Functions | Static Public Member Functions | List of all members
QgsGeos Class Reference

Does vector analysis using the geos library and handles import, export, exception handling*. More...

#include <qgsgeos.h>

Inheritance diagram for QgsGeos:
Inheritance graph
[legend]

Public Member Functions

 QgsGeos (const QgsAbstractGeometryV2 *geometry, double precision=0)
 GEOS geometry engine constructor. More...
 
 ~QgsGeos ()
 
double area (QString *errorMsg=0) const override
 
QgsAbstractGeometryV2buffer (double distance, int segments, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2buffer (double distance, int segments, int endCapStyle, int joinStyle, double mitreLimit, QString *errorMsg=0) const override
 
bool centroid (QgsPointV2 &pt, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2combine (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2combine (const QList< const QgsAbstractGeometryV2 * > &, QString *errorMsg=0) const override
 
bool contains (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2convexHull (QString *errorMsg=0) const override
 
bool crosses (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2difference (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool disjoint (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
double distance (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2envelope (QString *errorMsg=0) const override
 
void geometryChanged () override
 Removes caches. More...
 
QgsAbstractGeometryV2interpolate (double distance, QString *errorMsg=0) const override
 
QgsAbstractGeometryV2intersection (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool intersects (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool isEmpty (QString *errorMsg=0) const override
 
bool isEqual (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool isValid (QString *errorMsg=0) const override
 
double length (QString *errorMsg=0) const override
 
QgsAbstractGeometryV2offsetCurve (double distance, int segments, int joinStyle, double mitreLimit, QString *errorMsg=0) const override
 
bool overlaps (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool pointOnSurface (QgsPointV2 &pt, QString *errorMsg=0) const override
 
void prepareGeometry () override
 
QString relate (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between the geometries. More...
 
QgsAbstractGeometryV2reshapeGeometry (const QgsLineStringV2 &reshapeWithLine, int *errorCode, QString *errorMsg=0) const
 
QgsAbstractGeometryV2simplify (double tolerance, QString *errorMsg=0) const override
 
int splitGeometry (const QgsLineStringV2 &splitLine, QList< QgsAbstractGeometryV2 * > &newGeometries, bool topological, QList< QgsPointV2 > &topologyTestPoints, QString *errorMsg=0) const override
 Splits this geometry according to a given line. More...
 
QgsAbstractGeometryV2symDifference (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool touches (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
bool within (const QgsAbstractGeometryV2 &geom, QString *errorMsg=0) const override
 
- Public Member Functions inherited from QgsGeometryEngine
 QgsGeometryEngine (const QgsAbstractGeometryV2 *geometry)
 
virtual ~QgsGeometryEngine ()
 

Static Public Member Functions

static GEOSGeometry * asGeos (const QgsAbstractGeometryV2 *geom, double precision=0)
 
static QgsPointV2 coordSeqPoint (const GEOSCoordSequence *cs, int i, bool hasZ, bool hasM)
 
static QgsAbstractGeometryV2fromGeos (const GEOSGeometry *geos)
 Create a geometry from a GEOSGeometry. More...
 
static QgsPolygonV2fromGeosPolygon (const GEOSGeometry *geos)
 
static GEOSContextHandle_t getGEOSHandler ()
 

Additional Inherited Members

- Protected Member Functions inherited from QgsGeometryEngine
 QgsGeometryEngine ()
 
- Protected Attributes inherited from QgsGeometryEngine
const QgsAbstractGeometryV2mGeometry
 

Detailed Description

Does vector analysis using the geos library and handles import, export, exception handling*.

Note
this API is not considered stable and may change for 2.12

Definition at line 29 of file qgsgeos.h.

Constructor & Destructor Documentation

QgsGeos::QgsGeos ( const QgsAbstractGeometryV2 geometry,
double  precision = 0 
)

GEOS geometry engine constructor.

Parameters
geometryThe geometry
precisionThe precision of the grid to which to snap the geometry vertices. If 0, no snapping is performed.

Definition at line 118 of file qgsgeos.cpp.

QgsGeos::~QgsGeos ( )

Definition at line 124 of file qgsgeos.cpp.

Member Function Documentation

double QgsGeos::area ( QString errorMsg = 0) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 299 of file qgsgeos.cpp.

GEOSGeometry * QgsGeos::asGeos ( const QgsAbstractGeometryV2 geom,
double  precision = 0 
)
static

Definition at line 1004 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::buffer ( double  distance,
int  segments,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1216 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::buffer ( double  distance,
int  segments,
int  endCapStyle,
int  joinStyle,
double  mitreLimit,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1232 of file qgsgeos.cpp.

bool QgsGeos::centroid ( QgsPointV2 pt,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1284 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::combine ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 171 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::combine ( const QList< const QgsAbstractGeometryV2 * > &  geomList,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 176 of file qgsgeos.cpp.

bool QgsGeos::contains ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 255 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::convexHull ( QString errorMsg = 0) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1354 of file qgsgeos.cpp.

QgsPointV2 QgsGeos::coordSeqPoint ( const GEOSCoordSequence *  cs,
int  i,
bool  hasZ,
bool  hasM 
)
static

Definition at line 967 of file qgsgeos.cpp.

bool QgsGeos::crosses ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 240 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::difference ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 166 of file qgsgeos.cpp.

bool QgsGeos::disjoint ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 260 of file qgsgeos.cpp.

double QgsGeos::distance ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 205 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::envelope ( QString errorMsg = 0) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1310 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::fromGeos ( const GEOSGeometry *  geos)
static

Create a geometry from a GEOSGeometry.

Parameters
geosGEOSGeometry. Ownership is NOT transferred.

Definition at line 815 of file qgsgeos.cpp.

QgsPolygonV2 * QgsGeos::fromGeosPolygon ( const GEOSGeometry *  geos)
static

Definition at line 903 of file qgsgeos.cpp.

void QgsGeos::geometryChanged ( )
overridevirtual

Removes caches.

Implements QgsGeometryEngine.

Definition at line 132 of file qgsgeos.cpp.

GEOSContextHandle_t QgsGeos::getGEOSHandler ( )
static

Definition at line 2147 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::interpolate ( double  distance,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1269 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::intersection ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 161 of file qgsgeos.cpp.

bool QgsGeos::intersects ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 230 of file qgsgeos.cpp.

bool QgsGeos::isEmpty ( QString errorMsg = 0) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1405 of file qgsgeos.cpp.

bool QgsGeos::isEqual ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1385 of file qgsgeos.cpp.

bool QgsGeos::isValid ( QString errorMsg = 0) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1371 of file qgsgeos.cpp.

double QgsGeos::length ( QString errorMsg = 0) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 316 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::offsetCurve ( double  distance,
int  segments,
int  joinStyle,
double  mitreLimit,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1592 of file qgsgeos.cpp.

bool QgsGeos::overlaps ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 250 of file qgsgeos.cpp.

bool QgsGeos::pointOnSurface ( QgsPointV2 pt,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1325 of file qgsgeos.cpp.

void QgsGeos::prepareGeometry ( )
overridevirtual

Implements QgsGeometryEngine.

Definition at line 141 of file qgsgeos.cpp.

QString QgsGeos::relate ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between the geometries.

Parameters
geomgeometry to relate to
errorMsgdestination storage for any error message
Returns
DE-9IM string for relationship, or an empty string if an error occurred
Note
added in QGIS 2.12

Implements QgsGeometryEngine.

Definition at line 265 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::reshapeGeometry ( const QgsLineStringV2 reshapeWithLine,
int *  errorCode,
QString errorMsg = 0 
) const

Definition at line 1608 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::simplify ( double  tolerance,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 1254 of file qgsgeos.cpp.

int QgsGeos::splitGeometry ( const QgsLineStringV2 splitLine,
QList< QgsAbstractGeometryV2 * > &  newGeometries,
bool  topological,
QList< QgsPointV2 > &  topologyTestPoints,
QString errorMsg = 0 
) const
overridevirtual

Splits this geometry according to a given line.

Parameters
splitLinethe line that splits the geometry
[out]newGeometrieslist of new geometries that have been created with the split
topologicaltrue if topological editing is enabled
[out]topologyTestPointspoints that need to be tested for topological completeness in the dataset
[out]errorMsgerror messages emitted, if any
Returns
0 in case of success, 1 if geometry has not been split, error else

Reimplemented from QgsGeometryEngine.

Definition at line 332 of file qgsgeos.cpp.

QgsAbstractGeometryV2 * QgsGeos::symDifference ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 200 of file qgsgeos.cpp.

bool QgsGeos::touches ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 235 of file qgsgeos.cpp.

bool QgsGeos::within ( const QgsAbstractGeometryV2 geom,
QString errorMsg = 0 
) const
overridevirtual

Implements QgsGeometryEngine.

Definition at line 245 of file qgsgeos.cpp.


The documentation for this class was generated from the following files: