Class: QgsQuadrilateral¶
- class qgis.core.QgsQuadrilateral¶
Bases:
sip.wrapper
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.
QgsQuadrilateral() Constructor for an empty quadrilateral geometry.
QgsQuadrilateral(p1:
QgsPoint
, p2:QgsPoint
, p3:QgsPoint
, p4:QgsPoint
) Construct aQgsQuadrilateral
from fourQgsPoint
.- Parameters:
p1 – first point
p2 – second point
p3 – third point
p4 – fourth point
See also
QgsQuadrilateral(p1:
QgsPointXY
, p2:QgsPointXY
, p3:QgsPointXY
, p4:QgsPointXY
) Construct aQgsQuadrilateral
from fourQgsPointXY
.- Parameters:
p1 – first point
p2 – second point
p3 – third point
p4 – fourth point
See also
QgsQuadrilateral(
QgsQuadrilateral
)Methods
Returns the area of the quadrilateral, or 0 if the quadrilateral is empty.
Compares two
QgsQuadrilateral
, allowing specification of the maximum allowable difference between points.Construct a
QgsQuadrilateral
as a rectangle from aQgsRectangle
.Convenient method to determine if a
QgsQuadrilateral
is valid.Returns the perimeter of the quadrilateral, or 0 if the quadrilateral is empty.
Returns a list including the vertices of the quadrilateral.
Construct a
QgsQuadrilateral
as a Rectangle from 3 points.Construct a
QgsQuadrilateral
as a rectangle from center pointcenter
and another pointpoint
.Construct a
QgsQuadrilateral
as a rectangle from an extent, defined by two opposite corner points.Sets the point
newPoint
at theindex
.Set all points Returns
False
if theQgsQuadrilateral
is not valid:Construct a
QgsQuadrilateral
as a square from a diagonal.Returns the quadrilateral as a new linestring.
Returns the quadrilateral as a new polygon.
Returns a string representation of the quadrilateral.
Attributes
- 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.
- Return type:
float
- equals(self, other: QgsQuadrilateral, epsilon: float = 4 * DBL_EPSILON) bool ¶
Compares two
QgsQuadrilateral
, allowing specification of the maximum allowable difference between points.- Parameters:
other (QgsQuadrilateral) – the
QgsQuadrilateral
to compareepsilon (float = 4*DBL_EPSILON) – the maximum difference allowed / tolerance
- Return type:
bool
- fromRectangle(rectangle: QgsRectangle) QgsQuadrilateral ¶
Construct a
QgsQuadrilateral
as a rectangle from aQgsRectangle
.- Parameters:
rectangle (QgsRectangle) – rectangle
- Return type:
- isValid(self) bool ¶
Convenient method to determine if a
QgsQuadrilateral
is valid. AQgsQuadrilateral
must be simple (not self-intersecting) and cannot have collinear points.- Return type:
bool
- perimeter(self) float ¶
Returns the perimeter of the quadrilateral, or 0 if the quadrilateral is empty.
- Return type:
float
- points(self) List[QgsPoint] ¶
Returns a list including the vertices of the quadrilateral.
- Return type:
List[QgsPoint]
- 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. M is taken from pointp1
.- Parameters:
p1 (QgsPoint) – first point
p2 (QgsPoint) – second point
p3 (QgsPoint) – third point
mode (QgsQuadrilateral.ConstructionOption) – Construction mode to construct the rectangle from 3 points
See also
ConstructionOption
- Return type:
- rectangleFromCenterPoint(center: QgsPoint, point: QgsPoint) QgsQuadrilateral ¶
Construct a
QgsQuadrilateral
as a rectangle from center pointcenter
and another pointpoint
. Z and M are taken from pointp1
.QgsQuadrilateral
will have the same dimension ascenter
dimension.- Parameters:
- Return type:
- rectangleFromExtent(p1: QgsPoint, p2: QgsPoint) QgsQuadrilateral ¶
Construct a
QgsQuadrilateral
as a rectangle from an extent, defined by two opposite corner points. Z and M are taken from pointp1
.QgsQuadrilateral
will have the same dimension asp1
dimension.- Parameters:
- Return type:
- setPoint(self, newPoint: QgsPoint, index: QgsQuadrilateral.Point) bool ¶
Sets the point
newPoint
at theindex
. ReturnsFalse
if theQgsQuadrilateral
is not valid.See also
Point
- Parameters:
newPoint (QgsPoint) –
index (QgsQuadrilateral.Point) –
- Return type:
bool
- setPoints(self, p1: QgsPoint, p2: QgsPoint, p3: QgsPoint, p4: QgsPoint) bool ¶
Set all points Returns
False
if theQgsQuadrilateral
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 and M are taken from pointp1
.QgsQuadrilateral
will have the same dimension asp1
dimension.- Parameters:
- Return type:
- toLineString(self, force2D: bool = False) QgsLineString ¶
Returns the quadrilateral as a new linestring. Ownership is transferred to the caller.
- Parameters:
force2D (bool = False) –
- Return type:
- toPolygon(self, force2D: bool = False) QgsPolygon ¶
Returns the quadrilateral as a new polygon. Ownership is transferred to the caller.
- Parameters:
force2D (bool = False) –
- Return type:
- toString(self, pointPrecision: int = 17) str ¶
Returns a string representation of the quadrilateral. Members will be truncated to the specified precision.
- Parameters:
pointPrecision (int = 17) –
- Return type:
str