Add XY Coordinates (Data Management)
Summary
Adds the fields POINT_X and POINT_Y to the point input features and calculates their values. It also appends the POINT_Z and POINT_M fields if the input features are Z- and M-enabled.
Illustration
![]() |
Usage
-
Add XY Coordinates is most commonly used to get access to point features to perform analysis or to extract points based on their x,y location.
-
If the POINT_X, POINT_Y, POINT_Z, and POINT_M fields exist, their values are recalculated.
-
If points are moved after using Add XY Coordinates, their POINT_X and POINT_Y values, and POINT_Z, and POINT_M values—if present—must be recomputed by running Add XY Coordinates again.
-
Project does not modify the values of POINT_X, POINT_Y, POINT_Z, or POINT_M.
-
If the Input Features are in a geographic coordinate system, POINT_X and POINT_Y represent the longitude and latitude, respectively.
-
If an ArcMap layer is selected as input , the x,y coordinates are based on the input's coordinate system, not that of the data frame.
![Caution Caution](rsrc/caution.png)
This tool modifies the input data. See Tools with no outputs for more information and strategies to avoid undesired data changes.
Syntax
Parameter | Explanation | Data Type |
in_features |
The point features whose x,y coordinates will be appended as POINT_X and POINT_Y fields. | Feature Layer |
Code Sample
The following Python Window script demonstrates how to use the AddXY function in immediate mode.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Copy_management("climate.shp", "climateXYpts.shp")
arcpy.AddXY_management("climateXYpts.shp")
The following Python script demonstrates how to use the AddXY function in a stand-alone script.
# Name: AddXY_Example2.py
# Description: Adding XY points to the climate dataset
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/data"
# Set local variables
in_data= "climate.shp"
in_features = "climateXPpts2.shp"
# Copying data to preserve original dataset
# Execute Copy
arcpy.Copy_management(in_data, in_features)
# Execute AddXY
arcpy.AddXY_management(in_features)