Class: QgsCompoundCurve¶
- class qgis.core.QgsCompoundCurve¶
Bases:
QgsCurve
Compound curve geometry type
New in version 2.10:
Methods
Adds a curve to the geometry (takes ownership).
- param mValue
- param path
Adds a vertex to the end of the geometry.
- param zValue
- param doc
- param doc
- param flags
- param precision
- param rectangle
- rtype
QgsRectangle
Returns number of child geometries (for geometries with child geometries) or child points (for geometries without child geometries - i.e. curve / point).
Returns pointer to child geometry (for geometries with child geometries - i.e. geom.
Returns point at index (for geometries without child geometries - i.e. curve / point).
Clears any cached parameters associated with the geometry, e.g., bounding boxes
- rtype
QgsCompoundCurve
Appends first point if not already closed.
- param pt
- param other
Condenses the curves in this geometry by combining adjacent linestrings a to a single continuous linestring, and combining adjacent circularstrings to a single continuous circularstring.
- rtype
QgsCompoundCurve
Returns the curve at the specified index.
- param startDistance
Returns a new line string geometry corresponding to a segmentized approximation of the curve.
- param position
- rtype
int
- param p
- param p
- rtype
bool
- rtype
bool
- rtype
QgsPoint
- param other
- param wkb
- param wkt
- rtype
str
Returns whether the geometry has any child geometries (
False
for point / curve,True
otherwise)- rtype
bool
- param point
- param position
- param distance
- rtype
bool
- param flags
- rtype
float
- param position
Returns the number of curves in the geometry.
- rtype
int
- param node
- rtype
List[QgsPoint]
Removes a curve from the geometry.
- param epsilon
- rtype
QgsCompoundCurve
- param firstVertexIndex
- param startVertex
Updates the geometry type based on whether sub geometries contain z or m values.
- rtype
QgsAbstractGeometry
- param hSpacing
Returns the sort index for the geometry, used in the
compareTo()
method to compare geometries of different types.- rtype
QgsPoint
- rtype
float
Converts the vertex at the given position from/to circular
- param ct
- param vertex
- param flags
- param index
- param index
- addCurve(self, c: QgsCurve, extendPrevious: bool = False)¶
Adds a curve to the geometry (takes ownership).
Since QGIS 3.20, if
extendPrevious
isTrue
, then adding a LineString when the last existing curve in the compound curve is also a LineString will cause the existing linestring to be extended with the newly added LineString vertices instead of appending a whole new LineString curve to the compound curve. This can result in simplified compound curves with lesser number of component curves while still being topologically identical to the desired result.- Parameters
c (QgsCurve) –
extendPrevious (bool = False) –
- addMValue(self, mValue: float = 0) bool ¶
- Parameters
mValue (float = 0) –
- Return type
bool
- addToPainterPath(self, path: QPainterPath)¶
- Parameters
path (QPainterPath) –
- addZValue(self, zValue: float = 0) bool ¶
- Parameters
zValue (float = 0) –
- Return type
bool
- asGml2(self, doc: QDomDocument, precision: int = 17, ns: str = '', axisOrder: QgsAbstractGeometry.AxisOrder = QgsAbstractGeometry.AxisOrder.XY) QDomElement ¶
- Parameters
doc (QDomDocument) –
precision (int = 17) –
ns (str = '') –
axisOrder (QgsAbstractGeometry.AxisOrder = QgsAbstractGeometry.AxisOrder.XY) –
- Return type
QDomElement
- asGml3(self, doc: QDomDocument, precision: int = 17, ns: str = '', axisOrder: QgsAbstractGeometry.AxisOrder = QgsAbstractGeometry.AxisOrder.XY) QDomElement ¶
- Parameters
doc (QDomDocument) –
precision (int = 17) –
ns (str = '') –
axisOrder (QgsAbstractGeometry.AxisOrder = QgsAbstractGeometry.AxisOrder.XY) –
- Return type
QDomElement
- asWkb(self, flags: Union[QgsAbstractGeometry.WkbFlags, QgsAbstractGeometry.WkbFlag] = QgsAbstractGeometry.WkbFlags()) QByteArray ¶
- Parameters
flags (Union[QgsAbstractGeometry.WkbFlags) –
- Return type
QByteArray
- asWkt(self, precision: int = 17) str ¶
- Parameters
precision (int = 17) –
- Return type
str
- boundingBoxIntersects(self, rectangle: QgsRectangle) bool ¶
- Parameters
rectangle (QgsRectangle) –
- Return type
bool
- calculateBoundingBox(self) QgsRectangle ¶
- Return type
- childCount(self) int ¶
Returns number of child geometries (for geometries with child geometries) or child points (for geometries without child geometries - i.e. curve / point)
Note
used for vertex_iterator implementation
New in version 3.0.
- childGeometry(self, index: int) QgsAbstractGeometry ¶
Returns pointer to child geometry (for geometries with child geometries - i.e. geom. collection / polygon)
Note
used for vertex_iterator implementation
New in version 3.0.
- childPoint(self, index: int) QgsPoint ¶
Returns point at index (for geometries without child geometries - i.e. curve / point)
Note
used for vertex_iterator implementation
New in version 3.0.
- clear(self)¶
- clearCache(self)¶
Clears any cached parameters associated with the geometry, e.g., bounding boxes
- clone(self) QgsCompoundCurve ¶
- Return type
- close(self)¶
Appends first point if not already closed.
- closestSegment(self, pt: QgsPoint, epsilon: float = 4 * DBL_EPSILON) Tuple[float, QgsPoint, QgsVertexId, int] ¶
- Parameters
pt (QgsPoint) –
epsilon (float = 4*DBL_EPSILON) –
- Return type
Tuple[float,
QgsPoint
,QgsVertexId
, int]
- compareToSameClass(self, other: QgsAbstractGeometry) int ¶
- Parameters
other (QgsAbstractGeometry) –
- Return type
int
- condenseCurves(self)¶
Condenses the curves in this geometry by combining adjacent linestrings a to a single continuous linestring, and combining adjacent circularstrings to a single continuous circularstring.
New in version 3.20.
- createEmptyWithSameType(self) QgsCompoundCurve ¶
- Return type
- curveAt(self, i: int) QgsCurve ¶
Returns the curve at the specified index.
- Parameters
i (int) –
- Return type
- curveSubstring(self, startDistance: float, endDistance: float) QgsCompoundCurve ¶
- Parameters
startDistance (float) –
endDistance (float) –
- Return type
- curveToLine(self, tolerance: float = M_PI_2 / 90, toleranceType: QgsAbstractGeometry.SegmentationToleranceType = QgsAbstractGeometry.MaximumAngle) QgsLineString ¶
Returns a new line string geometry corresponding to a segmentized approximation of the curve.
- Parameters
tolerance (float = M_PI_2/90) – segmentation tolerance
toleranceType (QgsAbstractGeometry.SegmentationToleranceType = QgsAbstractGeometry.MaximumAngle) – maximum segmentation angle or maximum difference between approximation and curve
- Return type
- deleteVertex(self, position: QgsVertexId) bool ¶
- Parameters
position (QgsVertexId) –
- Return type
bool
- dimension(self) int ¶
- Return type
int
- draw(self, p: QPainter)¶
- Parameters
p (QPainter) –
- drawAsPolygon(self, p: QPainter)¶
- Parameters
p (QPainter) –
- dropMValue(self) bool ¶
- Return type
bool
- dropZValue(self) bool ¶
- Return type
bool
- fromWkb(self, wkb: QgsConstWkbPtr) bool ¶
- Parameters
wkb (QgsConstWkbPtr) –
- Return type
bool
- fromWkt(self, wkt: str) bool ¶
- Parameters
wkt (str) –
- Return type
bool
- geometryType(self) str ¶
- Return type
str
- hasChildGeometries(self) bool ¶
Returns whether the geometry has any child geometries (
False
for point / curve,True
otherwise)Note
used for vertex_iterator implementation
New in version 3.0.
- hasCurvedSegments(self) bool ¶
- Return type
bool
- insertVertex(self, position: QgsVertexId, vertex: QgsPoint) bool ¶
- Parameters
position (QgsVertexId) –
vertex (QgsPoint) –
- Return type
bool
- isEmpty(self) bool ¶
- Return type
bool
- isValid(self, flags: Union[Qgis.GeometryValidityFlags, Qgis.GeometryValidityFlag] = Qgis.GeometryValidityFlags()) Tuple[bool, str] ¶
- Parameters
flags (Union[Qgis.GeometryValidityFlags) –
- Return type
Tuple[bool, str]
- length(self) float ¶
- Return type
float
- moveVertex(self, position: QgsVertexId, newPos: QgsPoint) bool ¶
- Parameters
position (QgsVertexId) –
newPos (QgsPoint) –
- Return type
bool
- nCurves(self) int ¶
Returns the number of curves in the geometry.
- Return type
int
- numPoints(self) int ¶
- Return type
int
- pointAt(self, node: int, point: QgsPoint) Tuple[bool, Qgis.VertexType] ¶
- Parameters
node (int) –
point (QgsPoint) –
- Return type
Tuple[bool, Qgis.VertexType]
- removeCurve(self, i: int)¶
Removes a curve from the geometry.
- Parameters
i (int) – index of curve to remove
- removeDuplicateNodes(self, epsilon: float = 4 * DBL_EPSILON, useZValues: bool = False) bool ¶
- Parameters
epsilon (float = 4*DBL_EPSILON) –
useZValues (bool = False) –
- Return type
bool
- reversed(self) QgsCompoundCurve ¶
- Return type
- scroll(self, firstVertexIndex: int)¶
- Parameters
firstVertexIndex (int) –
- segmentLength(self, startVertex: QgsVertexId) float ¶
- Parameters
startVertex (QgsVertexId) –
- Return type
float
- setZMTypeFromSubGeometry(self, subggeom: QgsAbstractGeometry, baseGeomType: QgsWkbTypes.Type)¶
Updates the geometry type based on whether sub geometries contain z or m values.
- simplifiedTypeRef(self) QgsAbstractGeometry ¶
- Return type
- snappedToGrid(self, hSpacing: float, vSpacing: float, dSpacing: float = 0, mSpacing: float = 0) QgsCompoundCurve ¶
- Parameters
hSpacing (float) –
vSpacing (float) –
dSpacing (float = 0) –
mSpacing (float = 0) –
- Return type
- sortIndex(self) int ¶
Returns the sort index for the geometry, used in the
compareTo()
method to compare geometries of different types.New in version 3.20.
- sumUpArea(self) float ¶
- Return type
float
- swapXy(self)¶
- toggleCircularAtVertex(self, position: QgsVertexId) bool ¶
Converts the vertex at the given position from/to circular
- Return type
bool
- Returns
False
if atVertex does not correspond to a valid vertex on this geometry (including if this geometry is a Point), or if the specified vertex can’t be converted (e.g. start/end points).
New in version 3.20.
- Parameters
position (QgsVertexId) –
- transform(self, ct: QgsCoordinateTransform, d: Qgis.TransformDirection = Qgis.TransformDirection.Forward, transformZ: bool = False)¶
- transform(self, t: QTransform, zTranslate: float = 0, zScale: float = 1, mTranslate: float = 0, mScale: float = 1) None
- transform(self, transformer: QgsAbstractGeometryTransformer, feedback: QgsFeedback = None) bool
- Parameters
ct (QgsCoordinateTransform) –
d (Qgis.TransformDirection = Qgis.TransformDirection.Forward) –
transformZ (bool = False) –
- vertexAngle(self, vertex: QgsVertexId) float ¶
- Parameters
vertex (QgsVertexId) –
- Return type
float
- wkbSize(self, flags: Union[QgsAbstractGeometry.WkbFlags, QgsAbstractGeometry.WkbFlag] = QgsAbstractGeometry.WkbFlags()) int ¶
- Parameters
flags (Union[QgsAbstractGeometry.WkbFlags) –
- Return type
int
- xAt(self, index: int) float ¶
- Parameters
index (int) –
- Return type
float
- yAt(self, index: int) float ¶
- Parameters
index (int) –
- Return type
float