Class: QgsCircularString

class qgis.core.QgsCircularString

Bases: QgsCurve

Circular string geometry type

New in version 2.10.

QgsCircularString() Constructs an empty circular string.

QgsCircularString(p1: QgsPoint, p2: QgsPoint, p3: QgsPoint) Constructs a circular string with a single arc passing through p1, p2 and p3.

New in version 3.2.

QgsCircularString(x: Iterable[float], y: Iterable[float], z: Iterable[float] = [], m: Iterable[float] = []) Construct a circular string from arrays of coordinates. If the z or m arrays are non-empty then the resultant circular string will have z and m types accordingly.

This constructor is more efficient then calling setPoints().

If the sizes of x and y are non-equal then the resultant circular string will be created using the minimum size of these arrays.

Warning

It is the caller’s responsibility to ensure that the supplied arrays are of odd sizes.

New in version 3.20.

QgsCircularString(QgsCircularString)

Methods

addMValue

param mValue

addToPainterPath

param path

addZValue

param zValue

append

Appends the contents of another circular string to the end of this circular string.

asGml2

param doc

asGml3

param doc

asWkb

param flags

asWkt

param precision

calculateBoundingBox

rtype

QgsRectangle

childCount

Returns number of child geometries (for geometries with child geometries) or child points (for geometries without child geometries - i.e. curve / point).

childGeometry

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

childPoint

Returns point at index (for geometries without child geometries - i.e. curve / point).

clear

clearCache

Clears any cached parameters associated with the geometry, e.g., bounding boxes

clone

rtype

QgsCircularString

closestSegment

param pt

compareToSameClass

param other

createEmptyWithSameType

rtype

QgsCircularString

curveSubstring

param startDistance

curveToLine

param tolerance

deleteVertex

param position

dimension

rtype

int

draw

param p

drawAsPolygon

param p

dropMValue

rtype

bool

dropZValue

rtype

bool

endPoint

rtype

QgsPoint

equals

param other

fromTwoPointsAndCenter

Creates a circular string with a single arc representing the curve from p1 to p2 with the specified center.

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

indexOf

param point

insertVertex

param position

interpolatePoint

param distance

isEmpty

rtype

bool

isValid

param flags

length

rtype

float

moveVertex

param position

numPoints

rtype

int

pointAt

param node

pointN

Returns the point at index i within the circular string.

points

rtype

List[QgsPoint]

removeDuplicateNodes

param epsilon

reversed

rtype

QgsCircularString

scroll

param firstVertexIndex

segmentLength

param startVertex

setPoints

Sets the circular string’s points

setZMTypeFromSubGeometry

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

snappedToGrid

param hSpacing

sortIndex

Returns the sort index for the geometry, used in the compareTo() method to compare geometries of different types.

startPoint

rtype

QgsPoint

sumUpArea

rtype

float

swapXy

transform

param ct

vertexAngle

param vertex

wkbSize

param flags

xAt

param index

yAt

param index

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

append(self, string: QgsCircularString)

Appends the contents of another circular string to the end of this circular string.

Parameters

string (QgsCircularString) – circular string to append. Ownership is not transferred.

Warning

It is the caller’s responsibility to ensure that the first point in the appended string matches the last point in the existing curve, or the result will be undefined.

New in version 3.20.

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

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

QgsCircularString

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

createEmptyWithSameType(self)QgsCircularString
Return type

QgsCircularString

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

  • endDistance (float) –

Return type

QgsCircularString

curveToLine(self, tolerance: float = M_PI_2 / 90, toleranceType: QgsAbstractGeometry.SegmentationToleranceType = QgsAbstractGeometry.MaximumAngle)QgsLineString
Parameters
  • tolerance (float = M_PI_2/90) –

  • toleranceType (QgsAbstractGeometry.SegmentationToleranceType = QgsAbstractGeometry.MaximumAngle) –

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

fromTwoPointsAndCenter(p1: QgsPoint, p2: QgsPoint, center: QgsPoint, useShortestArc: bool = True)QgsCircularString

Creates a circular string with a single arc representing the curve from p1 to p2 with the specified center.

If useShortestArc is True, then the arc returned will be that corresponding to the shorter arc from p1 to p2. If it is False, the longer arc from p1 to p2 will be used (i.e. winding the other way around the circle).

New in version 3.2.

Parameters
Return type

QgsCircularString

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

indexOf(self, point: QgsPoint)int
Parameters

point (QgsPoint) –

Return type

int

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

numPoints(self)int
Return type

int

pointAt(self, node: int, point: QgsPoint)Tuple[bool, QgsVertexId.VertexType]
Parameters
Return type

Tuple[bool, QgsVertexId.VertexType]

pointN(self, i: int)QgsPoint

Returns the point at index i within the circular string.

Parameters

i (int) –

Return type

QgsPoint

points(self)List[QgsPoint]
Return type

List[QgsPoint]

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

QgsCircularString

scroll(self, firstVertexIndex: int)
Parameters

firstVertexIndex (int) –

segmentLength(self, startVertex: QgsVertexId)float
Parameters

startVertex (QgsVertexId) –

Return type

float

setPoints(self, points: Iterable[QgsPoint])

Sets the circular string’s points

Parameters

points (Iterable[QgsPoint]) –

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)QgsCircularString
Parameters
  • hSpacing (float) –

  • vSpacing (float) –

  • dSpacing (float = 0) –

  • mSpacing (float = 0) –

Return type

QgsCircularString

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.

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