geoprimsField-grade geospatial math

Mapping light window

The part of a day when the sun is above an elevation threshold (default 30°) for aerial mapping, in local time and Zulu, with the day's highest sun.

from 08:23to 17:40

The sun is high enough from 08:23 to 17:40.

Start
End
Duration
Highest sun
Provenance
Computed by
time.sun.mapping-window 1.0.0, core 0.1.0
Model
Times the geometric sun (NREL SPA) crosses the threshold, by bisection between the day's highest and lowest points; the highest sun and the path are the same SPA sun, apparent (refracted), every 20 minutes of local clock time
Accuracy
About 1 minute
Notes
None
Cites
Reda, I., and Andreas, A., National Renewable Energy Laboratory, Solar Position Algorithm for Solar Radiation Applications (NREL/TP-560-34302); NOAA Global Monitoring Laboratory, NOAA Solar Calculator: General Solar Position Calculations

Something look off?

Your values

Showing an example. Change anything.
Run many at once from a CSV

Loading…

NESW13:00 · 74°Above 30° from 08:23 to 17:40 · 9 h 17 min
How we got thisFormula, worked example, sources, and proof

Model: Times the geometric sun (NREL SPA) crosses the threshold, by bisection between the day's highest and lowest points; the highest sun and the path are the same SPA sun, apparent (refracted), every 20 minutes of local clock time

Show your work

  1. Highest the sun gets

    the sun's elevation at solar noon, the best it will be all day

    at 39.7392°, -104.9903° on this date = 73.7°

  2. Threshold

    the elevation you asked for, below which shadows grow long

    30° wanted against 73.7° available = 30°

  3. Window

    the time between the sun rising past that elevation and falling back

    above 30° at 39.7392°, -104.9903° = from 08:23 to 17:40

The same steps an agent gets from the MCP server with explain: true.

Accuracy: About 1 minute

When to use this: Use this to plan an aerial mapping sortie: it says when the sun is above the elevation your workflow wants -- 30 degrees by default, which is common vendor guidance -- in local time and Zulu, with the day's highest sun and the whole arc it sits on.

Limitations: The threshold is compared against the geometric sun, where it actually is, because a shadow is cast by geometry; the elevation reported is the apparent one an observer sees, and the two differ by about 0.02 degrees at 30 degrees up. Times are good to about a minute. A high threshold in winter or at latitude gives no window at all, and a low one in polar summer gives all day; both are answers, not failures. And sun elevation is one input to image quality among several -- haze, cloud, wind and the surface itself are not modelled here.

Worked example: A Denver site on 2026-06-21 at 30°. Source: add-practitioner-essentials mapping-window scenario.

You enter

Local date
2026-06-21
Latitude
39.7392 deg
Longitude
-104.9903 deg
Time zone or UTC offset
-06:00
Minimum sun elevation
30 deg

You get

Window
from 08:23 to 17:40
Start
2026-06-21 08:23 local (2026-06-21 1423Z)
End
2026-06-21 17:40 local (2026-06-21 2340Z)
Duration
9 h 17 min
Highest sun
73.7°

Review: Not yet independently reviewed by a geodesist.

Last verified: 2026-09-18, when a maintainer last confirmed this tool's sources at the issuer. See the sources ledger.

Status: version 1.0.0, core 0.1.0. See this tool in the verification report.

Changes

Checked against: 21 golden test vectors (download the test vectors, each with its source and tolerance). See how results are checked and every source.

Sources

Terms

UTC: Coordinated Universal Time
The world's civil time standard, kept within 0.9 s of Earth's rotation by leap seconds. Aviation calls it Zulu time, written with a Z. Source: IERS Bulletin C (leap seconds)