All Things Spatial
ATS Labs · Esri SDK Showcase · Calcite · experimental

ATS Mars Atlas

Two rovers, one planet — interactive Mars with traverse tracking and a live Mars clock.

What it is

ATS Mars Atlas is an interactive map of another planet. The OpenPlanetaryMap global Mars basemap — NASA MOLA shaded relief blended with the Viking mosaic — is served as standard XYZ tiles and rendered through the ArcGIS Maps SDK; on top of it ride the full NASA/JPL traverses of two active rovers: Perseverance in Jezero Crater (172 waypoints through sol 1913) and Curiosity in Gale Crater (153 waypoints through sol 4950), each with an elevation profile, mission statistics, and click-to-inspect waypoints. A gazetteer of ten famous Mars locations rounds out the tour, and the header keeps a live Mars Sol Date and Coordinated Mars Time (MTC), computed per Allison & McEwen (2000).

It is the odd one out in the ATS Labs portfolio by design: there is no Esri basemap at all — this is Mars — and no Earth assumption survives contact with it. Distances are computed with a Mars-radius haversine rather than the SDK's Earth-ellipsoid tools, tile zoom limits were established empirically rather than taken from documentation, and the traverse files required hand-parsing because they are not quite GeoJSON. The result cross-checks against JPL's own odometry to within about 3%.

The audience is educators, museums and planetariums, space enthusiasts, and — commercially — any prospect who needs proof that ATS's mapping practice extends beyond Esri's Earth stack to arbitrary tiled data with bespoke measurement rules.

The experience

The app opens on the full disk of Mars at zoom 2, ochre and cratered, in a mission-control shell with Mars-rust accents. Two rover chips in the panel show the missions at a glance — Perseverance at sol 1913, Curiosity at sol 4950 — and the header ticks with the live Mars Sol Date and MTC.

Mission stats — traverse length among them — are computed on the fly with the app's own Mars haversine, and agree with JPL's published odometry to within roughly 3%.

The data — where it comes from

All sources are free and public; the rover data is bundled, so the tiles are the only runtime dependency.

SourceWhat it providesRefreshCostAttribution
OpenPlanetaryMap Mars basemap v0.2 (CARTO-served XYZ tiles)Global Mars basemap: NASA MOLA shaded relief + Viking mosaic; native detail to ~z8, usable through z10Static published tile setFree (public)Credit OpenPlanetaryMap; underlying data NASA
NASA/JPL MMGIS — Mars 2020 localization (bundled m20_path.json)Perseverance: 172 waypoints plus traverse line, through sol 1913Bundled snapshot; refreshed by re-downloading from MMGISFree (public)NASA/JPL
NASA/JPL MMGIS — MSL localization (bundled msl_path.json)Curiosity: 153 waypoints plus traverse line, through sol 4950Bundled snapshot, as aboveFree (public)NASA/JPL
Allison & McEwen (2000) areocentric solar coordinatesAlgorithm for the live Mars Sol Date + MTC clock (computed client-side; not a service)Continuous, client-sideFreeCite Allison, M. & McEwen, M. (2000)

How it was assembled

The application is a fully static single-page app — no backend, no database, no server-side rendering. The stack: TypeScript, ArcGIS Maps SDK for JavaScript 5.0.x, Calcite Design System 5.0.x, and Vite 8.

Module map — the codebase is small and deliberate; each file owns one concern:

Key engineering decisions