Class: QgsEllipse

class qgis.core.QgsEllipse

Bases: sip.wrapper

Ellipse geometry type.

An ellipse is defined by a center point with a semi-major axis, a semi-minor axis and an azimuth. The azimuth is the north angle to the first quadrant (always oriented on the semi-major axis), in degrees. By default, the semi-major axis is oriented to the east (90 degrees). The semi-minor axis is always smaller than the semi-major axis. If it is set larger, it will be swapped and the azimuth will increase by 90 degrees.

QgsEllipse() Constructor for QgsEllipse.

QgsEllipse(center: QgsPoint, semiMajorAxis: float, semiMinorAxis: float, azimuth: float = 90) Constructs an ellipse by defining all the members.

Parameters:
  • center – The center of the ellipse.

  • semiMajorAxis – Semi-major axis of the ellipse.

  • semiMinorAxis – Semi-minor axis of the ellipse.

  • azimuth – Angle in degrees started from the North to the first quadrant.

QgsEllipse(QgsEllipse)

Methods

area

The area of the ellipse.

azimuth

Returns the azimuth.

boundingBox

Returns the minimal bounding box for the ellipse.

center

Returns the center point.

eccentricity

The eccentricity of the ellipse.

foci

Two foci of the ellipse.

focusDistance

The distance between the center and each foci.

fromCenter2Points

Constructs an ellipse by a central point and two other points.

fromCenterPoint

Constructs an ellipse by a center point and a another point.

fromExtent

Constructs an ellipse by an extent (aka bounding box / QgsRectangle).

fromFoci

Constructs an ellipse by foci (pt1 and pt2) and a point pt3.

isEmpty

An ellipse is empty if axes are equal to 0

orientedBoundingBox

Returns the oriented minimal bounding box for the ellipse.

perimeter

The circumference of the ellipse using first approximation of Ramanujan.

points

Returns a list of points with segmentation from segments.

quadrant

The four quadrants of the ellipse.

semiMajorAxis

Returns the semi-major axis.

semiMinorAxis

Returns the semi-minor axis.

setAzimuth

Sets the azimuth (orientation).

setCenter

Sets the center point.

setSemiMajorAxis

Sets the semi-major axis.

setSemiMinorAxis

Sets the semi-minor axis.

toLineString

Returns a segmented linestring.

toPolygon

Returns a segmented polygon.

toString

returns a string representation of the ellipse.

area(self) float

The area of the ellipse.

Return type:

float

azimuth(self) float

Returns the azimuth.

See also

setAzimuth()

Return type:

float

boundingBox(self) QgsRectangle

Returns the minimal bounding box for the ellipse.

Return type:

QgsRectangle

center(self) QgsPoint

Returns the center point.

See also

setCenter()

See also

rcenter()

Return type:

QgsPoint

eccentricity(self) float

The eccentricity of the ellipse. nan is returned if the ellipse is empty.

Return type:

float

foci(self) List[QgsPoint]

Two foci of the ellipse. The axes are oriented by the azimuth and are on the semi-major axis.

See also

fromFoci()

See also

focusDistance()

Return type:

List[QgsPoint]

Returns:

the two foci.

focusDistance(self) float

The distance between the center and each foci.

See also

fromFoci()

See also

foci()

Return type:

float

Returns:

The distance between the center and each foci.

fromCenter2Points(ptc: QgsPoint, pt1: QgsPoint, pt2: QgsPoint) QgsEllipse

Constructs an ellipse by a central point and two other points. The center point keeps m value from ptc. Z dimension is also supported and is retrieved from the first 3D point amongst ptc, pt1 and pt2. Axes are calculated from the 2D distance between ptc and pt1 and pt2. The azimuth is the angle between ptc and pt1.

Parameters:
Return type:

QgsEllipse

fromCenterPoint(ptc: QgsPoint, pt1: QgsPoint) QgsEllipse

Constructs an ellipse by a center point and a another point. The center point keeps m value from ptc. Z dimension is also supported and is retrieved from the first 3D point amongst ptc and pt1. Axes are calculated from the 2D distance between ptc and pt1. The azimuth always takes the default value.

Parameters:
Return type:

QgsEllipse

fromExtent(pt1: QgsPoint, pt2: QgsPoint) QgsEllipse

Constructs an ellipse by an extent (aka bounding box / QgsRectangle). The center point can have m value which is the result from the midpoint operation between pt1 and pt2. Z dimension is also supported and is retrieved from the first 3D point amongst pt1 and pt2. Axes are calculated from the 2D distance between pt1 and pt2. The azimuth always takes the default value.

Parameters:
Return type:

QgsEllipse

fromFoci(pt1: QgsPoint, pt2: QgsPoint, pt3: QgsPoint) QgsEllipse

Constructs an ellipse by foci (pt1 and pt2) and a point pt3. The center point can have m value which is the result from the midpoint operation between pt1 and pt2. Z dimension is also supported and is retrieved from the first 3D point amongst pt1 and pt2. Axes are calculated from the 2D distance with the third point pt3. The azimuth is the angle between pt1 and pt2.

Parameters:
Return type:

QgsEllipse

isEmpty(self) bool

An ellipse is empty if axes are equal to 0

Return type:

bool

orientedBoundingBox(self) QgsPolygon

Returns the oriented minimal bounding box for the ellipse.

Return type:

QgsPolygon

perimeter(self) float

The circumference of the ellipse using first approximation of Ramanujan.

Return type:

float

points(self, segments: int = 36) List[QgsPoint]

Returns a list of points with segmentation from segments.

Parameters:

segments (int = 36) – Number of segments used to segment geometry.

Return type:

List[QgsPoint]

quadrant(self) List[QgsPoint]

The four quadrants of the ellipse. They are oriented and started always from semi-major axis.

Return type:

List[QgsPoint]

Returns:

quadrants defined by four points.

semiMajorAxis(self) float

Returns the semi-major axis.

Return type:

float

semiMinorAxis(self) float

Returns the semi-minor axis.

Return type:

float

setAzimuth(self, azimuth: float)

Sets the azimuth (orientation).

See also

azimuth()

Parameters:

azimuth (float) –

setCenter(self, center: QgsPoint)

Sets the center point.

See also

center()

See also

rcenter()

Parameters:

center (QgsPoint) –

setSemiMajorAxis(self, semiMajorAxis: float)

Sets the semi-major axis.

See also

semiMajorAxis()

Parameters:

semiMajorAxis (float) –

setSemiMinorAxis(self, semiMinorAxis: float)

Sets the semi-minor axis.

See also

semiMinorAxis()

Parameters:

semiMinorAxis (float) –

toLineString(self, segments: int = 36) QgsLineString

Returns a segmented linestring.

Parameters:

segments (int = 36) – Number of segments used to segment geometry.

Return type:

QgsLineString

toPolygon(self, segments: int = 36) QgsPolygon

Returns a segmented polygon.

Parameters:

segments (int = 36) – Number of segments used to segment geometry.

Return type:

QgsPolygon

toString(self, pointPrecision: int = 17, axisPrecision: int = 17, azimuthPrecision: int = 2) str

returns a string representation of the ellipse. Members will be truncated to the specified precision.

Parameters:
  • pointPrecision (int = 17) –

  • axisPrecision (int = 17) –

  • azimuthPrecision (int = 2) –

Return type:

str