Class: QgsGeometryEngine¶
-
class
qgis.core.
QgsGeometryEngine
¶ Bases:
sip.wrapper
Contains geometry relation and modification algorithms.
New in version 2.10: Enums
Methods
buffer(self, distance: float, segments: int, endCapStyle: int, joinStyle: int, miterLimit: float, errorMsg: str = ‘’) -> QgsAbstractGeometry
Calculates the centroid of this.
Calculate the combination of this and
geom
.Checks if
geom
contains this.Calculate the convex hull of this.
Checks if
geom
crosses this.Calculate the difference of this and
geom
.Checks if
geom
is disjoint from this.Calculates the distance between this and
geom
.Should be called whenever the geometry associated with the engine has been modified and the engine must be updated to suit.
Calculate the intersection of this and
geom
.Checks if
geom
intersects this.Checks if this is equal to
geom
.Determines whether the geometry is simple (according to OGC definition).
Returns true if the geometry is valid.
Checks if
geom
overlaps this.Calculate a point that is guaranteed to be on the surface of this.
Prepares the geometry, so that subsequent calls to spatial relation methods are much faster.
Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between the geometries.
Tests whether two geometries are related by a specified Dimensional Extended 9 Intersection Model (DE-9IM) pattern.
Splits this geometry according to a given line.
Calculate the symmetric difference of this and
geom
.Checks if
geom
touches this.Checks if
geom
is within this.Signals
Attributes
-
EngineError
= 1002¶
-
class
EngineOperationResult
¶ Bases:
int
-
InvalidBaseGeometry
= 1004¶
-
InvalidInput
= 1005¶
-
MethodNotImplemented
= 1001¶
-
NodedGeometryError
= 1003¶
-
NothingHappened
= 1000¶
-
SplitCannotSplitPoint
= 1006¶
-
Success
= 0¶
-
area
(self, errorMsg: str = '') → float¶
-
buffer
(self, distance: float, segments: int, errorMsg: str = '') → QgsAbstractGeometry¶ buffer(self, distance: float, segments: int, endCapStyle: int, joinStyle: int, miterLimit: float, errorMsg: str = ‘’) -> QgsAbstractGeometry
-
centroid
(self, errorMsg: str = '') → QgsPoint¶ Calculates the centroid of this. May return a
`None`
.New in version 3.0.
-
combine
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → QgsAbstractGeometry¶ Calculate the combination of this and
geom
.New in version 3.0.
combine(self, geomList: object, errorMsg: str) -> QgsAbstractGeometry Calculate the combination of this and
geometries
.New in version 3.0.
combine(self, geometries: Iterable[QgsGeometry], errorMsg: str = ‘’) -> QgsAbstractGeometry Calculate the combination of this and
geometries
.New in version 3.0.
-
contains
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
contains this.New in version 3.0.
-
convexHull
(self, errorMsg: str = '') → QgsAbstractGeometry¶ Calculate the convex hull of this.
-
crosses
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
crosses this.New in version 3.0.
-
difference
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → QgsAbstractGeometry¶ Calculate the difference of this and
geom
.New in version 3.0.
-
disjoint
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
is disjoint from this.New in version 3.0.
-
distance
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → float¶ Calculates the distance between this and
geom
.New in version 3.0.
-
envelope
(self, errorMsg: str = '') → QgsAbstractGeometry¶
-
geometryChanged
(self)¶ Should be called whenever the geometry associated with the engine has been modified and the engine must be updated to suit.
-
interpolate
(self, distance: float, errorMsg: str = '') → QgsAbstractGeometry¶
-
intersection
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → QgsAbstractGeometry¶ Calculate the intersection of this and
geom
.New in version 3.0.
-
intersects
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
intersects this.New in version 3.0.
-
isEmpty
(self, errorMsg: str) → bool¶
-
isEqual
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if this is equal to
geom
. If both are Null geometries,`False`
is returned.New in version 3.0.
-
isSimple
(self, errorMsg: str = '') → bool¶ Determines whether the geometry is simple (according to OGC definition).
New in version 3.0.
-
isValid
(self, errorMsg: str = '', allowSelfTouchingHoles: bool = False, errorLoc: QgsGeometry = None) → bool¶ Returns true if the geometry is valid.
If the geometry is invalid,
errorMsg
will be filled with the reported geometry error.The
allowSelfTouchingHoles
argument specifies whether self-touching holes are permitted. OGC validity states that self-touching holes are NOT permitted, whilst other vendor validity checks (e.g. ESRI) permit self-touching holes.If
errorLoc
is specified, it will be set to the geometry of the error location.
-
length
(self, errorMsg: str = '') → float¶
-
offsetCurve
(self, distance: float, segments: int, joinStyle: int, miterLimit: float, errorMsg: str = '') → QgsAbstractGeometry¶
-
overlaps
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
overlaps this.New in version 3.0.
-
pointOnSurface
(self, errorMsg: str = '') → QgsPoint¶ Calculate a point that is guaranteed to be on the surface of this. May return a
`None`
.New in version 3.0.
-
prepareGeometry
(self)¶ Prepares the geometry, so that subsequent calls to spatial relation methods are much faster.
This should be called for any geometry which is used for multiple relation tests against other geometries.
See also
-
relate
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → str¶ Returns the Dimensional Extended 9 Intersection Model (DE-9IM) representation of the relationship between the geometries.
- Parameters
geom – geometry to relate to
errorMsg – destination storage for any error message
- Returns
DE-9IM string for relationship, or an empty string if an error occurred
New in version 2.12.
-
relatePattern
(self, geom: QgsAbstractGeometry, pattern: str, errorMsg: str = '') → bool¶ Tests whether two geometries are related by a specified Dimensional Extended 9 Intersection Model (DE-9IM) pattern.
- Parameters
geom – geometry to relate to
pattern – DE-9IM pattern for match
errorMsg – destination storage for any error message
- Returns
True
if geometry relationship matches with pattern
New in version 2.14.
-
simplify
(self, tolerance: float, errorMsg: str = '') → QgsAbstractGeometry¶
-
splitGeometry
(self, splitLine: QgsLineString, topological: bool, topologyTestPoints: Iterable[QgsPoint], errorMsg: str = '') → Tuple[QgsGeometryEngine.EngineOperationResult, List[QgsGeometry]]¶ Splits this geometry according to a given line.
- Parameters
splitLine – the line that splits the geometry
param[out] newGeometries list of new geometries that have been created with the split :param topological:
True
if topological editing is enabled param[out] topologyTestPoints points that need to be tested for topological completeness in the dataset param[out] errorMsg error messages emitted, if any- Returns
0 in case of success, 1 if geometry has not been split, error else
-
symDifference
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → QgsAbstractGeometry¶ Calculate the symmetric difference of this and
geom
.New in version 3.0.
-
touches
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
touches this.New in version 3.0.
-
within
(self, geom: QgsAbstractGeometry, errorMsg: str = '') → bool¶ Checks if
geom
is within this.New in version 3.0.
-