06 / Planetary geospatial software
Trace a Mars route back to its terrain, coordinates and cost model.
A measured DEM-to-suitability-to-routing workflow, with planetary transforms, georeferenced exports, and a global MOLA/CTX explorer.
MarsHab / MarsGIS · Verified terrain release and browser workflows
- reference grid cells
- 593 × 563
- reference grid spacing
- 20 m
- candidate routes
- 3
The problem
Terrain scores and routes are misleading when gradients use the wrong units, missing cells receive neutral scores, or path heuristics and exports use inconsistent coordinates.
My contribution
I repaired terrain calculations, common validity masks, Mars coordinate handling and A* routing, then added analytical fixtures, independent shortest-path comparisons, provenance manifests and a same-origin React/FastAPI application.
How it works
- Checksum-pinned NASA/USGS CTX DEM
- 20 m metric grid + common validity mask
- Terrain-only suitability + bounded routing
- GeoTIFF / Mars-coordinate GeoJSON / provenance
Decisions that shaped the release
- Use local metric coordinates for the Jezero comparison and spherical Mars distances for global routing. Do not silently mix MOLA and CTX datums.
- Keep suitability weights and terrain route penalties explicit. The score is relative to the region; route cost is a heuristic distance-equivalent, not rover energy.
- Preserve every route pixel and forbid diagonal corner cutting. Return explicit coverage and no-path failures rather than fabricated coordinates.
Measured results
The new independent checker reconstructed all 2,359,894 directed edges and matched each of the three archived route costs to Dijkstra within the declared float32-artifact tolerance. This establishes optimality on the serialized graph, not physical mobility. The reference was checked in place rather than regenerated, and the updated checker was not retested inside the earlier container budget.
Archived Jezero CTX reference artifact, verified by its original output checksums. Its manifest records an earlier dirty source revision; the reviewed current revision is identified separately in the evidence download. The patched 0.1.1 local release separately passed a new server calculation and artifact-download checks under its 1 GiB profile; no deployment is implied.
| Candidate | Route length | Straight distance | Terrain cost |
|---|---|---|---|
| 1 | 11510.9 m | 9623.2 m | 27898.5 m-equivalent |
| 2 | 18000.7 m | 15174.6 m | 35873.3 m-equivalent |
| 3 | 10036.4 m | 8383.5 m | 25936.6 m-equivalent |
A failure worth inspecting
A shorter route can be more costly under the declared terrain penalty.
For candidate 1, the terrain-aware route costs 27,898.5 m-equivalent, versus 33,654.3 for the distance-only route. This is an inspectable algorithmic tradeoff under the chosen penalty, rather than a physical energy prediction. Barrier and no-path controls test fail-closed behavior.
{
"candidate_rank": 1,
"terrain_route_cost_m_equivalent": 27898.49477515784,
"distance_only_route_cost_m_equivalent": 33654.316053606744,
"cost_is_physical_energy": false
}
Working artifacts
Limits and next questions
- Terrain-only illustrative candidate cells. No habitat safety, soil strength, ice, dust, solar power, mission economics or rover-energy validation is claimed.
- Global MOLA cells are about 3.7 km at the equator; they cannot resolve local hazards. CTX is used only within available detailed coverage.
- GeoJSON coordinates describe Mars and require a planetary-aware viewer; they are not Earth RFC 7946 WGS84 coordinates.
- Actual Chromium checks verified map/keyboard routing, CTX and MOLA source labels, WebGL camera controls, route downloads, stale-response rejection and useful WebGL fallback. Live availability is time-specific.
- Implementation is public. This case study includes measured artifacts and metadata. Scientific artifact provenance is retained alongside the source.
- A warm 512 MiB / two-CPU local run peaked at 343 MiB after a verifier allocation fix. The unchanged free host also completed the full workflow. These observed runs are no general capacity guarantee.
- The live release backend fingerprint and both source checksums matched. Public CTX/MOLA routing, keyboard entry, WebGL orbit/reset and the route download passed. The free service can sleep; availability is time-specific.
Inspect the evidence
New browser acceptance and pinned source revisions (JSON)
New local verification summary (JSON) · Verification supplement (ZIP)
Compact evidence packet (ZIP) · Versioned evidence handoff (JSON)
Scientific packets preserve their original measured revisions. New browser acceptance is recorded separately in the public project repository.
Download sanitized evidence (JSON) · SHA256
Public implementation on GitHub
Reference routes in Mars coordinates (GeoJSON)
Open the verified Mars explorer
Software controls, development-set measurements and model quality retain separate denominators. Verification dates and source revisions are recorded in the evidence download. Browser acceptance covers the application workflow and does not add scientific validation.