Using one
Name it as a source’s data, and style the layer as you would any GeoJSON. Parameters ride along as a query string.
"sources": {
"daylight": { "type": "geojson", "data": "internalfunc://day-night?refresh=auto" }
}
refresh=auto asks the layer to keep itself current as the wall clock runs — worth it for the ones that move visibly, wasted on the ones that are the same picture all year. Every computed layer is recomputed when the map’s clock jumps, refreshing or not. A url that pins its own moment with ?at= stops following the clock at all, which is how a story shows one instant while the rest of the map moves.
21 layers, listed as the build that made this page has them.
Sun
Where the sun is, and what that does to the day.
Day and night day-night
The bands of daylight, the three twilights and night, as they stand at the moment shown. The terminator is the edge between the first two.
Polygons, one band per light level. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
id | Which band this is: sunset, civil, nautical, astronomical or night. | |
description | The band’s name, ready to show. | |
from | Sun altitude at the band’s bright edge. | degrees |
to | Sun altitude at its dark edge. | degrees |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://day-night?refresh=auto
Sun position sun-position
The subsolar point: the one place on Earth with the sun straight overhead.
A single point. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | What the point is. | |
declination | How far the sun stands north or south of the equator today. | degrees |
equationOfTime | How far a sundial runs ahead of or behind the clock. | minutes |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://sun-position?refresh=auto
Sun path sun-path
The track the subsolar point takes, a line per day — the figure that makes the sun’s yearly north–south swing one picture instead of a moving dot.
Lines, one per day drawn. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
span | How wide a window to draw: day (just today), half-year (91 days either side of at), solstice-to-solstice (the half-cycle at sits in — snaps to the nearest solstices), or year (the calendar year at falls in). Left out: solstice-to-solstice. |
step | Degrees between points along each line. |
year | Replaces at’s year (as 1 July), independent of span — pair with span=year for the whole calendar year. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
date | The day this line is the sun’s track for. | YYYY-MM-DD |
month | Its month, for colouring by season. | 1–12 |
declination | The sun’s declination that day. | degrees |
solstice | june or december on the two extreme days, otherwise absent. |
internalfunc://sun-path
Day length day-length
Where the day is a given number of hours long today — the polar-night and midnight-sun lines are the 0 and 24 hour cases.
Lines, one per hour value. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
hours | Comma-separated hour values to draw. Left out: a standard spread. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
hours | How long the day is anywhere on this line. | hours |
description | The same, in words. | |
date | The day it applies to — these lines move all year. | YYYY-MM-DD |
internalfunc://day-length?hours=0,6,12,18,24
Solar time solar-time
The meridians where the sun stands at each whole hour of local solar time — noon is the one under the sun.
Lines, one per hour. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
solarHour | The local solar hour along this meridian. | 0–23 |
noon | True for the meridian directly under the sun. | |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://solar-time?refresh=auto
Analemma analemma
The figure-of-eight the sun traces when seen at the same clock time all year — the shape that shows a clock and the sun keep different time.
A line, with points for the days. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
year | Which year to trace. Left out: the year of the current moment. |
hour | The UTC hour to sample each day at. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | What this point is: the sun’s place at that clock time on that date. | |
date | The day. | YYYY-MM-DD |
dayOfYear | Its number in the year, for animating along the figure. | 1–366 |
year | The year traced. | |
hourUtc | The clock hour the sun was sampled at. | UTC hour |
longitude | Where the sun stood. | degrees |
latitude | Where the sun stood. | degrees |
equationOfTimeMinutes | The east–west half of the figure, which is what the equation of time measures. | minutes |
today | True on the day the map is showing. |
internalfunc://analemma?year=2026&hour=12
Moon
Where the moon is, how much of it is lit, and who can see it.
Moon position moon-position
The sublunar point: where the moon stands directly overhead.
A single point. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | What the point is. | |
phase | Where the moon is in its cycle. | 0–1 |
phaseName | That phase in words. | |
illumination | How much of the disc is lit. | 0–1 |
distanceKm | How far away the moon is now — it varies by some 40 000 km. | km |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://moon-position?refresh=auto
Moon phase moon-phase
The moon drawn as a disc, its lit part shaded and turned to face the sun. Without an observer the turn follows the ground bearing to the sun — a fact about geometry, the same everywhere. With one, it is a view: the same moon tilts to whatever that place’s horizon does to it, so the identical crescent stands upright for one observer and lies nearly on its back for another at the same moment. Demoed with observer={click}, so clicking the map moves the observer and visibly rotates the crescent — that is the tilt changing, not the moon.
Polygons — the disc and its lit part, plus the observer’s horizon and position once an observer is given. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
radius | Radius of the disc, in degrees. |
observer | A lon,lat to draw the phase as seen from there, tilted to that place’s horizon — {click} follows the last place clicked on the map, with any tool active, so this layer needs no tool of its own. Left out: drawn by the ground bearing to the sun, the same from anywhere. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
id | disc for the whole moon, lit for the sunlit part — or horizon/observer for the two extra shapes an observer adds. | |
description | What the shape is. | |
phase | Where the moon is in its cycle — the same for every shape, since it is a fact about the moon, not about who is looking. | 0–1 |
phaseName | That phase in words. | |
illumination | How much of the disc is lit. | 0–1 |
timestamp | The moment the layer was computed for. | ISO 8601 |
observerLon | The observer’s longitude — only present once one is given. | degrees |
observerLat | The observer’s latitude — only present once one is given. | degrees |
tilt | How far the lit side is turned from straight up, as that observer sees it — the number that changes when you click elsewhere. Only present with an observer. | degrees |
altitude | How high the moon stands above that observer’s horizon. Only present with an observer. | degrees |
sunAltitude | How high the sun stands there, which is what daylight and belowHorizon are read from. Only present with an observer. | degrees |
belowHorizon | True if the moon is under that observer’s feet — the disc is still drawn, but nobody there can see it. Only present with an observer. | |
daylight | True where the sun is up for that observer. Only present with an observer. | |
nearZenith | True where the moon stands almost directly overhead, where a tilt stops meaning much. Only present with an observer. |
internalfunc://moon-phase?radius=7&observer={click}
Moon visibility moon-visibility
The half of the world with the moon above the horizon at this moment.
A polygon. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | What the band is. | |
phaseName | The phase those people can see. | |
illumination | How much of it is lit. | 0–1 |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://moon-visibility?refresh=auto
Moon in the sky moon-in-sky
The same moon at a row of latitudes on one meridian, each disc turned the way an observer standing there sees it — which is how the crescent comes to lie on its back at the equator and stand upright in the north. A row is drawn only where the moon is above that observer’s horizon: pin lon to a fixed meridian and the moon can be below the horizon at every one of the sampled latitudes at once — measured, for one full day at a fixed meridian, empty for 29% of the hours — which reads as nothing rendering rather than as night. Left unpinned, the meridian is chosen fresh each moment for where the moon has the best chance of being seen, which is what the demo does.
Polygons, one moon per latitude. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
lon | Meridian to place the row on. Pinning it can leave the moon below the horizon at every sampled latitude at once, for hours at a time — the layer is not empty, that meridian just has no view of the moon right then. Left out: chosen fresh each moment for the best chance of a visible moon somewhere on it. |
from | Southernmost latitude. |
to | Northernmost latitude. |
step | Degrees of latitude between discs. |
radius | Radius of each disc, in degrees. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
latitude | The latitude this moon is drawn for. | degrees |
longitude | The meridian the row stands on. | degrees |
tilt | How far the lit side is turned from up, as seen from there — the reason the crescent lies on its back at the equator. | degrees |
altitude | How high the moon stands above the horizon there. | degrees |
sunAltitude | How high the sun stands, which decides whether the moon is visible. | degrees |
daylight | True where the sun is up. | |
nearZenith | True where the moon is nearly overhead, where "turned" stops meaning much. | |
illumination | How much of the disc is lit. | 0–1 |
phaseName | The phase in words. | |
id | disc, lit or the horizon marker. | |
description | What the shape is. | |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://moon-in-sky?from=-60&to=60&step=15
Moon path moon-path
The track of the sublunar point over a month, which turns the moon’s north–south swing into one picture.
Lines. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
days | How many days to trace. Left out: one orbit, 27.32 days. |
step | Hours between points. Left out: 1 hour. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | What the track is. | |
days | How many days it covers. | days |
northernmost | The furthest north the moon gets in this stretch. | degrees |
southernmost | The furthest south. | degrees |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://moon-path?days=27.32&step=1
Tides
The pull that raises the ocean, not the tide a harbour measures.
Equilibrium tide equilibrium-tide
The shape the ocean would take if water could keep up with the moon and the sun — two bulges, one under the moon and one opposite. It is the forcing, not a tide table: real tides lag it by hours and are shaped by coastlines.
Lines at each level, and points at the extremes. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
levels | Comma-separated metre levels to contour. |
step | Degrees between sample points. |
extremes | no to leave out the high and low points. |
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
id | low, high, or the level for a contour. | |
description | The level in words. | |
metres | The height of this contour above mean level. | m |
springFactor | How close this moment is to spring tide: 1 at full alignment. | 0–1 |
phase | The moon’s phase now. | 0–1 |
phaseName | That phase in words. | |
lunarAmplitude | The moon’s share of the bulge. | m |
solarAmplitude | The sun’s share, about half the moon’s. | m |
timestamp | The moment the layer was computed for. | ISO 8601 |
internalfunc://equilibrium-tide?levels=-0.2,0,0.3&refresh=auto
Lines on the Earth
The grid and the circles a map is drawn against.
Graticule graticule
Meridians and parallels: the grid a projection is drawn against, and the quickest way to see what a projection does to it.
Lines. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
spacing | Degrees between lines. Left out: 10. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
kind | meridian or parallel. | |
degrees | Its longitude or latitude. | degrees |
label | Ready to draw: 180° W, 45° N. |
internalfunc://graticule?spacing=15
Reference circles reference-circles
Equator, tropics and polar circles. The tropics and polar circles move with the Earth’s tilt, so they are computed for the moment shown rather than fixed at 23.5°.
Lines. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
at | An ISO instant to pin this layer to, so a time slider leaves it alone. Left out: the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
id | equator, tropic-cancer, tropic-capricorn, arctic or antarctic. | |
description | Its name. | |
latitude | Where it lies today — the tropics and polar circles move with the tilt. | degrees |
axialTilt | The Earth’s tilt on this date, which is what puts them there. | degrees |
date | The date that tilt is for. | YYYY-MM-DD |
internalfunc://reference-circles
What a projection does
Shapes whose true size is known, so the distortion becomes visible.
Tissot’s indicatrix tissot
Circles of equal ground radius, placed on a grid. Every one is a circle on the globe, so whatever the projection does to them is what it does to shape and area everywhere.
Polygons. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
spacing | Degrees between circles. |
radius | Ground radius of each circle, in kilometres. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
centre | Where the circle sits. | [lon, lat] |
radiusKm | Its true radius on the ground — every circle has the same one. | km |
description | Radius and position in words. |
internalfunc://tissot?spacing=30&radius=500
Distance and direction
Spherical geometry about a place: how far, which way, and what is opposite.
Range rings range-rings
Circles of equal ground distance around a place — true circles on the globe, so a projection bends them exactly as much as it distorts.
Polygons. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
at | Centre, as lon,lat. Left out: 5,52. |
radii | Comma-separated radii in kilometres. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
radiusKm | How far from the centre this ring is. | km |
centre | The place the rings are drawn about. | [lon, lat] |
description | The radius in words. |
internalfunc://range-rings?at=4.9,52.4&radii=500,1000,2000
Great circle great-circle
The shortest path between two places on the globe — the line that looks bent on a Mercator map and is not.
A line. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
from | Start, as lon,lat. Left out: 4.9,52.4. |
to | End, as lon,lat. Left out: 139.7,35.7. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | What the line is. | |
distanceKm | The distance along it — the number the picture cannot show. | km |
from | Start. | [lon, lat] |
to | End. | [lon, lat] |
internalfunc://great-circle?from=4.9,52.4&to=139.7,35.7
Antipode antipode
The point on the exact other side of the Earth from a place.
A single point. The same picture whatever the moment.
| Parameter | What it does |
|---|---|
at | The place, as lon,lat. Left out: 5,52. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
description | Here or the antipode. | |
role | origin or antipode, for styling the pair differently. |
internalfunc://antipode?at=5,52
Grids defined by rules
Zone systems that are a definition rather than a survey.
UTM zones utm-zones
The 60 UTM zones, including the widened and split ones off Norway and Svalbard that the rule alone does not give you.
Polygons. The same picture whatever the moment.
No parameters.
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
designation | Zone and latitude band, as a grid reference gives it: 31U. | |
zone | The zone number. | 1–60 |
band | The latitude band letter. | C–X |
epsg | The EPSG code to project this zone in — the practical answer, invisible on the map. | |
centralMeridian | The meridian the zone is measured from. | degrees |
exception | Names the widened or split zones off Norway and Svalbard; null elsewhere. |
internalfunc://utm-zones
Deep time
The world at an age, reconstructed from plate motions.
Palaeo coastlines paleo-coastlines
Today’s coastlines carried back to a chosen age on the plates they ride. Rigid rotation: crust since shortened or stretched is not shown, so continents meet later here than the rocks say.
Polygons. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
data | Directory of the rotation model, resolved against the config. |
ma | Millions of years ago — {ma} follows the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
plateId | Which plate this piece rides on, in the model’s numbering. | |
continent | The continent it belongs to today. | |
fromAge | The oldest age the model reconstructs this piece for. | Ma |
ma | The age it is drawn at. | Ma |
internalfunc://paleo-coastlines?data=data/paleo/merdith2021&ma={ma}
Palaeo plate boundaries paleo-plates
Plate boundaries and deforming networks at a chosen age. Snapshots rather than a reconstruction: boundaries are born, die and change in number, so there is nothing to interpolate between two ages.
Lines and polygons. Redrawn whenever the map’s clock moves.
| Parameter | What it does |
|---|---|
data | Directory of the plate snapshots, resolved against the config. |
ma | Millions of years ago — {ma} follows the map’s clock. |
Every feature carries:
| Attribute | What it holds | Unit |
|---|---|---|
ma | The age this snapshot is for. | Ma |
type | The GPlates feature type, e.g. a topological closed plate boundary. | |
name | The plate or network’s name. | |
pid | Its plate id in the model. | |
deforming | True for a deforming network — crust being squeezed rather than a rigid plate. |
internalfunc://paleo-plates?data=data/paleo/muller2019/plates&ma={ma}