Class: QgsCurve¶
-
class
qgis.core.
QgsCurve
¶ Bases:
qgis._core.QgsAbstractGeometry
Constructor for QgsCurve.
QgsCurve(QgsCurve)
Abstract base class for curved geometry type
New in version 2.10: Enums
Methods
Adds a curve to a painter path.
Returns a QPolygonF representing the points.
Returns a new curve representing a substring of this curve.
Returns a new line string geometry corresponding to a segmentized approximation of the curve.
Draws the curve as a polygon on the specified QPainter.
Returns the end point of the curve.
Checks whether this curve exactly equals another curve.
Returns an interpolated point on the curve at the specified
distance
.Returns
True
if the curve is closed.Returns
True
if the curve is a ring.Returns the number of points in the curve.
Returns the curve’s orientation, e.g.
Returns the point and vertex id of a point within the curve.
Returns a list of points within the curve.
Returns a reversed copy of the curve, where the direction of the curve has been flipped.
Returns a geometry without curves.
Returns the curve sinuosity, which is the ratio of the curve length() to curve straightDistance2d().
Returns the starting point of the curve.
Returns the straight distance of the curve, i.e.
Sums up the area of the curve by iterating over the vertices (shoelace formula).
Returns the x-coordinate of the specified node in the line string.
Returns the y-coordinate of the specified node in the line string.
Signals
Attributes
-
Clockwise
= 0¶
-
CounterClockwise
= 1¶
-
class
Orientation
¶ Bases:
int
-
addToPainterPath
(self, path: QPainterPath)¶ Adds a curve to a painter path.
-
adjacentVertices
(self, vertex: QgsVertexId) → Tuple[QgsVertexId, QgsVertexId]¶
-
asQPolygonF
(self) → QPolygonF¶ Returns a QPolygonF representing the points.
-
boundary
(self) → QgsAbstractGeometry¶
-
boundingBox
(self) → QgsRectangle¶
-
calculateBoundingBox
()¶
-
childCount
(self) → int¶
-
childGeometry
()¶
-
childPoint
(self, index: int) → QgsPoint¶
-
clearCache
(self)¶
-
clone
(self) → QgsCurve¶
-
coordinateSequence
(self) → object¶
-
curveSubstring
(self, startDistance: float, endDistance: float) → QgsCurve¶ Returns a new curve representing a substring of this curve.
The
startDistance
andendDistance
arguments specify the length along the curve which the substring should start and end at. If theendDistance
is greater than the total length of the curve then any “extra” length will be ignored.If z or m values are present, the output z and m will be interpolated using the existing vertices’ z or m values.
New in version 3.4.
-
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 – segmentation tolerance
toleranceType – maximum segmentation angle or maximum difference between approximation and curve
Uses a MaximumAngle tolerance of 1 degrees by default (360 segments in a full circle)
-
drawAsPolygon
(self, p: QPainter)¶ Draws the curve as a polygon on the specified QPainter.
- Parameters
p – destination QPainter
-
endPoint
(self) → QgsPoint¶ Returns the end point of the curve.
See also
-
equals
(self, other: QgsCurve) → bool¶ Checks whether this curve exactly equals another curve.
New in version 3.0.
-
hasChildGeometries
()¶
-
interpolatePoint
(self, distance: float) → QgsPoint¶ Returns an interpolated point on the curve at the specified
distance
.If z or m values are present, the output z and m will be interpolated using the existing vertices’ z or m values.
If distance is negative, or is greater than the length of the curve,
None
will be returned.New in version 3.4.
-
isClosed
(self) → bool¶ Returns
True
if the curve is closed.
-
isRing
(self) → bool¶ Returns
True
if the curve is a ring.
-
isValid
(self, flags: int = 0) → Tuple[bool, str]¶
-
nextVertex
(self, id: QgsVertexId) → Tuple[bool, QgsPoint]¶
-
numPoints
(self) → int¶ Returns the number of points in the curve.
-
orientation
(self) → QgsCurve.Orientation¶ Returns the curve’s orientation, e.g. clockwise or counter-clockwise.
Warning
The result is not predictable for non-closed curves.
New in version 3.6.
-
partCount
(self) → int¶
-
pointAt
(self, node: int) → Tuple[bool, QgsPoint, QgsVertexId.VertexType]¶ Returns the point and vertex id of a point within the curve.
- Parameters
node – node number, where the first node is 0
type – will be set to the vertex type of the node
- Returns
True
if node exists within the curvepoint: will be set to point at corresponding node in the curve
-
points
(self) → List[QgsPoint]¶ Returns a list of points within the curve.
-
reversed
(self) → QgsCurve¶ Returns a reversed copy of the curve, where the direction of the curve has been flipped.
New in version 2.14.
-
ringCount
(self, part: int = 0) → int¶
-
segmentize
(self, tolerance: float = M_PI_2/90, toleranceType: QgsAbstractGeometry.SegmentationToleranceType = QgsAbstractGeometry.MaximumAngle) → QgsCurve¶ Returns a geometry without curves. Caller takes ownership
- Parameters
tolerance – segmentation tolerance
toleranceType – maximum segmentation angle or maximum difference between approximation and curve*
-
setZMTypeFromSubGeometry
()¶
-
sinuosity
(self) → float¶ Returns the curve sinuosity, which is the ratio of the curve length() to curve straightDistance2d(). Larger numbers indicate a more “sinuous” curve (i.e. more “bendy”). The minimum value returned of 1.0 indicates a perfectly straight curve.
If a curve isClosed(), it has infinite sinuosity and will return NaN.
New in version 3.2.
-
startPoint
(self) → QgsPoint¶ Returns the starting point of the curve.
See also
-
straightDistance2d
(self) → float¶ Returns the straight distance of the curve, i.e. the direct/euclidean distance between the first and last vertex of the curve. (Also known as “as the crow flies” distance).
New in version 3.2.
-
sumUpArea
(self) → float¶ Sums up the area of the curve by iterating over the vertices (shoelace formula).
-
toCurveType
(self) → QgsCurve¶
-
vertexAt
(self, id: QgsVertexId) → QgsPoint¶
-
vertexCount
(self, part: int = 0, ring: int = 0) → int¶
-
vertexNumberFromVertexId
(self, id: QgsVertexId) → int¶
-
xAt
(self, index: int) → float¶ Returns the x-coordinate of the specified node in the line string.
- Parameters
index – index of node, where the first node in the line is 0
- Returns
x-coordinate of node, or 0.0 if index is out of bounds
-
yAt
(self, index: int) → float¶ Returns the y-coordinate of the specified node in the line string.
- Parameters
index – index of node, where the first node in the line is 0
- Returns
y-coordinate of node, or 0.0 if index is out of bounds
-