QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Public Member Functions | Properties | Friends | List of all members
QgsPointXY Class Reference

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

#include <qgspointxy.h>

Inheritance diagram for QgsPointXY:
Inheritance graph
[legend]

Public Member Functions

 QgsPointXY ()=default
 Default constructor. More...
 
 QgsPointXY (const QgsPoint &point)
 Create a new point. More...
 
 QgsPointXY (const QgsPointXY &p)
 Create a point from another point. More...
 
 QgsPointXY (double x, double y)
 Create a point from x,y coordinates. More...
 
 QgsPointXY (QPoint point)
 Create a point from a QPoint. More...
 
 QgsPointXY (QPointF point)
 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
 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
 Compares this point with another point with a fuzzy tolerance. More...
 
double distance (const QgsPointXY &other) const
 Returns the distance between this point and another point. More...
 
double distance (double x, double y) const
 Returns the distance between this point and a specified x, y coordinate. More...
 
bool distanceCompare (const QgsPointXY &other, double epsilon=4 *std::numeric_limits< double >::epsilon()) const
 Compares this point with another point with a fuzzy tolerance using distance comparison. More...
 
bool isEmpty () const
 Returns true if the geometry is empty. More...
 
void multiply (double scalar)
 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
 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)
 Assignment. More...
 
bool operator== (const QgsPointXY &other)
 equality operator More...
 
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. More...
 
void set (double x, double y)
 Sets the x and y value of the point. More...
 
void setX (double x)
 Sets the x value of the point. More...
 
void setY (double y)
 Sets the y value of the point. More...
 
double sqrDist (const QgsPointXY &other) const
 Returns the squared distance between this point another point. More...
 
double sqrDist (double x, double y) const
 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
 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
 Gets the x value of the point. More...
 
double y () const
 Gets the y value of the point. More...
 

Properties

Q_GADGET double x
 
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:

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

See also
QgsPoint

Definition at line 59 of file qgspointxy.h.

Constructor & Destructor Documentation

◆ 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
xx coordinate
yy coordinate

Definition at line 78 of file qgspointxy.h.

◆ QgsPointXY() [4/6]

QgsPointXY::QgsPointXY ( QPointF  point)
inline

Create a point from a QPointF.

Parameters
pointQPointF source

Definition at line 88 of file qgspointxy.h.

◆ QgsPointXY() [5/6]

QgsPointXY::QgsPointXY ( QPoint  point)
inline

Create a point from a QPoint.

Parameters
pointQPoint source

Definition at line 98 of file qgspointxy.h.

◆ QgsPointXY() [6/6]

QgsPointXY::QgsPointXY ( const QgsPoint point)

Create a new point.

Z and M values will be dropped.

Definition at line 35 of file qgspointxy.cpp.

◆ ~QgsPointXY()

QgsPointXY::~QgsPointXY ( )
default

Member Function Documentation

◆ 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<double>::epsilon() 
) const
inline

Compares this point with another point with a fuzzy tolerance.

Parameters
otherpoint to compare with
epsilonmaximum difference for coordinates between the points
Returns
true if points are equal within specified tolerance
See also
distanceCompare

Definition at line 254 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
otherother point
See also
sqrDist()

Definition at line 217 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
xx-coordniate
yy-coordinate
See also
sqrDist()

Definition at line 207 of file qgspointxy.h.

◆ distanceCompare()

bool QgsPointXY::distanceCompare ( const QgsPointXY other,
double  epsilon = 4 * std::numeric_limits<double>::epsilon() 
) const
inline

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

Parameters
otherpoint to compare with
epsilonmaximum difference for coordinates between the points
Returns
true if points are equal within specified tolerance
See also
compare
Since
QGIS 3.36

Definition at line 269 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 243 of file qgspointxy.h.

◆ multiply()

void QgsPointXY::multiply ( double  scalar)
inline

Multiply x and y by the given value.

Definition at line 301 of file qgspointxy.h.

◆ operator QVariant()

QgsPointXY::operator QVariant ( ) const
inline

Allows direct construction of QVariants from points.

Definition at line 348 of file qgspointxy.h.

◆ operator!=()

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

Inequality operator.

Definition at line 288 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 336 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 342 of file qgspointxy.h.

◆ operator+()

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

Adds a vector to this point.

Definition at line 330 of file qgspointxy.h.

◆ operator+=()

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

Adds a vector to this point in place.

Definition at line 324 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 321 of file qgspointxy.h.

◆ operator-() [2/2]

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

Subtracts a vector from this point.

Definition at line 333 of file qgspointxy.h.

◆ operator-=()

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

Subtracts a vector from this point in place.

Definition at line 327 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 339 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 345 of file qgspointxy.h.

◆ operator=()

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

Assignment.

Definition at line 308 of file qgspointxy.h.

◆ operator==()

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

equality operator

Definition at line 275 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
distancedistance to project
bearingangle to project in, clockwise in degrees starting from north

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 137 of file qgspointxy.h.

◆ setX()

void QgsPointXY::setX ( double  x)
inline

Sets the x value of the point.

Parameters
xx coordinate

Definition at line 120 of file qgspointxy.h.

◆ setY()

void QgsPointXY::setY ( double  y)
inline

Sets the y value of the point.

Parameters
yy coordinate

Definition at line 130 of file qgspointxy.h.

◆ sqrDist() [1/2]

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

Returns the squared distance between this point another point.

See also
distance()

Definition at line 196 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.

See also
distance()

Definition at line 187 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

Definition at line 166 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 148 of file qgspointxy.h.

◆ y()

double QgsPointXY::y ( ) const
inline

Gets the y value of the point.

Returns
y coordinate

Definition at line 157 of file qgspointxy.h.

Friends And Related Function Documentation

◆ qHash

uint qHash ( const QgsPointXY pnt)
friend

Definition at line 433 of file qgspointxy.h.

Property Documentation

◆ x

Q_GADGET double QgsPointXY::x
readwrite

Definition at line 61 of file qgspointxy.h.

◆ y

double QgsPointXY::y
readwrite

Definition at line 61 of file qgspointxy.h.


The documentation for this class was generated from the following files: