Class: QgsPointXY

class qgis.core.QgsPointXY

Bases: sip.wrapper

A class to represent a 2D point.

A QgsPointXY represents a strictly 2-dimensional position, with only X and Y coordinates. This is a very lightweight class, designed to minimize the memory requirements of storing millions of points.

In many scenarios it is preferable to use a QgsPoint instead which also supports optional Z and M values. QgsPointXY should only be used for situations where a point can only EVER be two dimensional.

Some valid use cases for QgsPointXY include:

  • A mouse cursor location

  • A coordinate on a purely 2-dimensional rendered map, e.g. a QgsMapCanvas

  • A coordinate in a raster, vector tile, or other purely 2-dimensional layer

Use cases for which QgsPointXY is NOT a valid choice include:

  • Storage of coordinates for a geometry. Since QgsPointXY is strictly 2-dimensional it should never be used to store coordinates for vector geometries, as this will involve a loss of any z or m values present in the geometry.

See also

QgsPoint

QgsPointXY()

QgsPointXY(p: QgsPointXY) Create a point from another point

QgsPointXY(x: float, y: float) Create a point from x,y coordinates

Parameters:
  • x – x coordinate

  • y – y coordinate

QgsPointXY(point: Union[QPointF, QPoint, float]) Create a point from a QPointF

Parameters:

point – QPointF source

QgsPointXY(point: QPoint) Create a point from a QPoint

Parameters:

point – QPoint source

QgsPointXY(point: QgsPoint) Create a new point. Z and M values will be dropped.

Methods

asWkt

Returns the well known text representation for the point (e.g. "POINT(x y)").

azimuth

Calculates azimuth between this point and other one (clockwise in degree, starting from north)

compare

Compares this point with another point with a fuzzy tolerance

distance

Returns the distance between this point and a specified x, y coordinate.

distanceCompare

Compares this point with another point with a fuzzy tolerance using distance comparison

isEmpty

Returns True if the geometry is empty.

multiply

Multiply x and y by the given value

project

Returns a new point which corresponds to this point projected by a specified distance in a specified bearing.

set

Sets the x and y value of the point

setX

Sets the x value of the point

setY

Sets the y value of the point

sqrDist

Returns the squared distance between this point a specified x, y coordinate.

sqrDistToSegment

Returns the minimum distance between this point and a segment

toQPointF

Converts a point to a QPointF

toString

Returns a string representation of the point (x, y) with a preset precision.

x

Gets the x value of the point

y

Gets the y value of the point

Attributes

staticMetaObject

asWkt(self) str

Returns the well known text representation for the point (e.g. “POINT(x y)”). The wkt is created without an SRID.

Return type:

str

azimuth(self, other: QgsPointXY) float

Calculates azimuth between this point and other one (clockwise in degree, starting from north)

Parameters:

other (QgsPointXY) –

Return type:

float

compare(self, other: QgsPointXY, epsilon: float = 4 * DBL_EPSILON) bool

Compares this point with another point with a fuzzy tolerance

Parameters:
  • other (QgsPointXY) – point to compare with

  • epsilon (float = 4*DBL_EPSILON) – maximum difference for coordinates between the points

Return type:

bool

Returns:

True if points are equal within specified tolerance

distance(self, x: float, y: float) float

Returns the distance between this point and a specified x, y coordinate.

Parameters:
  • x (float) – x-coordniate

  • y (float) – y-coordinate

See also

sqrDist()

distance(self, other: QgsPointXY) -> float Returns the distance between this point and another point.

Parameters:

other – other point

See also

sqrDist()

Return type:

float

distanceCompare(self, other: QgsPointXY, epsilon: float = 4 * DBL_EPSILON) bool

Compares this point with another point with a fuzzy tolerance using distance comparison

Parameters:
  • other (QgsPointXY) – point to compare with

  • epsilon (float = 4*DBL_EPSILON) – maximum difference for coordinates between the points

Return type:

bool

Returns:

True if points are equal within specified tolerance

See also

compare()

New in version 3.36.

isEmpty(self) bool

Returns True if the geometry is empty. Unlike QgsPoint, this class is also used to retrieve graphical coordinates like QPointF. It therefore has the default coordinates (0.0). A QgsPointXY is considered empty, when the coordinates have not been explicitly filled in.

New in version 3.10.

Return type:

bool

multiply(self, scalar: float)

Multiply x and y by the given value

Parameters:

scalar (float) –

project(self, distance: float, bearing: float) QgsPointXY

Returns a new point which corresponds to this point projected by a specified distance in a specified bearing.

Parameters:
  • distance (float) – distance to project

  • bearing (float) – angle to project in, clockwise in degrees starting from north

Return type:

QgsPointXY

set(self, x: float, y: float)

Sets the x and y value of the point

Parameters:
  • x (float) –

  • y (float) –

setX(self, x: float)

Sets the x value of the point

Parameters:

x (float) – x coordinate

setY(self, y: float)

Sets the y value of the point

Parameters:

y (float) – y coordinate

sqrDist(self, x: float, y: float) float

Returns the squared distance between this point a specified x, y coordinate.

See also

distance()

sqrDist(self, other: QgsPointXY) -> float Returns the squared distance between this point another point.

See also

distance()

Parameters:
  • x (float) –

  • y (float) –

Return type:

float

sqrDistToSegment(self, x1: float, y1: float, x2: float, y2: float, epsilon: float = DEFAULT_SEGMENT_EPSILON) Tuple[float, QgsPointXY]

Returns the minimum distance between this point and a segment

Parameters:
  • x1 (float) –

  • y1 (float) –

  • x2 (float) –

  • y2 (float) –

  • epsilon (float = DEFAULT_SEGMENT_EPSILON) –

Return type:

Tuple[float, QgsPointXY]

staticMetaObject = <PyQt5.QtCore.QMetaObject object>
toQPointF(self) QPointF

Converts a point to a QPointF

Return type:

QPointF

Returns:

QPointF with same x and y values

toString(self, precision: int = -1) str

Returns a string representation of the point (x, y) with a preset precision. If precision is -1, then a default precision will be used.

Parameters:

precision (int = -1) –

Return type:

str

x(self) float

Gets the x value of the point

Return type:

float

Returns:

x coordinate

y(self) float

Gets the y value of the point

Return type:

float

Returns:

y coordinate