ATS Labs · Episode 13 · Open data, production-grade map
Mars Atlas
The paths of two NASA rovers on Mars, from their landing sites to their last positions in the published files — Perseverance in Jezero Crater and Curiosity in Gale Crater — on a 2D map of Mars and a 3D globe with real Martian elevation.
The problem
The software assumes Earth
NASA publishes where its rovers have driven, one file per rover. Putting those paths on a map looks simple. Reading them right is where the time goes: the mapping tools measure on Earth, the traced line and the rover’s own odometer disagree, and the files are almost GeoJSON, but not quite.
Watch it work
Episode 13 — Mars Atlas (6:03)
One public source end to end: where the rover paths live, the three details that cost the most time, and the map and globe they turn into.
What it covers
One source, three details, one map
- The source: the rover traverses NASA’s Jet Propulsion Laboratory publishes from MMGIS, the mapping system it uses to plan and track its Mars missions. Each rover has one file, with a line for the full traverse and a set of waypoints along it: 172 for Perseverance and 153 for Curiosity, each with a sol, a site and drive number, the distance driven and the elevation. The files are credited to NASA and JPL-Caltech, and Mars Atlas ships them with the app, so the paths make no live data requests.
- Detail one, the map software assumes Earth: the geodesic tools in the ArcGIS Maps SDK measure on Earth’s ellipsoid, so a length on Mars would come out almost twice as long as it is. Mars Atlas measures on a sphere the size of Mars, with a radius of 3,389.5 kilometers. The coordinates are Mars coordinates drawn on a standard web map grid, the same convention the Mars tiles and MMGIS use, so the paths line up.
- Detail two, the line is not the odometer: measured along the line, Perseverance has driven 44.9 kilometers, while the rover’s odometry in the same file says 43.37 kilometers, about 3.5 percent less. For Curiosity the two almost match, at about 37.4 kilometers. The line is drawn from localized positions and the odometry is counted by the rover, so they are two measurements of the same drives; the panel shows the line length, and each waypoint card shows the odometry for that point.
- Detail three, the files are almost GeoJSON: each file carries a top-level rover name, and the full traverse sits beside the list of waypoints instead of inside it, so a standard GeoJSON layer would miss the traverse. Mars Atlas reads both files by hand. The traverse is cut into one part per drive — 541 parts for Perseverance and 1,294 for Curiosity — and on the 3D globe those parts are joined where one drive ends and the next begins, so each path draws as one smooth route.
- How it becomes a map: each rover has a color, cyan for Perseverance and gold for Curiosity, with a diamond at its last position. Fly to rover frames the full path; a click on any waypoint opens a card with the sol, the site and drive, the odometry, the elevation and the coordinates; the elevation profile charts each climb — Curiosity now sits almost 1,000 meters above its landing site on the slopes of Mount Sharp, and Perseverance about 600 meters above its landing site; the header keeps Mars time; ten landmarks jump to places like Olympus Mons and Valles Marineris; and the 3D globe drapes both paths on real Martian elevation, marks the landing sites of earlier missions, and switches to colored relief.
What it does not do
- Not live tracking — each path is shown as the published file recorded it: Perseverance through sol 1913 and Curiosity through sol 4950. Both rovers have driven on since.
- Not an official NASA product — the traverse data is NASA’s; the map, the measurements and the app are All Things Spatial’s.
Where the data comes from
Every source in the episode
- Mars rover traverses, NASA/JPL-Caltech (MMGIS) — science.nasa.gov/mission/mars-2020-perseverance/location-map/
- MMGIS, NASA-AMMOS Multi-Mission Geographic Information System — github.com/NASA-AMMOS/MMGIS
- OpenPlanetaryMap, the 2D Mars basemap — openplanetary.org/opm
- Esri Astro OnMars services, the 3D globe imagery and elevation — astro.arcgis.com
- CTX global mosaic, The Murray Lab at Caltech (close-range globe imagery) — murray-lab.caltech.edu/CTX/
- Source sheet with every endpoint — allthingsspatial.io/pages/sources.html
The paths are credited to NASA and JPL-Caltech. The credits sit in the Mars Atlas footer, with OpenPlanetaryMap and Esri for the maps and NASA/JPL/MSSS/The Murray Lab for the close-range imagery.
Build with us
Need this on your data?
Mars Atlas is an ATS Labs build — TypeScript on the ArcGIS Maps SDK for JavaScript and the Calcite Design System, over NASA’s published rover paths — and it is a demonstration of what All Things Spatial builds. The real thing — your data, your brand, your infrastructure — is the work we do for clients.