The Martian
Compute, represent, and measure an estimation of the path followed by Mark Watney in the book The Martian, when traveling from the Ares 3 HAB to the Ares 4 MAV.
All positions in this example refer to positions on Mars. That can be specified explicitly in GeoPosition, or later through the GeoModel option.
These are estimations of the positions of the Ares 3 and 4 landings.

ares3 = GeoPosition[{31.2, -28.5}, "Mars"];
ares4 = GeoPosition[{-4.32, 15.28}, "Mars"];
Therefore, this is the first approximation to Mark's trip across Mars.

GeoGraphics[{Orange, Thick, Arrow@GeoPath[{ares3, ares4}]},
GeoRange -> All, GeoProjection -> "Orthographic",
Background -> Black]

From the Ares 3 HAB, Mark follows a water-carved valley called Mawrth Vallis.

mawrthVallis = GeoPosition[CompressedData["
1:eJxTTMoPSmViYGCQAGIQLd/6OnCHnJXDN42Y/kOlxgdsua4vLvhr6QAkbbnE
jQ8wgMABS4d17g+rRNYZHZg1EwgiLaHqjQ5wgRVaOhz+ChRwMoKqt3BYAhS9
rmx0AKTLPdHCoRBksIHRgf5DQIX8Fg4iIANDjA5oAo35usLcAaLO6EDQDjmg
ixD8s2eAgMccrj4NBJ6Zwc0DK99h5vAmEMQyPACmV5s5gN3RYAixf6GZA8Re
wwNgdzbB5A0OGINAsZkDxB8GEPf5m0H8H64P9Z8ZxH+H9CDqN5tC/at3AOIu
U0h4fNWF2Kdo6uABYhzXhaj/bAL1jy5E/RUTB3A4ztQ5AAD2PaQO
"]];

GeoGraphics[{Thick, Orange, Arrow@GeoPath[mawrthVallis]},
GeoModel -> "Mars", GeoRangePadding -> Quantity[100, "Miles"]]

Then Mark passes between the Trouvelot and Rutherford craters.

GeoPosition /@ {Entity["SolarSystemFeature", "TrouvelotMars"],
Entity["SolarSystemFeature", "RutherfordMars"]}


rtCraters = GeoPosition[{17.52, -11.91}, "Mars"];
And then he travels to the Marth Crater.

marthCrater = GeoPosition[Entity["SolarSystemFeature", "MarthMars"]]

From there he travels 540 kilometers south.

pos540S =
GeoDestination[marthCrater,
GeoDisplacement[{Quantity[540, "Kilometers"], "South"}]]

And finally, he gets close to the Schiaparelli Crater.

schiaparelliCrater = GeoPosition[{-0.16, 14.38}, "Mars"]


geopath =
GeoPath[{{ares3, mawrthVallis[[1, 1]]},
mawrthVallis, {mawrthVallis[[1, -1]], rtCraters, marthCrater,
pos540S, schiaparelliCrater, ares4}}];
This geo path has the following length on the surface of Mars.

GeoLength[geopath, GeoModel -> "Mars"]

Finally, add a number of places mentioned in the book, with respective labels.

labeled[pos_, label_, offset_: {Left, Bottom}] := {Point[pos],
Text[Style[label, Directive[12, Italic, White]], pos, offset]}

points = labeled @@@
Join[EntityValue[{Entity["SolarSystemFeature", "ArabiaTerraMars"],
Entity["DeepSpaceProbe", "MarsPathfinder"],
Entity["DeepSpaceProbe", "MERDashBOpportunityRover"],
Entity["SolarSystemFeature", "TerraMeridianiMars"],
Entity["SolarSystemFeature", "RutherfordMars"],
Entity["SolarSystemFeature", "BecquerelMars"],
Entity["SolarSystemFeature", "TrouvelotMars"],
Entity["SolarSystemFeature", "MarthMars"]}, {"Position",
"Name"}], {
{ares3, "Ares 3 HAB"}, {ares4, "Ares 4 MAV", {Right, Bottom}}}];
This is the final map of the trip.

GeoGraphics[{Orange, Thick, geopath, PointSize[Large], points},
GeoModel -> "Mars"]
