QGIS API Documentation  3.21.0-Master (5b68dc587e)
QgsPointXY Class Reference

A class to represent a 2D point. More...

`#include <qgspointxy.h>`

Inheritance diagram for QgsPointXY: [legend]

## Public Member Functions

QgsPointXY ()=default
Default constructor. More...

QgsPointXY (const QgsPoint &point) SIP_HOLDGIL
Create a new point. More...

QgsPointXY (const QgsPointXY &p) SIP_HOLDGIL
Create a point from another point. More...

QgsPointXY (double x, double y) SIP_HOLDGIL
Create a point from x,y coordinates. More...

QgsPointXY (QPoint point) SIP_HOLDGIL
Create a point from a QPoint. More...

QgsPointXY (QPointF point) SIP_HOLDGIL
Create a point from a QPointF. More...

~QgsPointXY ()=default

QString asWkt () const
Returns the well known text representation for the point (e.g. More...

double azimuth (const QgsPointXY &other) const SIP_HOLDGIL
Calculates azimuth between this point and other one (clockwise in degree, starting from north) More...

bool compare (const QgsPointXY &other, double epsilon=4 *std::numeric_limits< double >::epsilon()) const SIP_HOLDGIL
Compares this point with another point with a fuzzy tolerance. More...

double distance (const QgsPointXY &other) const SIP_HOLDGIL
Returns the distance between this point and another point. More...

double distance (double x, double y) const SIP_HOLDGIL
Returns the distance between this point and a specified x, y coordinate. More...

bool isEmpty () const SIP_HOLDGIL
Returns `true` if the geometry is empty. More...

void multiply (double scalar) SIP_HOLDGIL
Multiply x and y by the given value. More...

operator QVariant () const
Allows direct construction of QVariants from points. More...

bool operator!= (const QgsPointXY &other) const SIP_HOLDGIL
Inequality operator. More...

QgsPointXY operator* (double scalar) const
Multiplies the coordinates in this point by a scalar quantity. More...

QgsPointXYoperator*= (double scalar)
Multiplies the coordinates in this point by a scalar quantity in place. More...

QgsPointXY operator+ (QgsVector v) const
Adds a vector to this point. More...

QgsPointXYoperator+= (QgsVector v)
Adds a vector to this point in place. More...

QgsVector operator- (const QgsPointXY &p) const
Calculates the vector obtained by subtracting a point from this point. More...

QgsPointXY operator- (QgsVector v) const
Subtracts a vector from this point. More...

QgsPointXYoperator-= (QgsVector v)
Subtracts a vector from this point in place. More...

QgsPointXY operator/ (double scalar) const
Divides the coordinates in this point by a scalar quantity. More...

QgsPointXYoperator/= (double scalar)
Divides the coordinates in this point by a scalar quantity in place. More...

QgsPointXYoperator= (const QgsPointXY &other) SIP_HOLDGIL
Assignment. More...

bool operator== (const QgsPointXY &other) SIP_HOLDGIL
equality operator More...

QgsPointXY project (double distance, double bearing) const SIP_HOLDGIL
Returns a new point which corresponds to this point projected by a specified distance in a specified bearing. More...

void set (double x, double y) SIP_HOLDGIL
Sets the x and y value of the point. More...

void setX (double x) SIP_HOLDGIL
Sets the x value of the point. More...

void setY (double y) SIP_HOLDGIL
Sets the y value of the point. More...

double sqrDist (const QgsPointXY &other) const SIP_HOLDGIL
Returns the squared distance between this point another point. More...

double sqrDist (double x, double y) const SIP_HOLDGIL
Returns the squared distance between this point a specified x, y coordinate. More...

double sqrDistToSegment (double x1, double y1, double x2, double y2, QgsPointXY &minDistPoint, double epsilon=DEFAULT_SEGMENT_EPSILON) const SIP_HOLDGIL
Returns the minimum distance between this point and a segment. More...

QPointF toQPointF () const
Converts a point to a QPointF. More...

QString toString (int precision=-1) const
Returns a string representation of the point (x, y) with a preset precision. More...

double x () const SIP_HOLDGIL
Gets the x value of the point. More...

double y () const SIP_HOLDGIL
Gets the y value of the point. More...

double y

## Friends

uint qHash (const QgsPointXY &pnt)

## Detailed Description

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.
QgsPoint
Since
QGIS 3.0

Definition at line 58 of file qgspointxy.h.

## ◆ QgsPointXY() [1/6]

 QgsPointXY::QgsPointXY ( )
default

Default constructor.

## ◆ QgsPointXY() [2/6]

 QgsPointXY::QgsPointXY ( const QgsPointXY & p )

Create a point from another point.

Definition at line 28 of file qgspointxy.cpp.

## ◆ QgsPointXY() [3/6]

 QgsPointXY::QgsPointXY ( double x, double y )
inline

Create a point from x,y coordinates.

Parameters
 x x coordinate y y coordinate

Definition at line 77 of file qgspointxy.h.

## ◆ QgsPointXY() [4/6]

 QgsPointXY::QgsPointXY ( QPointF point )
inline

Create a point from a QPointF.

Parameters
 point QPointF source
Since
QGIS 2.7

Definition at line 88 of file qgspointxy.h.

## ◆ QgsPointXY() [5/6]

 QgsPointXY::QgsPointXY ( QPoint point )
inline

Create a point from a QPoint.

Parameters
 point QPoint source
Since
QGIS 2.7

Definition at line 99 of file qgspointxy.h.

## ◆ QgsPointXY() [6/6]

 QgsPointXY::QgsPointXY ( const QgsPoint & point )

Create a new point.

Z and M values will be dropped.

Since
QGIS 3.0

Definition at line 35 of file qgspointxy.cpp.

## ◆ ~QgsPointXY()

 QgsPointXY::~QgsPointXY ( )
default

## ◆ asWkt()

 QString QgsPointXY::asWkt ( ) const

Returns the well known text representation for the point (e.g.

"POINT(x y)"). The wkt is created without an SRID.

Definition at line 69 of file qgspointxy.cpp.

## ◆ azimuth()

 double QgsPointXY::azimuth ( const QgsPointXY & other ) const

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

Definition at line 80 of file qgspointxy.cpp.

## ◆ compare()

 bool QgsPointXY::compare ( const QgsPointXY & other, double epsilon = `4 * std::numeric_limits::epsilon()` ) const
inline

Compares this point with another point with a fuzzy tolerance.

Parameters
 other point to compare with epsilon maximum difference for coordinates between the points
Returns
`true` if points are equal within specified tolerance
Since
QGIS 2.9

Definition at line 258 of file qgspointxy.h.

## ◆ distance() [1/2]

 double QgsPointXY::distance ( const QgsPointXY & other ) const
inline

Returns the distance between this point and another point.

Parameters
 other other point
sqrDist()
Since
QGIS 2.16

Definition at line 222 of file qgspointxy.h.

## ◆ distance() [2/2]

 double QgsPointXY::distance ( double x, double y ) const
inline

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

Parameters
 x x-coordniate y y-coordinate
sqrDist()
Since
QGIS 2.16

Definition at line 211 of file qgspointxy.h.

## ◆ isEmpty()

 bool QgsPointXY::isEmpty ( ) const
inline

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.

Since
QGIS 3.10

Definition at line 249 of file qgspointxy.h.

## ◆ multiply()

 void QgsPointXY::multiply ( double scalar )
inline

Multiply x and y by the given value.

Definition at line 298 of file qgspointxy.h.

## ◆ operator QVariant()

 QgsPointXY::operator QVariant ( ) const
inline

Allows direct construction of QVariants from points.

Definition at line 345 of file qgspointxy.h.

## ◆ operator!=()

 bool QgsPointXY::operator!= ( const QgsPointXY & other ) const
inline

Inequality operator.

Definition at line 281 of file qgspointxy.h.

## ◆ operator*()

 QgsPointXY QgsPointXY::operator* ( double scalar ) const
inline

Multiplies the coordinates in this point by a scalar quantity.

Definition at line 333 of file qgspointxy.h.

## ◆ operator*=()

 QgsPointXY& QgsPointXY::operator*= ( double scalar )
inline

Multiplies the coordinates in this point by a scalar quantity in place.

Definition at line 339 of file qgspointxy.h.

## ◆ operator+()

 QgsPointXY QgsPointXY::operator+ ( QgsVector v ) const
inline

Adds a vector to this point.

Definition at line 327 of file qgspointxy.h.

## ◆ operator+=()

 QgsPointXY& QgsPointXY::operator+= ( QgsVector v )
inline

Adds a vector to this point in place.

Definition at line 321 of file qgspointxy.h.

## ◆ operator-() [1/2]

 QgsVector QgsPointXY::operator- ( const QgsPointXY & p ) const
inline

Calculates the vector obtained by subtracting a point from this point.

Definition at line 318 of file qgspointxy.h.

## ◆ operator-() [2/2]

 QgsPointXY QgsPointXY::operator- ( QgsVector v ) const
inline

Subtracts a vector from this point.

Definition at line 330 of file qgspointxy.h.

## ◆ operator-=()

 QgsPointXY& QgsPointXY::operator-= ( QgsVector v )
inline

Subtracts a vector from this point in place.

Definition at line 324 of file qgspointxy.h.

## ◆ operator/()

 QgsPointXY QgsPointXY::operator/ ( double scalar ) const
inline

Divides the coordinates in this point by a scalar quantity.

Definition at line 336 of file qgspointxy.h.

## ◆ operator/=()

 QgsPointXY& QgsPointXY::operator/= ( double scalar )
inline

Divides the coordinates in this point by a scalar quantity in place.

Definition at line 342 of file qgspointxy.h.

## ◆ operator=()

 QgsPointXY& QgsPointXY::operator= ( const QgsPointXY & other )
inline

Assignment.

Definition at line 305 of file qgspointxy.h.

## ◆ operator==()

 bool QgsPointXY::operator== ( const QgsPointXY & other )
inline

equality operator

Definition at line 264 of file qgspointxy.h.

## ◆ project()

 QgsPointXY QgsPointXY::project ( double distance, double bearing ) const

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

Parameters
 distance distance to project bearing angle to project in, clockwise in degrees starting from north
Since
QGIS 2.16

Definition at line 87 of file qgspointxy.cpp.

## ◆ set()

 void QgsPointXY::set ( double x, double y )
inline

Sets the x and y value of the point.

Definition at line 139 of file qgspointxy.h.

## ◆ setX()

 void QgsPointXY::setX ( double x )
inline

Sets the x value of the point.

Parameters
 x x coordinate

Definition at line 122 of file qgspointxy.h.

## ◆ setY()

 void QgsPointXY::setY ( double y )
inline

Sets the y value of the point.

Parameters
 y y coordinate

Definition at line 132 of file qgspointxy.h.

## ◆ sqrDist() [1/2]

 double QgsPointXY::sqrDist ( const QgsPointXY & other ) const
inline

Returns the squared distance between this point another point.

distance()

Definition at line 199 of file qgspointxy.h.

## ◆ sqrDist() [2/2]

 double QgsPointXY::sqrDist ( double x, double y ) const
inline

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

distance()

Definition at line 190 of file qgspointxy.h.

## ◆ sqrDistToSegment()

 double QgsPointXY::sqrDistToSegment ( double x1, double y1, double x2, double y2, QgsPointXY & minDistPoint, double epsilon = `DEFAULT_SEGMENT_EPSILON` ) const

Returns the minimum distance between this point and a segment.

Definition at line 95 of file qgspointxy.cpp.

## ◆ toQPointF()

 QPointF QgsPointXY::toQPointF ( ) const
inline

Converts a point to a QPointF.

Returns
QPointF with same x and y values
Since
QGIS 2.7

Definition at line 169 of file qgspointxy.h.

## ◆ toString()

 QString QgsPointXY::toString ( int precision = `-1` ) const

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

If precision is -1, then a default precision will be used.

Definition at line 51 of file qgspointxy.cpp.

## ◆ x()

 double QgsPointXY::x ( ) const
inline

Gets the x value of the point.

Returns
x coordinate

Definition at line 150 of file qgspointxy.h.

## ◆ y()

 double QgsPointXY::y ( ) const
inline

Gets the y value of the point.

Returns
y coordinate

Definition at line 159 of file qgspointxy.h.

## ◆ qHash

 uint qHash ( const QgsPointXY & pnt )
friend

Definition at line 430 of file qgspointxy.h.

## ◆ x

Definition at line 60 of file qgspointxy.h.

## ◆ y

 double QgsPointXY::y