Working With Geographic Coordinates: Handling Epsg 4326 And 3857 In Gis

Understanding Geographic Coordinates

Latitude and Longitude

Latitude and longitude are geographic coordinates that specify locations on the Earth’s surface. Latitude measures angular distance north or south from the equator, while longitude measures east-west angular distance from the prime meridian. Pairs of latitude and longitude coordinates pinpoint unique locations and are defined in reference to Earth’s geographic coordinate system.

Lines of latitude are often referred to as parallels since they run parallel to the equator. The equator is defined as 0° latitude. Lines of longitude are often called meridians. They converge at the north and south poles. The prime meridian, which passes through Greenwich, England, is defined as 0° longitude.

Degrees of latitude and longitude can be further subdivided into minutes and seconds. One degree contains 60 minutes. One minute contains 60 seconds. Seconds allow even greater specificity when denoting locations.

Projected vs Geographic Coordinates

Geographic coordinate systems like latitude/longitude are defined on a spherical surface that models the Earth’s form. This causes some spatial distortions when mapping locations or analyzing geospatial data. Projected coordinate systems are created by mathematically transforming geographic coordinates onto a flat, two-dimensional surface like a paper map or computer screen.

Projected systems allow for more accurate distance, shape, and area analysis. However, because they distort Earth’s shape, they are limited to regional or localized uses. Universal geographic coordinates like latitude and longitude remain necessary for denoting locations across wider areas or the entire globe.

Common Coordinate Reference Systems

A coordinate reference system (CRS) defines the translation between locations on Earth and their numeric coordinate values like latitude and longitude or X and Y coordinates on a projected grid. Different CRSs exist that handle regional or global needs, tailoring their distortions, transformations, and useful applications.

WGS84 (EPSG:4326)

The World Geodetic System 1984 (WGS84) is a geographic CRS and geodetic datum defining latitude/longitude coordinates and the center point or origin for these reference values. WGS84 coordinates use the common EPSG:4326 identifier. EPSG refers to the European Petroleum Survey Group that maintains a database of CRSs and their definitions.

As a global system, WGS84 provides consistent coordinates worldwide but has some distance and area distortions near the poles. It is commonly used as a universal exchange format and for global datasets and tools including GPS, Google Earth, and global satellite imaging.

Web Mercator (EPSG:3857)

Web Mercator, also known as EPSG:3857, is a projected CRS designed for web mapping applications. It provides accurate shapes and distances on a continuous global grid projecting the round Earth onto a flat plane. The distortions increase as you move further from the equator.

Web Mercator enables efficient tiling and visualization of world maps for web tools and services. The continuous coordinate grid can also simplify analysis tasks relative to a curved geographic system. But the projection distortions limit its suitability for accurate global measurements and analysis.

Transforming Between Coordinate Systems

Why Transform Coordinates?

Transforming between coordinate reference systems is often necessary in GIS workflows. Some common reasons include:

  • Combining multiple geospatial datasets that are defined in different native CRSs into common analysis framework
  • Reprojecting geographic datasets into appropriate projected systems for more accurate measurements and localization
  • Standardizing all data to widely-used CRS to simplify processes and tools
  • Reducing projection distortions for specific regions by using locally-optimized CRS when possible

Coordinate transformations reshape data to new coordinates while preserving essential information and relationships in the source data. This enables using data seamlessly across diverse systems and map projections tailored to varying use cases.

Sample Code for Transforming Coordinates in Python

In Python, coordinate transformations can be handled using specialized geospatial libraries like pyproj. The pyproj API includes functions to simply translate point locations between CRSs. For more complex data transformations, pyproj’s CoordinateTransformation class encapsulates projection parameters for repeated transformations.

pyproj Library

import pyproj 

# Setup source and destination CRS instances
wgs84 = pyproj.CRS('EPSG:4326')
webmerc = pyproj.CRS('EPSG:3857')

# Sample point to transform
long = -105.2
lat = 39.7

# Transform geographic coordinates to Web Mercator 
x, y = pyproj.transform(wgs84, webmerc, long, lat)

print(x, y)

CoordinateTransformation Class

from pyproj import Transformer

# Define the transformer 
transformer = Transformer.from_crs(wgs84, webmerc)

# Transform a point geometry
point = (-105.2, 39.7) 
transformed_pt = transformer.transform(*point)


The benefit of the CoordinateTransformation class is the ability to efficiently re-use the transformation without needing to redefine all the projection parameters. This helps streamline workflows that require translating many features between two CRSs.

Setting the Correct CRS in GeoSpatial Software

Importance of Specifying CRS

Most GIS datasets contain spatial reference information that defines the coordinate system. However, sometimes this information gets lost along the analysis pipeline. Failing to specify the correct CRS for geo-referenced data can lead to inaccurate measurements, distorted visualizations, and misleading results.

By consciously setting the appropriate CRS as a fundamental metadata property attached to datasets, GIS software can automatically handle reprojections and transformations under the hood. This maintains data fidelity across tools.

Settings in GIS Software

Some common GIS, spatial analysis, and data science tools provide settings to view and define the working CRS. This section highlights CRS specification in a few popular packages.


The QGIS desktop application includes a project-wide “On-the-fly” CRS transformation setting to automatically convert layers to the common working projection. Individual vector or raster layers can also have their CRS directly configured through layer properties.


The Define Projection tool in ArcGIS Pro and the ArcMap Project tool allow assigning coordinate systems to individual datasets or entire map document projects. By default, ArcGIS may define unknown spatial references as having no coordinate system defined rather than an assumed global system.


The GeoPandas Python library represents coordinate reference systems using proj4 dict definitions or EPSG integer codes. The .crs attribute can be used to inspect or set the CRS on GeoDataFrames. By default, GeoPandas may assume EPSG:4326 unless otherwise defined.

import geopandas

df = geopandas.read_file(...)

# Check CRS 

# Set CRS = {'init': 'epsg:3857'} 

Best Practices for Managing Coordinate Data

Store Data in Native CRS

When working with geospatial data from various sources, it’s recommended to keep the datasets in their native coordinate reference system as originally defined rather than transforming upfront. This avoids inadvertently baking in distortions, approximations, or data loss during the initial translation process. Instead, handle necessary transformations dynamically as part of analysis pipelines.

Use Appropriate Analysis CRS

Select an appropriate analysis CRS targeted to the region, use case specifications, and required output data properties. Balance minimizing overall distortion during intermediate processing with maintaining accuracy in final output data deliverables.

Document CRS Metadata

Fully document the native and transformed CRS definitions associated with all input datasets, intermediate works-in-progress, and final output deliverables. Treat coordinate metadata as rigorously as recording other critical information like business logic or data sourcing.

Following best practices for coordinate reference system handling promotes reproducible, reusable, and accurate geospatial analysis workflows in GIS systems.

Leave a Reply

Your email address will not be published. Required fields are marked *