HOW TO

Convert geographic to projected coordinate system using PyProj in ArcGIS Pro

Last Published: March 3, 2026

Summary

Coordinate system conversion using PyProj is required when working with non-spatial (tabular) datasets containing latitude and longitude values referenced to a geographic coordinate system. These datasets must be converted into a projected coordinate system before mapping in ArcGIS Pro to ensure correct alignment with other spatial data. PyProj provides a transformation method to convert geographic coordinates into spatial coordinates.

Procedure

Prerequisites to convert the coordinate system:
• Install PyProj in the ArcGIS Pro cloned Python environment using Package Manager. Refer to ArcGIS Pro: Add a package for more information.
• Activate the ArcGIS Pro cloned Python environment. Refer to ArcGIS Pro: Activate an environment from the Package Manager page for more information.
  1. In the Windows search box on the taskbar, search for and right-click Python Command Prompt > Run as administrator.
  2. Enter the Python interpreter prompt below.
python
Type python to enter the Python interpreter prompt
  1. Convert the coordinate system by entering the following command.
Note:
The following Python code illustrates this workflow. Results may vary depending on input values.
# import Transformer from pyproj
from pyproj import Transformer

# Create a transformer from ETRS89 Geographic (EPSG:4258) to ETRS89 / UTM Zone 30N (EPSG:25830)
# Always verify EPSG codes for both source and target coordinate systems.
transformer = Transformer.from_crs("EPSG:4258", "EPSG:25830", always_xy=True) # Use always_xy=True to ensure longitude/latitude order consistency

# Input your own coordinates (longitude, latitude)
# Recommended to test with a small sample before converting large datasets
coordinates = [
    (-4.647129, 55.576963),
    (-4.650153, 55.576684),
    (-4.649489, 55.575063),
    (-4.646428, 55.575322)
]

# Apply the Transformer here
for lon, lat in coordinates:
    easting, northing = transformer.transform(lon, lat)
    print(f"{easting:.4f}, {northing:.4f}")

The Python interpreter prompt below shows the output of the converted coordinate values.

Output of converted coordinate system using PyProj in the Python Command Prompt
  1. Create a CSV file and insert the converted coordinate values from Step 3 into the file.
    converted coordinate value
  1. Create a new project in ArcGIS Pro.
  2. Insert a new map into the project.
  3. On the Map tab, in the Layer group, click Add Data > Points From Table > Make XY Event Layer.
Make XY Event Layer tool
  1. In the Make XY Event Layer pane, configure the following fields.
    1. For Input Table, click Browse The Browse icon and select the CSV file.
    2. For X Field, select Easting from the drop-down menu.
    3. For Y Field, select Northing from the drop-down menu.
    4. For Output Layer Name, specify a name for the output event layer.
    5. For Coordinate System, click Select coordinate system Select coordinate system icon to open the Coordinate System window.
    6. In the Coordinate System window, expand Projected Coordinate System to specify the desired coordinate system. In this example, ETRS_1989_UTM_Zone_30N is selected. Click OK.
  1. Click Run to display the points of the projected coordinate system on the map.
    Map of the converted coordinate system

Article ID: 000039567

Software:
  • ArcGIS Pro
  • Third Party Product

Get support with AI

Resolve your issue quickly with the Esri Support AI Chatbot.

Start chatting now

Related Information

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Start chatting now

Go to download options