When working with geographic data on maps, it’s important to understand the difference between unprojected and projected geometries. GeoJSON stores coordinates in an unprojected format—specifically, latitude and longitude values based on the WGS84 coordinate system.
What is a projection?
Map projection is a mathematical method of transferring the curved, three-dimensional surface of the Earth onto a flat, two-dimensional map, which inevitably introduces some distortion in shape, area, distance, or direction.
- Web Mercator → most common, think the map on your elementary school wall (EPSG:3857) (Giraffe 2D basemaps)
- UTM → local, meter-based projections for accurate surveying.
- Albers Equal Area, Lambert Conformal Conic → great for preserving area or shape at larger scales.
3D globe is the most accurate representation of Earth; however, for accurate local measurements, transformations, and on-screen rendering, those coordinates often need to be projected into a flat, Cartesian coordinate system. This section explains how and why that projection happens, and how it affects geometry manipulation in real-world mapping tools.
Unprojected Geometries (aka Geographic Coordinates)
Unprojected refers to using geographic coordinates, or a 3D spherical model of the Earth. The most common coordinates for the Globe are latitude and longitude.
GeoJSON typically uses geographic coordinates:
Longitude (x) and Latitude (y)
Like: `[ -73.9857, 40.7484 ]` (NYC-ish)
{
"type": "Point",
"coordinates": [-73.9857, 40.7484]
}
Projected Geometries (aka Cartesian Coordinates)
Although the spherical model is most accurate, at smaller city scale designs, lat/lon may prove too inaccurate.
These coordinates are not evenly spaced in terms of distance
1° of longitude is not the same distance everywhere on Earth.
Shapes can look distorted near the poles.
Thus a flat, or Caretesian, projection can be used.
When we say "Cartesian" in mapping, we’re usually talking about projected coordinates. These coordinates have been flattened from the curved Earth to a 2D surface (like a map or screen).
They are typically in meters or pixels.
They allow for **precise measurements and transformations**.
When you project geographic coordinates, they become Cartesian:
- X = east-west
- Y = north-south
These are used in math to:
- Measure distances (Euclidean)
- Rotate/move/scale shapes
- Align layers correctly on maps
This would be the same location as before, but now in projected meters (e.g., Web Mercator).
{
"type": "Point",
"coordinates": [1335832.46, 6261723.78]
}
So Why Use Projected or Unprojected?
Purpose | Use Unprojected(GeoJSON) | Use Projected(Cartesian) |
Data storage & exchange | ✅ GeoJSON is always unprojected | ❌ Not common |
Web maps | ✅ GeoJSON input | Internally projected to screen coords |
Distance, area, buffer | ❌ Not accurate | ✅ Required for correct math |
GIS software (QGIS, ArcGIS) | ✅ Can import | ✅ Projects automatically for analysis |
Rendering on canvas or SVG | ❌ | ✅ Needed for pixel-perfect drawing |
