Class: QgsQuadrilateral

class qgis.core.QgsQuadrilateral

Bases: sip.wrapper

QgsQuadrilateral(p1: QgsPoint, p2: QgsPoint, p3: QgsPoint, p4: QgsPoint) Construct a QgsQuadrilateral from four QgsPoint.

Parameters:
  • p1 – first point
  • p2 – second point
  • p3 – third point
  • p4 – fourth point

See also

setPoints()

QgsQuadrilateral(p1: QgsPointXY, p2: QgsPointXY, p3: QgsPointXY, p4: QgsPointXY) Construct a QgsQuadrilateral from four QgsPointXY.

Parameters:
  • p1 – first point
  • p2 – second point
  • p3 – third point
  • p4 – fourth point

See also

setPoints()

QgsQuadrilateral(QgsQuadrilateral)

Quadrilateral geometry type. A quadrilateral is a polygon with four edges (or sides) and four vertices or corners. This class allows the creation of simple quadrilateral (which does not self-intersect).

New in version 3.6: Methods

area Returns the area of the quadrilateral, or 0 if the quadrilateral is empty.
equals Compares two QgsQuadrilateral, allowing specification of the maximum allowable difference between points.
fromRectangle Construct a QgsQuadrilateral as a rectangle from a QgsRectangle.
isValid Convenient method to determine if a QgsQuadrilateral is valid.
perimeter Returns the perimeter of the quadrilateral, or 0 if the quadrilateral is empty.
points Returns a list including the vertices of the quadrilateral.
rectangleFrom3Points Construct a QgsQuadrilateral as a Rectangle from 3 points.
rectangleFromCenterPoint Construct a QgsQuadrilateral as a rectangle from center point center and another point point.
rectangleFromExtent Construct a QgsQuadrilateral as a rectangle from an extent, defined by two opposite corner points.
setPoint Sets the point newPoint at the index.
setPoints Set all points Returns false if the QgsQuadrilateral is not valid: - The points do not have the same type - The quadrilateral would have auto intersections - The quadrilateral has double points - The quadrilateral has collinear points
squareFromDiagonal Construct a QgsQuadrilateral as a square from a diagonal.
toLineString Returns the quadrilateral as a new linestring.
toPolygon Returns the quadrilateral as a new polygon.
toString Returns a string representation of the quadrilateral.

Signals

Attributes

Distance
Point1
Point2
Point3
Point4
Projected
class ConstructionOption

Bases: int

Distance = 0
class Point

Bases: int

Point1 = 0
Point2 = 1
Point3 = 2
Point4 = 3
Projected = 1
area(self) → float

Returns the area of the quadrilateral, or 0 if the quadrilateral is empty.

equals(self, other: QgsQuadrilateral, epsilon: float = 4*DBL_EPSILON) → bool

Compares two QgsQuadrilateral, allowing specification of the maximum allowable difference between points.

Parameters:
  • other – the QgsQuadrilateral to compare
  • epsilon – the maximum difference allowed / tolerance
fromRectangle(rectangle: QgsRectangle) → QgsQuadrilateral

Construct a QgsQuadrilateral as a rectangle from a QgsRectangle.

Parameters:rectangle – rectangle
isValid(self) → bool

Convenient method to determine if a QgsQuadrilateral is valid. A QgsQuadrilateral must be simple (not self-intersecting) and cannot have collinear points.

perimeter(self) → float

Returns the perimeter of the quadrilateral, or 0 if the quadrilateral is empty.

points(self) → object

Returns a list including the vertices of the quadrilateral.

rectangleFrom3Points(p1: QgsPoint, p2: QgsPoint, p3: QgsPoint, mode: QgsQuadrilateral.ConstructionOption) → QgsQuadrilateral

Construct a QgsQuadrilateral as a Rectangle from 3 points. In the case where one of the points is of type PointZ. The other points will also be of type Z, even if they are of type Point. In addition, the z used will be the one of the first point with a Z. This ensures consistency in point types and the ability to export to a Polygon or LineString.

Parameters:
  • p1 – first point
  • p2 – second point
  • p3 – third point
  • mode – Construction mode to construct the rectangle from 3 points

See also

ConstructionOption

rectangleFromCenterPoint(center: QgsPoint, point: QgsPoint) → QgsQuadrilateral

Construct a QgsQuadrilateral as a rectangle from center point center and another point point. Z is taken from center point.

Parameters:
  • center – center point
  • point – corner point
rectangleFromExtent(p1: QgsPoint, p2: QgsPoint) → QgsQuadrilateral

Construct a QgsQuadrilateral as a rectangle from an extent, defined by two opposite corner points. Z is taken from point p1.

Parameters:
  • p1 – first point
  • p2 – second point
setPoint(self, newPoint: QgsPoint, index: QgsQuadrilateral.Point) → bool

Sets the point newPoint at the index. Returns false if the QgsQuadrilateral is not valid.

See also

Point

setPoints(self, p1: QgsPoint, p2: QgsPoint, p3: QgsPoint, p4: QgsPoint) → bool

Set all points Returns false if the QgsQuadrilateral is not valid: - The points do not have the same type - The quadrilateral would have auto intersections - The quadrilateral has double points - The quadrilateral has collinear points

squareFromDiagonal(p1: QgsPoint, p2: QgsPoint) → QgsQuadrilateral

Construct a QgsQuadrilateral as a square from a diagonal. Z is taken from point p1.

Parameters:
  • p1 – first point
  • p2 – second point
toLineString(self, force2D: bool = False) → QgsLineString

Returns the quadrilateral as a new linestring. Ownership is transferred to the caller.

toPolygon(self, force2D: bool = False) → QgsPolygon

Returns the quadrilateral as a new polygon. Ownership is transferred to the caller.

toString(self, pointPrecision: int = 17) → str

Returns a string representation of the quadrilateral. Members will be truncated to the specified precision.