ZeroTrace OSINT
Sun & Shadow Solver
Solar-position math for narrowing a photo's latitude band from timestamp and observed sun bearing or shadow length.
The sun and shadow solver applies the standard solar-position algorithm to a photo's date and time, returning the latitude band where the sun would have the observed properties at that time.
It is the classic OSINT geolocation trick — photo timestamp + sun position constrains location — automated.
Two modes
| Mode | Inputs | Output |
|---|---|---|
| Bearing mode | Date / time (with timezone), latitude band guess, observed sun bearing | Latitude band where the sun has the observed bearing at the observed time |
| Shadow-ratio mode | Date / time (with timezone), two known-distance landmarks, their shadow lengths | Latitude that satisfies the shadow-length ratio |
Both modes return a band, not a point — the math constrains latitude tightly but longitude only weakly (and longitude can usually be narrowed by other clues).
Bearing mode
Inputs:
- Date and time — typically from the photo's EXIF timestamp.
- Timezone — important because the sun position depends on local solar time.
- Approximate latitude band — your starting guess (Northern hemisphere / Southern / equatorial).
- Observed sun bearing — degrees from north (0 = north, 90 = east, 180 = south, 270 = west).
The tool computes where on Earth the sun would have that bearing at the given UTC time, then returns the candidate latitude band.
For most cases, the result narrows latitude to within a few hundred kilometres — enough to rule out continents, often enough to identify a country.
Shadow-ratio mode
Inputs:
- Date and time — from the photo's EXIF.
- Timezone.
- Two known landmarks in the photo whose physical distance you can estimate (e.g., the height of a flagpole, the spacing of two lampposts).
- Their shadow lengths in the same units.
The tool computes the sun's elevation angle implied by the shadow ratio, then finds the latitudes where that elevation angle is correct at the given time.
This mode is more precise than bearing mode when the inputs are accurate. The catch: estimating physical lengths from a photo is hard. Use it when one of the landmarks has a well-known size (a flagpole of standard height, a soccer goal of regulated width).
Output
| Field | Example |
|---|---|
| Latitude band | "Between 41° and 47° North" |
| Uncertainty | "± 3°" |
| Candidate cities | Five well-known cities within the latitude band, with their sunrise / sunset / azimuth at the time |
| Other constraints | Reminders of what the math does not constrain (longitude, hemisphere if not specified) |
The candidate-cities table is helpful for mapping the abstract latitude band to recognisable places. If your latitude band is "between 50° and 53° North" and the candidates include London, Brussels, Berlin, Warsaw, the band is "Northern Europe."
The sun and shadow solver does not "solve" a location — it constrains one dimension. Combine it with other clues from geo clues, reverse image, and aerial comparator to narrow further.
When to use it
- Image with a clear sun position and a reliable timestamp. The classic case. Outdoor photo with a visible sun direction and the camera's clock plausibly correct.
- Image with shadows and a reference object of known size. Less common but very precise when it applies.
- Cross-check against a candidate location. "I think this is in Berlin. Does the sun at this time on this date in Berlin produce shadows like the photo's?"
When not to use it
- Indoor photos. No sun signal.
- Photos at solar noon. Sun directly overhead — no bearing to measure.
- Polar latitudes in summer — sun above the horizon for long periods, low bearing variation.
- Polar latitudes in winter — sun below the horizon, no shadow at all.
Pivots
| Click on... | Pivot to |
|---|---|
| Latitude band | Aerial comparator (centred on the band's median) |
| Candidate city | Aerial comparator |
| Date / time | (no pivot — informational) |
Sources
The solar-position algorithm runs locally. No external sources are queried. The candidate-cities catalog is bundled with the application.