QGIS API Documentation 3.99.0-Master (752b475928d)
Loading...
Searching...
No Matches
QgsPointXY Class Reference

Represents a 2D point. More...

#include <qgspointxy.h>

Inheritance diagram for QgsPointXY:

Public Member Functions

 QgsPointXY ()=default
 QgsPointXY (const QgsPoint &point)
 Create a new point.
 QgsPointXY (const QgsPointXY &p)
 QgsPointXY (double x, double y)
 Create a point from x,y coordinates.
 QgsPointXY (QPoint point)
 Create a point from a QPoint.
 QgsPointXY (QPointF point)
 Create a point from a QPointF.
 ~QgsPointXY ()=default
QString asWkt () const
 Returns the well known text representation for the point (e.g.
double azimuth (const QgsPointXY &other) const
 Calculates azimuth between this point and other one (clockwise in degree, starting from north).
bool compare (const QgsPointXY &other, double epsilon=4 *std::numeric_limits< double >::epsilon()) const
 Compares this point with another point with a fuzzy tolerance.
double distance (const QgsPointXY &other) const
 Returns the distance between this point and another point.
double distance (double x, double y) const
 Returns the distance between this point and a specified x, y coordinate.
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.
bool isEmpty () const
 Returns true if the geometry is empty.
void multiply (double scalar)
 Multiply x and y by the given value.
 operator QVariant () const
 Allows direct construction of QVariants from points.
bool operator!= (const QgsPointXY &other) const
QgsPointXY operator* (double scalar) const
 Multiplies the coordinates in this point by a scalar quantity.
QgsPointXYoperator*= (double scalar)
 Multiplies the coordinates in this point by a scalar quantity in place.
QgsPointXY operator+ (QgsVector v) const
 Adds a vector to this point.
QgsPointXYoperator+= (QgsVector v)
 Adds a vector to this point in place.
QgsVector operator- (const QgsPointXY &p) const
 Calculates the vector obtained by subtracting a point from this point.
QgsPointXY operator- (QgsVector v) const
 Subtracts a vector from this point.
QgsPointXYoperator-= (QgsVector v)
 Subtracts a vector from this point in place.
QgsPointXY operator/ (double scalar) const
 Divides the coordinates in this point by a scalar quantity.
QgsPointXYoperator/= (double scalar)
 Divides the coordinates in this point by a scalar quantity in place.
QgsPointXYoperator= (const QgsPointXY &other)
bool operator== (const QgsPointXY &other) const
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.
void set (double x, double y)
 Sets the x and y value of the point.
void setX (double x)
 Sets the x value of the point.
void setY (double y)
 Sets the y value of the point.
double sqrDist (const QgsPointXY &other) const
 Returns the squared distance between this point another point.
double sqrDist (double x, double y) const
 Returns the squared distance between this point a specified x, y coordinate.
double sqrDistToSegment (double x1, double y1, double x2, double y2, QgsPointXY &minDistPoint, double epsilon=Qgis::DEFAULT_SEGMENT_EPSILON) const
 Returns the minimum distance between this point and a segment.
QPointF toQPointF () const
 Converts a point to a QPointF.
QString toString (int precision=-1) const
 Returns a string representation of the point (x, y) with a preset precision.
double x () const
 Gets the x value of the point.
double y () const
 Gets the y value of the point.

Properties

double x
double y

Friends

uint qHash (const QgsPointXY &pnt)

Detailed Description

Represents 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

Definition at line 59 of file qgspointxy.h.

Constructor & Destructor Documentation

◆ QgsPointXY() [1/6]

QgsPointXY::QgsPointXY ( )
default

◆ QgsPointXY() [2/6]

QgsPointXY::QgsPointXY ( const QgsPointXY & p)

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

Definition at line 87 of file qgspointxy.h.

◆ QgsPointXY() [5/6]

QgsPointXY::QgsPointXY ( QPoint point)
inline

Create a point from a QPoint.

Parameters
pointQPoint source

Definition at line 97 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 38 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 72 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 83 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 253 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 216 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 206 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 268 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 242 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 344 of file qgspointxy.h.

◆ operator!=()

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

Definition at line 285 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 332 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 338 of file qgspointxy.h.

◆ operator+()

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

Adds a vector to this point.

Definition at line 326 of file qgspointxy.h.

◆ operator+=()

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

Adds a vector to this point in place.

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

◆ operator-() [2/2]

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

Subtracts a vector from this point.

Definition at line 329 of file qgspointxy.h.

◆ operator-=()

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

Subtracts a vector from this point in place.

Definition at line 323 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 335 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 341 of file qgspointxy.h.

◆ operator=()

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

Definition at line 304 of file qgspointxy.h.

◆ operator==()

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

Definition at line 273 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 90 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 136 of file qgspointxy.h.

◆ setX()

void QgsPointXY::setX ( double x)
inline

Sets the x value of the point.

Parameters
xx coordinate

Definition at line 119 of file qgspointxy.h.

◆ setY()

void QgsPointXY::setY ( double y)
inline

Sets the y value of the point.

Parameters
yy coordinate

Definition at line 129 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 195 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 186 of file qgspointxy.h.

◆ sqrDistToSegment()

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

Returns the minimum distance between this point and a segment.

Definition at line 98 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 165 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 54 of file qgspointxy.cpp.

◆ x()

double QgsPointXY::x ( ) const
inline

Gets the x value of the point.

Returns
x coordinate

Definition at line 147 of file qgspointxy.h.

◆ y()

double QgsPointXY::y ( ) const
inline

Gets the y value of the point.

Returns
y coordinate

Definition at line 156 of file qgspointxy.h.

◆ qHash

uint qHash ( const QgsPointXY & pnt)
friend

Definition at line 409 of file qgspointxy.h.

Property Documentation

◆ x

double QgsPointXY::x
readwrite

Definition at line 63 of file qgspointxy.h.

◆ y

double QgsPointXY::y
readwrite

Definition at line 64 of file qgspointxy.h.


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