Class: QgsCompoundCurve

class qgis.core.QgsCompoundCurve

Bases: QgsCurve

Compound curve geometry type

Methods

addCurve

Adds a curve to the geometry (takes ownership)

addMValue

param mValue

addToPainterPath

param path

addVertex

Adds a vertex to the end of the geometry.

addZValue

param zValue

asGml2

param doc

asGml3

param doc

asWkb

param flags

asWkt

param precision

calculateBoundingBox

rtype

QgsRectangle

childCount

childGeometry

Returns pointer to child geometry (for geometries with child geometries - i.e. geom.

childPoint

clear

clearCache

clone

rtype

QgsCompoundCurve

close

Appends first point if not already closed.

closestSegment

param pt

createEmptyWithSameType

rtype

QgsCompoundCurve

curveAt

Returns the curve at the specified index.

curveSubstring

param startDistance

curveToLine

Returns a new line string geometry corresponding to a segmentized approximation of the curve.

deleteVertex

param position

dimension

rtype

int

draw

param p

drawAsPolygon

param p

dropMValue

rtype

bool

dropZValue

rtype

bool

endPoint

rtype

QgsPoint

equals

param other

fromWkb

param wkb

fromWkt

param wkt

geometryType

rtype

str

hasChildGeometries

Returns whether the geometry has any child geometries (False for point / curve, True otherwise)

hasCurvedSegments

rtype

bool

insertVertex

param position

interpolatePoint

param distance

isEmpty

rtype

bool

isValid

param flags

length

rtype

float

moveVertex

param position

nCurves

Returns the number of curves in the geometry.

numPoints

rtype

int

pointAt

param node

points

rtype

List[QgsPoint]

removeCurve

Removes a curve from the geometry.

removeDuplicateNodes

param epsilon

reversed

rtype

QgsCompoundCurve

segmentLength

param startVertex

setZMTypeFromSubGeometry

Updates the geometry type based on whether sub geometries contain z or m values.

snappedToGrid

param hSpacing

startPoint

rtype

QgsPoint

sumUpArea

rtype

float

swapXy

transform

param ct

vertexAngle

param vertex

wkbSize

param flags

xAt

param index

yAt

param index

addCurve(self, c: QgsCurve)

Adds a curve to the geometry (takes ownership)

Parameters

c (QgsCurve) –

addMValue(self, mValue: float = 0)bool
Parameters

mValue (float = 0) –

Return type

bool

addToPainterPath(self, path: QPainterPath)
Parameters

path (QPainterPath) –

addVertex(self, pt: QgsPoint)

Adds a vertex to the end of the geometry.

Parameters

pt (QgsPoint) –

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

calculateBoundingBox(self)QgsRectangle
Return type

QgsRectangle

childCount(self)int
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
clear(self)
clearCache(self)
clone(self)QgsCompoundCurve
Return type

QgsCompoundCurve

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]

createEmptyWithSameType(self)QgsCompoundCurve
Return type

QgsCompoundCurve

curveAt(self, i: int)QgsCurve

Returns the curve at the specified index.

Parameters

i (int) –

Return type

QgsCurve

curveSubstring(self, startDistance: float, endDistance: float)QgsCompoundCurve
Parameters
  • startDistance (float) –

  • endDistance (float) –

Return type

QgsCompoundCurve

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

QgsLineString

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

endPoint(self)QgsPoint
Return type

QgsPoint

equals(self, other: QgsCurve)bool
Parameters

other (QgsCurve) –

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
Return type

bool

interpolatePoint(self, distance: float)QgsPoint
Parameters

distance (float) –

Return type

QgsPoint

isEmpty(self)bool
Return type

bool

isValid(self, flags: int = 0)Tuple[bool, str]
Parameters

flags (int = 0) –

Return type

Tuple[bool, str]

length(self)float
Return type

float

moveVertex(self, position: QgsVertexId, newPos: QgsPoint)bool
Parameters
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, QgsVertexId.VertexType]
Parameters
Return type

Tuple[bool, QgsVertexId.VertexType]

points(self)List[QgsPoint]
Return type

List[QgsPoint]

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

QgsCompoundCurve

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.

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

QgsCompoundCurve

startPoint(self)QgsPoint
Return type

QgsPoint

sumUpArea(self)float
Return type

float

swapXy(self)
transform(self, ct: QgsCoordinateTransform, d: QgsCoordinateTransform.TransformDirection = QgsCoordinateTransform.ForwardTransform, 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 (QgsCoordinateTransform.TransformDirection = QgsCoordinateTransform.ForwardTransform) –

  • 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