# Point Class

### Contents

Represents a specific location, defined by an x,y coordinate pair, and a SpatialReference. More...

 Header: #include Since: Esri::ArcGISRuntime 100.0 Inherits: Geometry

## Public Functions

 Point() Point(double x, double y) Point(double x, double y, const SpatialReference &spatialReference) Point(double x, double y, double z) Point(double x, double y, double z, const SpatialReference &spatialReference) Point(const Point &other) Point(Point &&other) Point(const Geometry &other) ~Point() bool isValid() const double m() const double x() const double y() const double z() const Point & operator=(const Point &other) Point & operator=(Point &&other)

## Static Public Members

 Point createWithM(double x, double y, double m) Point createWithM(double x, double y, double m, const SpatialReference &spatialReference) Point createWithM(double x, double y, double z, double m) Point createWithM(double x, double y, double z, double m, const SpatialReference &spatialReference)

## Detailed Description

Represents a specific location, defined by an x,y coordinate pair, and a SpatialReference.

Points can optionally have z (height) and m (measure) attributes.

If the SpatialReference is a geographic coordinate system, the x-coordinate defines longitude and the y-coordinate defines latitude.

Point is immutable. Instead of changing the properties of an existing Point, you can create new Point instances, or use PointBuilder.

Points can be used as the geometry of a feature.

## Member Function Documentation

### Point::Point()

Default constructor. Creates an empty Point.

### Point::Point(doublex, doubley)

Constructor using x and y coordinates.

### Point::Point(doublex, doubley, const SpatialReference &spatialReference)

Constructor using x and y coordinates and a spatialReference.

### Point::Point(doublex, doubley, doublez)

Constructor using x, y and z coordinates.

### Point::Point(doublex, doubley, doublez, const SpatialReference &spatialReference)

Constructor using x, y and z coordinates and a spatialReference.

### Point::Point(const Point &other)

Copy constructor from other Point.

### Point::Point(Point &&other)

Move constructor from other Point.

### Point::Point(const Geometry &other)

Converting constructor from other Geometry.

Destructor

### `[static] `Point Point::createWithM(doublex, doubley, doublem)

Creates a Point using x and y coordinates and an m value.

Returns a Point with the specified coordinates and m value.

### `[static] `Point Point::createWithM(doublex, doubley, doublem, const SpatialReference &spatialReference)

Creates a Point using x and y coordinates, an m value and a spatialReference.

Returns a Point with the specified coordinates and m value in the given spatial reference.

### `[static] `Point Point::createWithM(doublex, doubley, doublez, doublem)

Creates a point using x, y and z coordinates and an m value.

Returns a Point with the specified coordinates and m value.

### `[static] `Point Point::createWithM(doublex, doubley, doublez, doublem, const SpatialReference &spatialReference)

Creates a point using x, y and z coordinates, an m value and a spatialReference.

Returns a Point with the specified coordinates and m value in the given spatial reference.

### bool Point::isValid() const

Gets whether this Point is valid.

A Point is valid if it is not empty and geometryType is GeometryType::Point.

Returns `true` if valid.

This function was introduced in Esri::ArcGISRuntime 100.2.

### double Point::m() const

Gets the m-value.

### double Point::x() const

Returns the x-coordinate.

### double Point::y() const

Gets the y-coordinate.

### double Point::z() const

Gets the z-coordinate.

### Point &Point::operator=(const Point &other)

Assignment operator from other Point.

### Point &Point::operator=(Point &&other)

Move operator from other Point.

Feedback on this topic?