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

rtype

QByteArray

asWkt

param precision

calculateBoundingBox

rtype

QgsRectangle

childCount

childGeometry

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

hasCurvedSegments

rtype

bool

insertVertex

param position

interpolatePoint

param distance

isEmpty

rtype

bool

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

snappedToGrid

param hSpacing

startPoint

rtype

QgsPoint

sumUpArea

rtype

float

swapXy

transform

transform(self, t: QTransform, zTranslate: float = 0, zScale: float = 1, mTranslate: float = 0, mScale: float = 1)

vertexAngle

param vertex

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) → QByteArray
Return type

QByteArray

asWkt(self, precision: int = 17) → str
Parameters

precision (int = 17) –

Return type

str

calculateBoundingBox(self) → QgsRectangle
Return type

QgsRectangle

childCount()
childGeometry()
childPoint()
clear(self)
clearCache()
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()
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

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()
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)

Parameters
  • ct (QgsCoordinateTransform) –

  • d (QgsCoordinateTransform.TransformDirection = QgsCoordinateTransform.ForwardTransform) –

  • transformZ (bool = False) –

vertexAngle(self, vertex: QgsVertexId) → float
Parameters

vertex (QgsVertexId) –

Return type

float

xAt(self, index: int) → float
Parameters

index (int) –

Return type

float

yAt(self, index: int) → float
Parameters

index (int) –

Return type

float