---
title: "What is a Coordinate Reference System? CRS, EPSG"
url: "https://wherobots.com/discover/coordinate-reference-system/"
description: "A coordinate system in GIS, or coordinate reference system (CRS), ties coordinates to places on Earth. Geographic vs projected, EPSG, WGS 84, and UTM."
published: "2026-10-04"
modified: "2026-10-21"
---

# What is a Coordinate Reference System? CRS, EPSG

A coordinate reference system (CRS) defines how the numbers in a dataset map to real places on Earth. The pair (-122.4, 37.79) means nothing until a CRS says it is longitude and latitude in degrees on WGS 84, the World Geodetic System 1984 datum. On that datum, the pair falls in downtown San Francisco. In GIS (geographic information systems), "coordinate system" usually means the same thing. Every [geospatial dataset](https://wherobots.com/discover/geospatial-data/) has a CRS. Two datasets line up only when they share one, or when one is transformed into the other's. This article tests whether area measured in the wrong CRS is wrong by an amount that grows with latitude, from 1% at the equator to 23 times at 78°N.

## Key takeaways

- A CRS combines a coordinate system (axes and units) with a datum, which ties those axes to a model of the Earth.
- Geographic CRSs use latitude and longitude in degrees. Projected CRSs flatten the Earth into x and y in meters or feet.
- Every [map projection](https://wherobots.com/discover/map-projection/) distorts area, shape, distance, or direction. Each keeps one or two of these and distorts the rest.
- European Petroleum Survey Group (EPSG) codes identify CRSs: EPSG:4326 for WGS 84, EPSG:3857 for Web Mercator, EPSG:326xx for Universal Transverse Mercator (UTM) zones.
- Measure distance and area in a local projected CRS or on the ellipsoid. Use Web Mercator for display and degrees for storage.

## What is a coordinate system?

A coordinate system is a set of axes, an origin, and units that assign numbers to positions. The four coordinate systems taught in mathematics are Cartesian, polar, cylindrical, and spherical. Cartesian uses x, y, and z on perpendicular axes. Polar uses a distance and an angle in the plane. Cylindrical adds a height to polar, and spherical uses a radius and two angles. None of these says where on Earth the origin sits.

A coordinate reference system adds that anchor. The International Organization for Standardization (ISO) publishes [ISO 19111](https://www.iso.org/standard/74039.html), the international standard for referencing by coordinates. It defines a CRS as a coordinate system related to an object, the Earth, through a datum. The Open Geospatial Consortium (OGC) [Simple Feature Access](https://www.ogc.org/standards/sfa/) standard calls it a spatial reference system. In GIS, the three main types are geographic CRSs (latitude and longitude), projected CRSs (x and y on a flat map), and vertical CRSs (height or depth).

## How a coordinate reference system works

ISO 19111 builds every CRS from the same parts. The figure traces them for UTM zone 10N, the CRS used for San Francisco throughout.

![Diagram of the parts of EPSG:32610. The WGS 84 ellipsoid, with semi-major axis 6,378,137 m and inverse flattening 298.257223563, and the Greenwich prime meridian feed the WGS 84 datum. The datum and an ellipsoidal coordinate system form the geographic CRS EPSG:4326. A transverse Mercator conversion with central meridian 123 degrees west, scale factor 0.9996 and false easting 500,000 m turns it into the projected CRS EPSG:32610. There the point -122.4, 37.79 becomes 552,828.50, 4,182,685.00. A dashed transformation box links the datum to other datums](https://wherobots.com/wp-content/themes/wherobots/assets/img/discover/coordinate-reference-system-anatomy.webp)

*The parts of WGS 84 / UTM zone 10N (EPSG:32610). The projected coordinates of the San Francisco point come from ST_Transform in Wherobots.*

- **Ellipsoid.** A smooth model of the Earth's shape, slightly flattened at the poles. WGS 84 uses a semi-major axis of 6,378,137 meters and an inverse flattening of 298.257223563, as listed in the [EPSG:4326 definition](https://epsg.io/4326).
- **Datum.** Fixes the ellipsoid's position and orientation relative to the Earth. WGS 84 and the North American Datums of 1983 and 1927 (NAD 83 and NAD 27) are common datums, and the same point has different latitude and longitude on each.
- **Prime meridian.** The zero line of longitude, usually Greenwich.
- **Units.** Degrees for geographic systems, meters or US survey feet for projected ones.
- **Axis order.** Latitude first or longitude first. The EPSG definition of 4326 lists latitude first, while [GeoJSON (RFC 7946)](https://www.rfc-editor.org/info/rfc7946/) and WherobotsDB expect longitude first. `ST_FlipCoordinates` swaps the order when data arrives latitude first.
- **Projection.** For projected CRSs, the formulas that flatten the ellipsoid onto a plane. ISO 19111 calls this a conversion, because it changes coordinates without changing the datum.

### Geographic vs projected coordinate systems

|  | Geographic coordinate system | Projected coordinate system |
| --- | --- | --- |
| Surface | Curved ellipsoid | Flat plane |
| Coordinates | Latitude and longitude | x (easting) and y (northing) |
| Units | Degrees | Meters or feet |
| Distortion | None in storage. Degrees vary in ground length | Some area, shape, distance, or direction is distorted |
| Example | WGS 84, EPSG:4326 | UTM zone 10N, EPSG:32610. Web Mercator, EPSG:3857 |
| Best for | Storing and exchanging global data | Measuring, analyzing, and mapping a region |

A geographic coordinate system has no single scale. A degree of latitude is always about 111 km. Meridians, the lines of longitude, meet at the poles. So a degree of longitude covers 111.3 km at the equator, 88.1 km in San Francisco, and 23.1 km in Svalbard (query below).

### Map projections and distortion

No flat map keeps every property of a curved surface. Robinson spreads the distortion and keeps none in full. Conformal projections such as Mercator and transverse Mercator keep local angles and shapes. Equal-area projections such as Albers and Equal Earth keep area. Equidistant projections keep distance along chosen lines. Nicolas Auguste Tissot's indicatrix, published in full in 1881, draws the distortion at each point as an ellipse. The header image above uses it to show circles of the same 800 km radius at different sizes and shapes.

### Datums and datum shifts

A datum shift changes a point's coordinates because the reference frame changed. NAD 27, the older North American datum, sits on the Clarke 1866 ellipsoid. NAD 83 uses the Geodetic Reference System 1980 (GRS 1980) ellipsoid and moves with the North American plate. WGS 84 follows the International Terrestrial Reference Frame (ITRF). So NAD 83 and WGS 84 drift apart over time.

A **conversion** changes coordinates within one datum, such as projecting WGS 84 latitude and longitude to UTM. A **transformation** moves coordinates between datums. Its parameters or grids come from measurements, and it carries a stated accuracy. The International Association of Oil & Gas Producers (IOGP) publishes [IOGP Guidance Note 7-2](https://www.iogp.org/wp-content/uploads/2019/09/373-07-02.pdf?ver=1791575225). The note documents the formulas for both. They range from three-parameter shifts to grid-based methods such as NADCON (North American Datum Conversion) and NTv2 (National Transformation version 2).

### EPSG codes, SRIDs, WKT2, and PROJ

The [EPSG Geodetic Parameter Dataset](https://epsg.org/home.html), maintained by the IOGP, catalogs coordinate reference systems and transformations and assigns each a numeric code. An SRID, spatial reference identifier, is the code a database stores with a geometry, usually an EPSG code.

A code is shorthand. The full definition is in Well-Known Text (WKT), currently [WKT2, ISO 19162:2019 and OGC 18-010r11](https://www.ogc.org/standards/wkt-crs/). A WKT2 definition lists the datum, ellipsoid, prime meridian, axes, units, conversion, and the area and scope of use. [GeoParquet](https://geoparquet.org/releases/v1.1.0/) stores each geometry column's CRS as PROJJSON, the JSON encoding of WKT2. Its default is OGC:CRS84, the WGS 84 CRS in longitude, latitude order. An abridged WKT2 definition of UTM zone 10N:

```
PROJCRS["WGS 84 / UTM zone 10N",
  BASEGEOGCRS["WGS 84",
    ENSEMBLE["World Geodetic System 1984 ensemble", ...,
      ELLIPSOID["WGS 84",6378137,298.257223563]],
    PRIMEM["Greenwich",0]],
  CONVERSION["UTM zone 10N",
    METHOD["Transverse Mercator"],
    PARAMETER["Longitude of natural origin",-123],
    PARAMETER["Scale factor at natural origin",0.9996],
    PARAMETER["False easting",500000]],
  CS[Cartesian,2], ...,
  ID["EPSG",32610]]
```

The [PROJ library](https://proj.org/) implements these operations in most open-source geospatial software. [SpatialReference.org](https://spatialreference.org/) lists definitions for EPSG, ESRI (Environmental Systems Research Institute), and other authorities.

## Coordinate reference system examples

### WGS 84 (EPSG:4326)

The World Geodetic System 1984 is the datum and geographic CRS used by GPS, maintained by the US National Geospatial-Intelligence Agency (NGA). EPSG:4326 stores latitude and longitude in degrees over the whole world. GeoJSON requires it, and open datasets such as Overture Maps publish in it.

### Web Mercator (EPSG:3857)

Web Mercator is the projected CRS behind Google Maps, OpenStreetMap, and most web map tiles. It applies spherical Mercator formulas to WGS 84 coordinates, so tiles are fast to compute. The [EPSG:3857 record](https://epsg.io/3857) describes its scope as web mapping and visualization and notes it is "not a recognised geodetic system." It covers latitudes between 85.06°S and 85.06°N, keeps local shape, and inflates area toward the poles.

### UTM zones (EPSG:326xx and 327xx)

Universal Transverse Mercator divides the world into 60 zones, each 6 degrees of longitude wide, numbered from 180°W. Each zone uses a transverse Mercator projection in meters with low distortion inside the zone. [UTM zone 10N (EPSG:32610)](https://epsg.io/32610) covers 126°W to 120°W in the northern hemisphere, including San Francisco. On the WGS 84 datum, northern zones have EPSG codes beginning 326 and southern zones 327. [Sentinel-2](https://wherobots.com/discover/sentinel-2/) and [Landsat](https://wherobots.com/discover/landsat/) imagery is delivered in UTM.

### State Plane Coordinate System and NAD 83

The State Plane Coordinate System divides the United States into zones, one or more per state. Each zone uses a transverse Mercator or Lambert conformal conic projection on NAD 83, in meters or US survey feet. County [parcel data](https://wherobots.com/discover/parcel-data/) and engineering drawings often arrive in State Plane. San Francisco falls in [NAD83 / California zone 3 (EPSG:2227)](https://epsg.io/2227), a Lambert conformal conic CRS in US survey feet. NAD 83 is still the official US horizontal datum, and the National Geodetic Survey is [replacing it](https://geodesy.noaa.gov/datums/newdatums/index.shtml) with the North American Terrestrial Reference Frame of 2022 (NATRF2022).

### Equal-area projections

Equal-area projections such as [Equal Earth (EPSG:8857)](https://epsg.io/8857) preserve area everywhere and distort shape. Use them for global maps of density or [land cover](https://wherobots.com/discover/land-cover-classification/).

## Why the CRS matters

- **Misaligned layers.** Data in different CRSs plots in the wrong place. A [spatial join](https://wherobots.com/discover/spatial-join/) between layers in different CRSs returns no matches or wrong matches.
- **Swapped axes.** Latitude-first and longitude-first data can put Paris in the Indian Ocean.
- **Relabeling vs transforming.** Setting a CRS label changes the metadata. Transforming changes the coordinates. Using one when you meant the other is a common bug.

Raster data has a CRS too. A [GeoTIFF](https://wherobots.com/discover/geotiff/) stores it in georeferencing tags. A [digital elevation model](https://wherobots.com/discover/digital-elevation-model/) must share one with the vectors it is joined to. [Lidar point clouds](https://wherobots.com/discover/lidar-data/) carry a horizontal and a vertical CRS. See [raster vs vector data](https://wherobots.com/discover/raster-vs-vector-data/).

## Coordinate reference systems in Wherobots

WherobotsDB handles CRSs with spatial SQL functions:

- [`ST_Transform(geom, sourceCRS, targetCRS)`](https://docs.wherobots.com/reference/wherobots-db/geometry-data/spatial-reference/ST_Transform) reprojects coordinates. It accepts EPSG codes, WKT, PROJ strings, and PROJJSON.
- `ST_SetSRID(geom, srid)` labels a geometry with a CRS without moving it, and `ST_SRID(geom)` reads the label.
- [`ST_BestSRID(geom)`](https://docs.wherobots.com/reference/wherobots-db/geometry-data/spatial-reference/ST_BestSRID) returns a projected CRS suited to the geometry: the UTM zone for a geometry that fits in one zone, Lambert azimuthal equal-area near the poles, and Mercator otherwise.
- [`ST_AreaSpheroid(geom)`](https://docs.wherobots.com/reference/wherobots-db/geometry-data/measurement/ST_AreaSpheroid), `ST_DistanceSpheroid`, and `ST_LengthSpheroid` measure in meters on the WGS 84 ellipsoid, directly from longitude and latitude.

The [CRS transformation guide](https://docs.wherobots.com/reference/wherobots-db/geometry-data/crs-transformation) covers supported formats, grid files, and coordinate order.

The four queries below read these inputs:

| Source | Format | Rows in the table | What the queries read |
| --- | --- | --- | --- |
| A point at -122.4, 37.79 | Typed into the SQL | 1 | One downtown San Francisco location, transformed and shifted between datums |
| Overture buildings (`buildings_building`) | Havasu table (Apache Iceberg) in Wherobots open data | 2,533,842,612 on 9 October 2026 | Footprints whose bounding box falls in a small Financial District block; the three largest by ellipsoidal area |
| Overture division areas (`divisions_division_area`) | Havasu table (Apache Iceberg) in Wherobots open data | 1,080,667 on 9 October 2026 | Eight boundaries, selected by ID and bounding box |

All four queries ran in WherobotsDB as spatial SQL.

### One San Francisco point in WGS 84, Web Mercator, and UTM

This query transforms one location in downtown San Francisco:

```
SELECT ST_AsText(ST_Point(-122.4, 37.79)) AS wgs84,
       ST_AsText(ST_Transform(ST_Point(-122.4, 37.79), 'EPSG:4326', 'EPSG:3857')) AS web_mercator,
       ST_AsText(ST_Transform(ST_Point(-122.4, 37.79), 'EPSG:4326', 'EPSG:32610')) AS utm_10n
```

| wgs84 | web_mercator | utm_10n |
| --- | --- | --- |
| POINT (-122.4 37.79) | POINT (-13625505.67 4549802.18) | POINT (552828.50 4182685.00) |

Web Mercator measures meters on a sphere from the equator and the prime meridian. UTM measures meters north of the equator and east of a false origin 500,000 meters west of the 123°W central meridian.

### A datum shift on the same point

The EPSG transformation [NAD27 to WGS 84 (4)](https://epsg.io/1173) is a geocentric translation of (-8, 160, 176) meters on the Clarke 1866 ellipsoid. It was derived from measurements at 405 stations across the contiguous United States. This query applies it and measures how far the point moves:

```
SELECT ST_AsText(ST_Transform(ST_Point(-122.4, 37.79),
         '+proj=longlat +ellps=clrk66 +towgs84=-8,160,176,0,0,0,0 +no_defs', 'EPSG:4326')) AS nad27_point_in_wgs84,
       ROUND(ST_DistanceSpheroid(ST_Point(-122.4, 37.79),
         ST_Transform(ST_Point(-122.4, 37.79),
         '+proj=longlat +ellps=clrk66 +towgs84=-8,160,176,0,0,0,0 +no_defs', 'EPSG:4326')), 1) AS shift_m
```

| nad27_point_in_wgs84 | shift_m |
| --- | --- |
| POINT (-122.40105 37.78990) | 93.1 |

A NAD 27 coordinate read as WGS 84 lands 93.1 meters from the true position. EPSG lists this transformation's accuracy as 5 to 6 meters per axis.

### Building areas in San Francisco

This query measures three of the largest [Overture buildings](https://wherobots.com/havasu/#buildings_building) in San Francisco's Financial District four ways:

```
SELECT ST_SRID(geometry) AS srid,
       ST_BestSRID(geometry) AS best_srid,
       ST_Area(geometry) AS area_sq_degrees,
       ROUND(ST_Area(ST_Transform(geometry, 'EPSG:4326', 'EPSG:32610')), 1) AS area_sq_m_utm10n,
       ROUND(ST_Area(ST_Transform(geometry, 'EPSG:4326', 'EPSG:3857')), 1) AS area_sq_m_web_mercator,
       ROUND(ST_AreaSpheroid(geometry), 1) AS area_sq_m_spheroid
FROM wherobots_open_data.overture_maps_foundation.buildings_building
WHERE bbox.xmin >= -122.40 AND bbox.xmax <= -122.395
  AND bbox.ymin >= 37.79 AND bbox.ymax <= 37.795
ORDER BY area_sq_m_spheroid DESC
LIMIT 3
```

| srid | best_srid | area_sq_degrees | area_sq_m_utm10n | area_sq_m_web_mercator | area_sq_m_spheroid |
| --- | --- | --- | --- | --- | --- |
| 4326 | 32610 | 6.814e-7 | 6,656.0 | 10,684.9 | 6,660.8 |
| 4326 | 32610 | 6.195e-7 | 6,051.6 | 9,714.3 | 6,056.1 |
| 4326 | 32610 | 4.615e-7 | 4,507.9 | 7,236.3 | 4,511.2 |

Overture geometries carry SRID 4326, and `ST_BestSRID` returns UTM zone 10N. Area in square degrees is a tiny number with no physical unit. UTM and the spheroid agree within 0.1%, while Web Mercator overstates each building by about 60%.

### The same comparison from the equator to Svalbard

This query takes eight [Overture division boundaries](https://wherobots.com/havasu/#divisions_division_area), from Singapore to Nordenskiöld Land in Svalbard. It measures each one four ways: EPSG:4326 planar area at the equatorial 111.32 km per degree, Web Mercator, the local UTM zone, and the WGS 84 ellipsoid. It also measures one degree of longitude at each centroid.

```
WITH pick AS (
  SELECT * FROM VALUES
    ('Singapore',          103.82,  1.35, 'f29ee54e-0684-466c-ac6b-38549837eeaa', '+proj=utm +zone=48 +datum=WGS84 +units=m'),
    ('Nairobi',             36.82, -1.29, '288a59f2-163f-48f2-a942-1d5096088685', '+proj=utm +zone=37 +south +datum=WGS84 +units=m'),
    ('San Francisco',     -122.44, 37.76, '273bc9a0-96a1-402c-992c-84f5c2f212cb', '+proj=utm +zone=10 +datum=WGS84 +units=m'),
    ('Paris',                2.35, 48.86, '97b66514-3f41-47ac-a348-9cfd51d983d5', '+proj=utm +zone=31 +datum=WGS84 +units=m'),
    ('Oslo',                10.75, 59.91, '7eafc338-ef1d-4c71-bd29-be3e428a68b7', '+proj=utm +zone=32 +datum=WGS84 +units=m'),
    ('Reykjavik',          -21.90, 64.13, 'c17ee27c-ecab-4a8a-b915-3c42c5dc1d28', '+proj=utm +zone=27 +datum=WGS84 +units=m'),
    ('Tromso',              18.95, 69.65, '5c8ccf57-b128-4295-a1e9-29f35cbd6361', '+proj=utm +zone=34 +datum=WGS84 +units=m'),
    ('Nordenskiold Land',   15.63, 78.22, '93d3102d-7f64-471c-9f5c-d528ebe47fd0', '+proj=utm +zone=33 +datum=WGS84 +units=m')
  AS t(place, lon, lat, id, utm)
),
f AS (
  SELECT /*+ BROADCAST(pick) */ pick.place, pick.utm, a.geometry AS g
  FROM wherobots_open_data.overture_maps_foundation.divisions_division_area a
  JOIN pick ON a.id = pick.id
   AND a.bbox.xmin <= pick.lon AND a.bbox.xmax >= pick.lon
   AND a.bbox.ymin <= pick.lat AND a.bbox.ymax >= pick.lat
),
m AS (
  SELECT place, utm, g,
         ST_Centroid(g) AS c,
         ST_Area(g) AS sq_deg,
         ST_Area(ST_Transform(g, 'EPSG:4326', 'EPSG:3857')) AS merc_m2,
         ST_Area(ST_Transform(g, 'EPSG:4326', utm)) AS utm_m2,
         ST_AreaSpheroid(g) AS sph_m2
  FROM f
)
SELECT place,
       ROUND(ST_Y(c), 2) AS lat,
       ST_BestSRID(g) AS best_srid,
       ROUND(sq_deg, 5) AS sq_degrees,
       ROUND(sq_deg * 111.32 * 111.32, 1) AS km2_4326_planar,
       ROUND(merc_m2 / 1e6, 1) AS km2_web_mercator,
       ROUND(utm_m2 / 1e6, 1) AS km2_utm,
       ROUND(sph_m2 / 1e6, 1) AS km2_spheroid,
       ROUND(sq_deg * 111.32 * 111.32 * 1e6 / sph_m2, 2) AS planar_ratio,
       ROUND(merc_m2 / sph_m2, 2) AS mercator_ratio,
       ROUND(100 * (utm_m2 / sph_m2 - 1), 3) AS utm_err_pct,
       ROUND(ST_DistanceSpheroid(ST_Point(ST_X(c), ST_Y(c)), ST_Point(ST_X(c) + 1, ST_Y(c))) / 1e3, 1) AS km_per_deg_lon,
       ROUND(ST_Distance(ST_Transform(ST_Point(ST_X(c), ST_Y(c)), 'EPSG:4326', 'EPSG:3857'),
                         ST_Transform(ST_Point(ST_X(c) + 1, ST_Y(c)), 'EPSG:4326', 'EPSG:3857')) / 1e3, 1) AS km_per_deg_lon_web_mercator
FROM m
ORDER BY lat
```

| place | lat | best_srid | km² 4326 planar | km² Web Mercator | km² UTM | km² spheroid | planar ratio | Mercator ratio | UTM error % | km per 1° lon |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Nairobi | -1.29 | 32737 | 700.4 | 700.6 | 695.9 | 695.5 | 1.01 | 1.01 | 0.060 | 111.3 |
| Singapore | 1.35 | 32648 | 770.1 | 770.3 | 764.5 | 764.8 | 1.01 | 1.01 | -0.037 | 111.3 |
| San Francisco | 37.76 | 32610 | 154.7 | 195.7 | 122.0 | 122.1 | 1.27 | 1.60 | -0.074 | 88.1 |
| Paris | 48.86 | 32631 | 160.0 | 243.2 | 105.3 | 105.4 | 1.52 | 2.31 | -0.074 | 73.4 |
| Oslo | 59.98 | 32632 | 957.6 | 1,913.8 | 480.5 | 480.8 | 1.99 | 3.98 | -0.057 | 55.8 |
| Reykjavík | 64.19 | 32627 | 559.4 | 1,284.6 | 244.4 | 244.6 | 2.29 | 5.25 | -0.077 | 48.6 |
| Tromsø | 69.64 | 32634 | 7,167.1 | 20,599.1 | 2,504.7 | 2,506.3 | 2.86 | 8.22 | -0.066 | 38.8 |
| Nordenskiöld Land | 78.04 | 3574 | 24,727.5 | 119,280.1 | 5,144.6 | 5,148.7 | 4.80 | 23.17 | -0.079 | 23.1 |

The query ran in 19.5 seconds.

- **Web Mercator area grows with the square of the secant of latitude (one over its cosine).** It reads 1.01 times the ellipsoidal area at the equator, 1.60 in San Francisco, 3.98 in Oslo, and 23.17 in Nordenskiöld Land. One degree of longitude measures 111.3 km in Web Mercator everywhere, and 23.1 km on the ellipsoid at 78°N.
- **Planar area in degrees grows with the secant:** 1.52 times in Paris and 4.80 in Nordenskiöld Land.
- **UTM stays within 0.08% of the ellipsoid at every latitude.** Most features read slightly small because UTM scales its central meridian by 0.9996. `ST_BestSRID` returns the UTM zone for seven places and a polar Lambert azimuthal equal-area CRS (EPSG:3574) for Svalbard.

![Log-scale chart of measured area divided by ellipsoidal area against latitude for eight Overture boundaries. Web Mercator points rise from 1.01 at Singapore and Nairobi to 1.60 at San Francisco, 2.31 at Paris and 3.98 at Oslo. They reach 5.25 at Reykjavik, 8.22 at Tromso and 23.17 at Nordenskiold Land, following a dashed one over cosine squared curve. EPSG:4326 planar points rise more slowly to 4.80. UTM points stay on the 1 line at every latitude](https://wherobots.com/wp-content/themes/wherobots/assets/img/discover/coordinate-reference-system-area-by-latitude.webp)

*Area error by latitude for eight Overture division boundaries, from ST_Transform and ST_AreaSpheroid in Wherobots. Web Mercator reaches 23.17 times the true area at 78°N; UTM stays within 0.08%.*

![Eight map panels each draw one Overture boundary twice at the same scale. A purple outline shows it in its local UTM zone, and a larger blue outline shows the same place in Web Mercator. Singapore and Nairobi outlines nearly coincide at 1.01 times. San Francisco is 1.60 times, Paris 2.31, Oslo 3.98, Reykjavik 5.25 and Tromso 8.22. Nordenskiold Land in Svalbard appears as a small purple shape inside a blue outline 23.17 times its area](https://wherobots.com/wp-content/themes/wherobots/assets/img/discover/coordinate-reference-system-true-size-outlines.webp)

*Each place drawn at true size in its UTM zone (purple) and in Web Mercator (blue), at the same scale. Overture division areas transformed with ST_Transform in Wherobots.*

Grids such as [H3](https://wherobots.com/discover/h3/) take WGS 84 longitude and latitude, and open datasets in the [Havasu catalog](https://wherobots.com/discover/havasu-catalog/) already carry SRID 4326.

## Coordinate reference system research and what changes at scale

### From Mercator to Gauss-Krüger and UTM

John P. Snyder's [*Map Projections: A Working Manual*](https://doi.org/10.3133/pp1395) (USGS Professional Paper 1395, 1987), a standard reference for projection formulas, traces the history. Gerardus Mercator announced his projection in 1569 on an 18-sheet world map built so that a line of constant compass bearing plots as a straight line. Johann Heinrich Lambert described the transverse Mercator, the Lambert conformal conic, and the Lambert azimuthal equal-area projections in 1772. Carl Friedrich Gauss developed the ellipsoidal form of transverse Mercator in 1822, and Louis Krüger reworked it in 1912, which is why Europe calls it Gauss-Krüger. The US Army adopted the UTM grid in 1947.

Charles Karney's [Transverse Mercator with an accuracy of a few nanometers](https://doi.org/10.1007/s00190-011-0445-3) (Journal of Geodesy, 2011) extended Krüger's series to higher order. Its errors stay below 5 nm within 3,900 km of the central meridian. The paper also gave an exact method accurate to 9 nm over the whole ellipsoid.

### Measuring distortion and measuring on the ellipsoid

Goldberg and Gott's [Flexion and Skewness in Map Projections of the Earth](https://doi.org/10.3138/carto.42.4.297) (Cartographica, 2007) scored world maps on six error types. It added flexion (bending) and skewness (lopsidedness) to the classic area, shape, and distance measures. New projections still appear. Šavrič, Patterson, and Jenny introduced [the Equal Earth map projection](https://doi.org/10.1080/13658816.2018.1504949) (International Journal of Geographical Information Science, 2019) as an equal-area alternative for world maps. EPSG registered it as 8857.

The alternative to projecting is to compute on the ellipsoid. Karney's [Algorithms for geodesics](https://doi.org/10.1007/s00190-012-0578-z) (Journal of Geodesy, 2013) gives fast, accurate methods for geodesics, the shortest paths on the ellipsoid. They return distance, endpoint, and the area of polygons with geodesic edges. The walkthrough uses ST_AreaSpheroid, an ellipsoidal measure of this type, as its reference.

### The Web Mercator debate

Battersby, Finn, Usery, and Yamamoto's [Implications of Web Mercator and Its Use in Online Mapping](https://doi.org/10.3138/carto.49.2.2313) (Cartographica, 2014) examines how it became the dominant projection for online maps. It also covers why Mercator has long been considered a poor choice for general-purpose world maps. The same year, NGA issued an [advisory notice on Web Mercator](https://www.gpsworld.com/nga-issues-advisory-notice-on-web-mercator-for-mission-critical-operations/) warning of geolocation errors of up to 40,000 meters in Department of Defense systems. Bernhard Jenny's [Adaptive Composite Map Projections](https://doi.org/10.1109/TVCG.2012.192) (IEEE TVCG, 2012) proposed changing the projection with map scale: equal-area when zoomed out, conformal when zoomed in.

### The EPSG registry, OGC, and ISO 19111 standards

The [history of the EPSG Dataset](https://epsg.org/history.html) begins in 1985, when geomatics leaders from European oil companies formed the European Petroleum Survey Group to share consistent CRS definitions. The dataset became public in 1993, and maintenance passed to the IOGP Geomatics Committee in 2005. The OGC's [Coordinate Transformation Services](https://www.ogc.org/publications/standard/ct/) specification (OGC 01-009, 2001) extended Well-Known Text with authority codes and compound CRSs. ISO 19111 now sets the conceptual model, in its third edition since 2019, and WKT2 encodes that model as text. The 2019 edition added coordinate operations that account for crustal motion over time. A coordinate can now carry its epoch, the date at which it was valid.

### Dynamic datums and plate motion

The ground moves. The Australian plate drifts about 7 cm a year to the north-east, so by 2020 Australia's 1994 datum differed from global coordinates by about 1.8 meters. [Geoscience Australia](https://www.ga.gov.au/scientific-topics/positioning-navigation/positioning-australia/geodesy/datums-projections/gda2020) responded with two systems: GDA2020, a static datum fixed at 1 January 2020, and ATRF2014, a time-dependent frame that moves with the plate.

The global reference is the ITRF. Altamimi and colleagues' [ITRF2020](https://doi.org/10.1007/s00190-023-01738-w) (Journal of Geodesy, 2023) refined how it models station motion that is not steady over time. WGS 84 follows the ITRF through successive realizations, updated versions of the frame. Konyk, Smith, Wong, and Tollefson's [Thirty Years of Maintaining WGS 84 with GPS](https://doi.org/10.33012/navi.693) (NAVIGATION, 2025) describes two recent alignments by NGA. WGS 84 (G2139) was aligned to ITRF2014 in 2021, and WGS 84 (G2296) to ITRF2020 in January 2024. The shift between the two is about 6.3 mm. EPSG models WGS 84 as a [datum ensemble](https://epsg.io/6326-datum), a group of these realizations treated as one datum, with an accuracy of 2 meters. So EPSG:4326 alone cannot place a coordinate to the centimeter.

North America is going the same way. The National Geodetic Survey's [Blueprint for 2022, Part 1](https://www.ngs.noaa.gov/PUBS_LIB/NOAA_TR_NOS_NGS_0062.pdf) (NOAA Technical Report NOS NGS 62, 2017) replaces the three NAD 83 frames with four plate-fixed frames. They are the North American, Pacific, Caribbean, and Mariana Terrestrial Reference Frames of 2022: NATRF2022, PTRF2022, CTRF2022, and MTRF2022. NAD 83's origin sits about 2.2 meters from the Earth's center. The new frames have their origin at the Earth's center. Each is tied to the ITRF through a model of its plate's rotation.

### What changes at scale

No single projected CRS keeps distortion low across a continent. Global work measures each feature in its own zone or on the ellipsoid. The walkthrough passes each feature its UTM zone as a column. Each row then runs on its own, in parallel. Jia Yu, Jinxuan Wu, and Mo Sarwat's [GeoSpark](https://doi.org/10.1145/2820783.2820860) (ACM SIGSPATIAL 2015) introduced the distributed spatial data model behind this. Yu, Zongsi Zhang, and Sarwat's [Spatial data management in Apache Spark](https://doi.org/10.1007/s10707-018-0330-9) (GeoInformatica, 2019) described its partitioning, indexing, and join design. GeoSpark became Apache Sedona, the engine under WherobotsDB.

[Spatial partitioning](https://wherobots.com/discover/partitioning-tax/) depends on the CRS too: grid cells laid out in degrees shrink toward the poles. Kimerling, Sahr, White, and Song's [Comparing geometrical properties of global grids](https://doi.org/10.1559/152304099782294186) (Cartography and Geographic Information Science, 1999) measured how cell area and shape vary across discrete global grids. Hierarchical grids such as [H3](https://wherobots.com/discover/h3/) manage that trade-off. Table formats now carry the CRS in the schema: a [Havasu geometry column](https://docs.wherobots.com/reference/havasu/geometry/geometry-overview) stores one CRS for every value and rejects a write with a mismatched SRID. [Iceberg v3 gets native geo types](https://wherobots.com/blog/iceberg-geospatial-types-v3/) covers the format change.

## Conclusions

The measurements support the claim: one building or boundary has a different area in each CRS, and the error grows with latitude.

1. **A CRS for storage should be WGS 84, longitude first, labeled OGC:CRS84.** GeoJSON requires it and GeoParquet defaults to it. Overture carries SRID 4326, whose EPSG definition lists latitude first.
2. **Web Mercator is a display CRS.** Its area error grows with latitude: 1.60 times in San Francisco, 3.98 in Oslo, and 23.17 in Nordenskiöld Land.
3. **Planar area in a geographic CRS is wrong.** In EPSG:4326 it overstated the eight boundaries by 1.01 to 4.80 times.
4. **The CRS for measuring is the local UTM zone or the ellipsoid.** UTM stayed within 0.08% of `ST_AreaSpheroid` from Singapore to Svalbard. For features that span zones, use the spheroid functions. As a hedge, UTM area read from 0.060% large in Nairobi to 0.079% small in Nordenskiöld Land, so property-boundary (cadastral) work needs the spheroid.
5. **The datum is part of every coordinate.** A NAD 27 point read as WGS 84 lands 93.1 meters off. EPSG rates the WGS 84 ensemble at 2 meters, so survey-grade work records the realization and epoch.
6. **Area comparisons across continents need an equal-area CRS** such as Equal Earth, since no projected CRS keeps distortion low everywhere.

## Related terms

- [Map projection](https://wherobots.com/discover/map-projection/): projection families, distortion, and how to choose one
- [Geospatial data](https://wherobots.com/discover/geospatial-data/): the vector and raster data a CRS describes
- [Geospatial analysis](https://wherobots.com/discover/geospatial-analysis/): methods whose results depend on the CRS
- [Spatial join](https://wherobots.com/discover/spatial-join/): combining datasets that must share a CRS
- [H3](https://wherobots.com/discover/h3/): a global grid indexed from WGS 84 coordinates
- [GeoTIFF](https://wherobots.com/discover/geotiff/): the raster format that stores CRS tags
- [Raster vs vector data](https://wherobots.com/discover/raster-vs-vector-data/): how each data model stores location
- [Lidar data](https://wherobots.com/discover/lidar-data/): point clouds with horizontal and vertical CRSs
- [Sentinel-2](https://wherobots.com/discover/sentinel-2/): imagery delivered in UTM zones
- [Geospatial analytics at scale](https://wherobots.com/discover/geospatial-analytics-at-scale/): how many UTM zones one national analysis spans

## Read more from Wherobots

- [Announcing Apache Sedona 1.4: a giant leap in geospatial processing](https://wherobots.com/blog/announcing-apache-sedona-1-4-a-giant-leap-in-geospatial-processing/)
- [Iceberg v3 gets native geo types](https://wherobots.com/blog/iceberg-geospatial-types-v3/)
- [El Niño 2026, atmospheric rivers, and California's burn scars: one SQL engine, two data models](https://wherobots.com/blog/raster-vector-join-high-hazard-basins/)

Transform, measure, and join data across coordinate reference systems with a Wherobots free trial at [cloud.wherobots.com](https://cloud.wherobots.com).

## Frequently asked questions

### What is a coordinate system in GIS?

In GIS, a coordinate system, or coordinate reference system (CRS), defines how the numbers in a dataset map to locations on Earth. It specifies a model of the Earth’s shape (an ellipsoid and datum), the units, the axis order, and, for flat maps, the projection. Two datasets line up only when they share a CRS, or when one is transformed into the other’s.

### What is the difference between a coordinate system and a coordinate reference system?

A coordinate system is a set of axes and units, such as x and y in meters or latitude and longitude in degrees. A coordinate reference system adds a datum that anchors those axes to the Earth. In everyday GIS use, the two terms mean the same thing.

### What is the difference between geographic and projected coordinate systems?

A geographic coordinate system locates points on a model of the Earth’s curved surface with latitude and longitude in degrees, for example WGS 84 (EPSG:4326). A projected coordinate system flattens the Earth onto a plane and uses x and y in linear units such as meters, for example UTM zone 10N (EPSG:32610). Distance and area calculations need a projected or geodesic method.

### What is CRS and EPSG?

CRS stands for coordinate reference system. EPSG refers to the EPSG Geodetic Parameter Dataset, maintained by the International Association of Oil & Gas Producers (IOGP), which assigns numeric codes to coordinate reference systems. EPSG:4326 is WGS 84 latitude and longitude, and EPSG:3857 is Web Mercator.

### What is UTM and WGS84?

WGS 84 is the World Geodetic System 1984, a global datum and geographic coordinate system used by GPS, identified as EPSG:4326. UTM, Universal Transverse Mercator, is a projected system that divides the world into 60 zones, each 6 degrees of longitude wide, with coordinates in meters. A UTM zone on the WGS 84 datum, such as zone 10N, has its own EPSG code (32610).

### Is Google Maps in WGS84?

Google Maps displays maps in Web Mercator (EPSG:3857), a projected system built on WGS 84. The latitude and longitude coordinates that Google Maps shows and accepts are WGS 84 degrees.

### How do I find my EPSG code?

Check the dataset’s metadata: a Shapefile’s .prj file, a GeoTIFF’s georeferencing tags, or a GeoParquet file’s geometry metadata. In Wherobots, ST_SRID returns the code stored on a geometry. To look up a code by name or area, search the EPSG registry at epsg.org or spatialreference.org.

### What are the three types of coordinate systems?

In mathematics, the common types are Cartesian (x, y, z), polar (distance and angle), and spherical (radius and two angles). In GIS, the main types of coordinate reference systems are geographic (latitude and longitude), projected (x and y on a flat map), and vertical (height or depth).

### What is meant by coordinate system?

A coordinate system is a set of axes, an origin, and units that assign a unique set of numbers to every position. On a graph that means x and y. On the Earth it means latitude and longitude, or eastings and northings in meters, plus a datum that ties the numbers to the planet.

### What are the four coordinate systems?

The four coordinate systems taught in mathematics and physics are Cartesian, polar, cylindrical, and spherical. Cartesian uses x, y, and z on perpendicular axes. Polar uses a distance and an angle in the plane. Cylindrical adds a height to polar coordinates, and spherical uses a radius and two angles. Geographic latitude and longitude are a form of spherical coordinates measured on an ellipsoid.

### What is the State Plane Coordinate System?

The State Plane Coordinate System is a set of projected coordinate systems for the United States, with one or more zones per state. Each zone uses a transverse Mercator or Lambert conformal conic projection on the NAD 83 datum, in meters or US survey feet. San Francisco falls in California zone 3, EPSG:2227 in feet.

### Why does Web Mercator distort area?

Web Mercator keeps local angles and shapes. To do that, it stretches the map east-west and north-south by the same factor, and that factor grows with latitude. Area grows by the square of the stretch. In Wherobots, Oslo at 60 degrees north measures 3.98 times larger in EPSG:3857 than on the WGS 84 ellipsoid.

### How do I choose a coordinate reference system?

Store and exchange data in WGS 84 longitude-latitude (OGC:CRS84), measure area and distance in the local UTM zone or on the ellipsoid, and use Web Mercator for display only. For features that span UTM zones or sit above 70 degrees latitude, use the spheroid functions for distance and either the spheroid functions or an equal-area projection for area.

### What is a datum shift?

A datum shift is the change in a point’s coordinates when it moves from one datum to another, such as from NAD 27 to WGS 84. The ground position stays the same, and the latitude and longitude change because each datum places its ellipsoid differently. In Wherobots, a downtown San Francisco point moves 93.1 meters between NAD 27 and WGS 84. Between the two most recent versions of WGS 84, G2139 and G2296, NGA reports a shift of about 6.3 mm.
