Class: QgsRectangle

A rectangle specified with double values.

QgsRectangle is used to store a rectangle when double values are required. Examples are storing a layer extent or the current view extent of a map

See also

QgsBox3D

Class Hierarchy

Inheritance diagram of qgis.core.QgsRectangle

Subclasses

QgsReferencedRectangle

A QgsRectangle with associated coordinate reference system.

Methods

area

Returns the area of the rectangle.

asPolygon

Returns the rectangle as a polygon.

asWktCoordinates

Returns a string representation of the rectangle in WKT format.

asWktPolygon

Returns a string representation of the rectangle as a WKT Polygon.

buffered

Gets rectangle enlarged by buffer.

center

Returns the center point of the rectangle.

combineExtentWith

Expands the rectangle so that it covers both the original rectangle and the given rectangle.

contains

Returns True when rectangle contains other rectangle.

distance

Returns the distance from point to the nearest point on the boundary of the rectangle.

grow

Grows the rectangle in place by the specified amount.

height

Returns the height of the rectangle.

include

Updates the rectangle to include the specified point.

intersect

Returns the intersection with the given rectangle.

intersects

Returns True when rectangle intersects with other rectangle.

invert

Swap x/y coordinates in the rectangle.

isEmpty

Returns True if the rectangle has no area.

isFinite

Returns True if the rectangle has finite boundaries.

isMaximal

Test if the rectangle is the maximal possible rectangle.

isNull

Test if the rectangle is null (holding no spatial information).

normalize

Normalize the rectangle so it has non-negative width/height.

perimeter

Returns the perimeter of the rectangle.

scale

Scale the rectangle around its center point.

scaled

Scale the rectangle around its center point.

set

Sets the rectangle from two QgsPoints.

setMinimal

Set a rectangle so that min corner is at max and max corner is at min.

setNull

Mark a rectangle as being null (holding no spatial information).

setXMaximum

Set the maximum x value.

setXMinimum

Set the minimum x value.

setYMaximum

Set the maximum y value.

setYMinimum

Set the minimum y value.

snappedToGrid

Returns a copy of this rectangle that is snapped to a grid with the specified spacing between the grid lines.

toBox3d

Converts the rectangle to a 3D box, with the specified zMin and zMax z values.

toRectF

Returns a QRectF with same coordinates as the rectangle.

toString

Returns a string representation of form xmin,ymin : xmax,ymax Coordinates will be truncated to the specified precision.

width

Returns the width of the rectangle.

xMaximum

Returns the x maximum value (right side of rectangle).

xMinimum

Returns the x minimum value (left side of rectangle).

yMaximum

Returns the y maximum value (top side of rectangle).

yMinimum

Returns the y minimum value (bottom side of rectangle).

Static Methods

fromCenterAndSize

Creates a new rectangle, given the specified center point and width and height.

fromWkt

Creates a new rectangle from a wkt string.

class qgis.core.QgsRectangle[source]

Bases: object

__init__()
__init__(xMin: float, yMin: float = 0, xMax: float = 0, yMax: float = 0, normalize: bool = True)

Constructs a QgsRectangle from a set of x and y minimum and maximum coordinates.

The rectangle will be normalized after creation. Since QGIS 3.20, if normalize is False then the normalization step will not be applied automatically.

Parameters:
  • xMin (float)

  • yMin (float = 0)

  • xMax (float = 0)

  • yMax (float = 0)

  • normalize (bool = True)

__init__(p1: QgsPointXY, p2: QgsPointXY, normalize: bool = True)

Construct a rectangle from two points.

The rectangle is normalized after construction. Since QGIS 3.20, if normalize is False then the normalization step will not be applied automatically.

Parameters:
__init__(qRectF: QRectF)

Construct a rectangle from a QRectF.

The rectangle is NOT normalized after construction.

Parameters:

qRectF (QRectF)

__init__(other: QgsRectangle)
Parameters:

other (QgsRectangle)

area(self) float[source]

Returns the area of the rectangle.

See also

width()

See also

height()

See also

perimeter()

Return type:

float

asPolygon(self) str[source]

Returns the rectangle as a polygon.

Return type:

str

asWktCoordinates(self) str[source]

Returns a string representation of the rectangle in WKT format.

Return type:

str

asWktPolygon(self) str[source]

Returns a string representation of the rectangle as a WKT Polygon.

Return type:

str

buffered(self, width: float) QgsRectangle[source]

Gets rectangle enlarged by buffer.

Note

In earlier QGIS releases this method was named buffer().

See also

grow()

Parameters:

width (float)

Return type:

QgsRectangle

center(self) QgsPointXY[source]

Returns the center point of the rectangle.

Return type:

QgsPointXY

combineExtentWith(self, rect: QgsRectangle)[source]

Expands the rectangle so that it covers both the original rectangle and the given rectangle.

Parameters:

rect (QgsRectangle)

combineExtentWith(self, x: float, y: float)[source]

Expands the rectangle so that it covers both the original rectangle and the given point.

Parameters:
  • x (float)

  • y (float)

combineExtentWith(self, point: QgsPointXY)[source]

Expands the rectangle so that it covers both the original rectangle and the given point.

Added in version 3.2.

Parameters:

point (QgsPointXY)

contains(self, rect: QgsRectangle) bool[source]

Returns True when rectangle contains other rectangle.

Parameters:

rect (QgsRectangle)

Return type:

bool

contains(self, p: QgsPointXY) bool[source]

Returns True when rectangle contains a point.

Parameters:

p (QgsPointXY)

Return type:

bool

contains(self, x: float, y: float) bool[source]

Returns True when rectangle contains the point at (x, y).

Added in version 3.20.

Parameters:
  • x (float)

  • y (float)

Return type:

bool

distance(self, point: QgsPointXY) float[source]

Returns the distance from point to the nearest point on the boundary of the rectangle.

Added in version 3.14.

Parameters:

point (QgsPointXY)

Return type:

float

static fromCenterAndSize(center: QgsPointXY, width: float, height: float) QgsRectangle[source]

Creates a new rectangle, given the specified center point and width and height.

Parameters:
  • center (QgsPointXY)

  • width (float)

  • height (float)

Return type:

QgsRectangle

static fromWkt(wkt: str | None) QgsRectangle[source]

Creates a new rectangle from a wkt string. The WKT must contain only 5 vertices, representing a rectangle aligned with X and Y axes.

Parameters:

wkt (Optional[str])

Return type:

QgsRectangle

grow(self, delta: float)[source]

Grows the rectangle in place by the specified amount.

See also

buffered()

Parameters:

delta (float)

height(self) float[source]

Returns the height of the rectangle.

See also

width()

See also

area()

Return type:

float

include(self, p: QgsPointXY)[source]

Updates the rectangle to include the specified point.

Parameters:

p (QgsPointXY)

intersect(self, rect: QgsRectangle) QgsRectangle[source]

Returns the intersection with the given rectangle.

Parameters:

rect (QgsRectangle)

Return type:

QgsRectangle

intersects(self, rect: QgsRectangle) bool[source]

Returns True when rectangle intersects with other rectangle.

Parameters:

rect (QgsRectangle)

Return type:

bool

invert(self)[source]

Swap x/y coordinates in the rectangle.

isEmpty(self) bool[source]

Returns True if the rectangle has no area.

An empty rectangle may still be non-null if it contains valid spatial information (e.g. bounding box of a point or of a vertical or horizontal segment).

See also

isNull()

Return type:

bool

isFinite(self) bool[source]

Returns True if the rectangle has finite boundaries. Will return False if any of the rectangle boundaries are NaN or Inf.

See also

isMaximal()

See also

isNull()

See also

isEmpty()

Return type:

bool

isMaximal(self) bool[source]

Test if the rectangle is the maximal possible rectangle.

A rectangle is considered maximal if all boundaries are either at their maximum possible values or are infinite values.

See also

isFinite()

See also

isNull()

See also

isEmpty()

Added in version 3.44.

Return type:

bool

isNull(self) bool[source]

Test if the rectangle is null (holding no spatial information).

A null rectangle is also an empty rectangle.

See also

setNull()

Return type:

bool

normalize(self)[source]

Normalize the rectangle so it has non-negative width/height.

perimeter(self) float[source]

Returns the perimeter of the rectangle.

See also

area()

Return type:

float

scale(self, scaleFactor: float, c: QgsPointXY | None = None)[source]

Scale the rectangle around its center point.

Parameters:
  • scaleFactor (float)

  • c (Optional[QgsPointXY] = None)

scale(self, scaleFactor: float, centerX: float, centerY: float)[source]

Scale the rectangle around its center point.

Parameters:
  • scaleFactor (float)

  • centerX (float)

  • centerY (float)

scaled(self, scaleFactor: float, center: QgsPointXY | None = None) QgsRectangle[source]

Scale the rectangle around its center point.

Added in version 3.4.

Parameters:
  • scaleFactor (float)

  • center (Optional[QgsPointXY] = None)

Return type:

QgsRectangle

set(self, p1: QgsPointXY, p2: QgsPointXY, normalize: bool = True)[source]

Sets the rectangle from two QgsPoints.

The rectangle is normalised after construction. Since QGIS 3.20, if normalize is False then the normalization step will not be applied automatically.

Parameters:
set(self, xMin: float, yMin: float, xMax: float, yMax: float, normalize: bool = True)[source]

Sets the rectangle from four points.

The rectangle is normalised after construction. Since QGIS 3.20, if normalize is False then the normalization step will not be applied automatically.

Parameters:
  • xMin (float)

  • yMin (float)

  • xMax (float)

  • yMax (float)

  • normalize (bool = True)

setMinimal(self)[source]

Set a rectangle so that min corner is at max and max corner is at min. It is NOT normalized.

Deprecated since version 3.34: Will be removed in QGIS 4.0. Use setNull().

setNull(self)[source]

Mark a rectangle as being null (holding no spatial information).

A null rectangle is also empty by definition.

See also

isNull()

See also

isEmpty()

Added in version 3.34.

setXMaximum(self, x: float)[source]

Set the maximum x value.

Parameters:

x (float)

setXMinimum(self, x: float)[source]

Set the minimum x value.

Parameters:

x (float)

setYMaximum(self, y: float)[source]

Set the maximum y value.

Parameters:

y (float)

setYMinimum(self, y: float)[source]

Set the minimum y value.

Parameters:

y (float)

snappedToGrid(self, spacing: float) QgsRectangle[source]

Returns a copy of this rectangle that is snapped to a grid with the specified spacing between the grid lines.

Added in version 3.4.

Parameters:

spacing (float)

Return type:

QgsRectangle

toBox3d(self, zMin: float, zMax: float) QgsBox3D[source]

Converts the rectangle to a 3D box, with the specified zMin and zMax z values.

Parameters:
  • zMin (float)

  • zMax (float)

Return type:

QgsBox3D

toRectF(self) QRectF[source]

Returns a QRectF with same coordinates as the rectangle.

Return type:

QRectF

toString(self, precision: int = 16) str[source]

Returns a string representation of form xmin,ymin : xmax,ymax Coordinates will be truncated to the specified precision. If the specified precision is less than 0, a suitable minimum precision is used.

Parameters:

precision (int = 16)

Return type:

str

width(self) float[source]

Returns the width of the rectangle.

See also

height()

See also

area()

Return type:

float

xMaximum(self) float[source]

Returns the x maximum value (right side of rectangle).

Return type:

float

xMinimum(self) float[source]

Returns the x minimum value (left side of rectangle).

Return type:

float

yMaximum(self) float[source]

Returns the y maximum value (top side of rectangle).

Return type:

float

yMinimum(self) float[source]

Returns the y minimum value (bottom side of rectangle).

Return type:

float