Planetary Modeling Atlas v20

Pick a world on the map or below. Drag to turn, scroll or pinch to zoom, click a site to fly to it. ✋ Hand control opens a full-screen view; in the Solar System it points and lands, on a globe it also zooms.

Generated with AI. Built with Claude from the published data listed under each world's sources. Not independently reviewed, so check any number you rely on against the original source.

Solar System

Click a planet or moon to fly to it. Double-click it, or press Land on globe, to land on it. Scrolling only zooms. Drag to turn, scroll or pinch to zoom.

––

Planet orbits and positions come from JPL's approximate orbital elements (Standish): Table 1 for 1800–2050, and Table 2, with its extra terms for the giant planets, from 3000 BC to AD 3000. JPL gives the Table 2 errors in longitude as about 20″ for Mercury up to 40′ for Uranus. The planets can't be placed this way before 3000 BC: the Solar System is chaotic, so it takes a full numerical integration, and exact positions are lost entirely after tens of millions of years. Dates use the proleptic Gregorian calendar, and 1 BC is followed by AD 1. Pluto, Ceres and Vesta use single-epoch elements, so their positions are approximate, more so far from today. Moon orbits are drawn as circles at their true sizes, tilted by each planet's axial tilt as an approximation of the real planes; their positions along the orbit are illustrative. Body sizes are not to scale.

Choose which worlds to show

–

Under the pointer

Sites

Sites with local values

Load another planet

Everything here stays in your browser. You can open a planet pack, build a new world from map images, or add a layer or sites to the world on screen.

Open a planet pack

A .json pack in the format described below, such as one saved from this page.

Build from map images

Use any global map in simple cylindrical (equirectangular) form, twice as wide as tall: a greyscale height map, a colour mosaic, or both.

Add a layer to this world

Load worlds from the web

Point this page at a public folder holding index.json and the world files, for example a GitHub repo served through jsDelivr.

Live Earth data

Where Earth’s ✈ Live flights and 🛰 Satellites switches get their data. Flights: an address returning OpenSky-style JSON ({"states":[…]}) or readsb-style JSON ({"ac":[…]}, as used by adsb.lol, adsb.fi and airplanes.live). Satellites: an address returning two- or three-line elements (TLE text); {group} becomes the group picked on the globe. Your own copy or a proxy works if it allows cross-site reads (CORS).

Add sites to this world

CSV with a header row: name,lat,lon,category,note. Latitude and longitude in degrees, east positive. Category is free text.

Planet pack format
{
  "id": "venus", "name": "Venus", "kind": "Planet", "radiusKm": 6051.8, "refLabel": "6051 km sphere",
  "blurb": "One or two sentences shown under the name.",
  "grids": [{                       // gridded maps: int16, little-endian, base64
    "id": "topo", "label": "Topography", "unit": "m", "elev": true,   // elev: sets the relief
    "rows": 721, "cols": 1440,      // rows 90°N→90°S inclusive, cols from 0°E eastward
    "scale": 1,                     // value = stored integer × scale
    "ramp": "hyps",                 // hyps | earth | div (zero-centred) | seq | grey
    "min": -8000, "max": 10000, "ticks": [-8000, 0, 10000], "note": "…", "b64": "…" }],
  "images": [{ "id": "c", "label": "Visible colour", "note": "…",
    "src": "data:image/jpeg;base64,…" }],          // equirectangular, 180°W at the left
  "shade": "data:image/jpeg;base64,…",               // optional relief shading, same layout
  "categories": { "land": { "label": "Lander", "shape": "dot", "color": "#6aa8ea" } },  // dot|diamond|cross|ring
  "alwaysLabel": ["land"],
  "sites": [{ "name": "Venera 13", "who": "USSR", "date": "1982-03-01", "cat": "land",
    "lat": -7.08, "lon": 303.0, "note": "…" }],
  "features": [["Maxwell Montes", 65.2, 3.3]],
  "points": [{ "id": "q", "label": "Quakes", "on": false, "color": "#6aa8ea",
    "classes": { "deep": ["Deep quake", "#6aa8ea"] }, "ring": false,
    "items": [["A1", -15.7, -36.6, "deep", "867 km deep", 0]] }],   // last: diameter km, drawn when ring is true
  "views": [["Ishtar", 60, 20, 3.9]],              // name, lat, lon, distance in globe radii
  "sources": [["Citation text", "https://…"]]
}

About this world's maps

    Sources