QGIS API Documentation  3.20.0-Odense (decaadbb31)
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) 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...
 

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

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

◆ QgsPointXY() [4/6]

QgsPointXY::QgsPointXY ( QPointF  point)
inline

Create a point from a QPointF.

Parameters
pointQPointF 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
pointQPoint 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

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
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
otherother point
See also
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
xx-coordniate
yy-coordinate
See also
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
distancedistance to project
bearingangle 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
xx coordinate

Definition at line 122 of file qgspointxy.h.

◆ setY()

void QgsPointXY::setY ( double  y)
inline

Sets the y value of the point.

Parameters
yy 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.

See also
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.

See also
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.

Friends And Related Function Documentation

◆ qHash

uint qHash ( const QgsPointXY pnt)
friend

Definition at line 430 of file qgspointxy.h.

Property Documentation

◆ x

Q_GADGET double QgsPointXY::x
readwrite

Definition at line 60 of file qgspointxy.h.

◆ y

double QgsPointXY::y
readwrite

Definition at line 60 of file qgspointxy.h.


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