All field guides
DISCIPLINES

GEOINT — Geolocation from Imagery

Pinning a photo or video to a real-world location using landmarks, shadows, and metadata.

Advanced14 min readdisciplinesgeolocationimagery

GEOINT is the art of answering "where was this taken?" from the image itself. It is equal parts observation and patience, and it is the discipline behind most viral "we found the exact spot" investigations.

The chronolocation workflow

  1. 1Reverse-search first. The image may already be located by someone else — use that as a hypothesis, not a conclusion.
  2. 2Read for region: language on signs, driving side, licence plates, utility markings, vegetation, architecture.
  3. 3Read for landmark: distinctive buildings, bridges, mountains, signage, brand logos.
  4. 4Read for precise position: match the camera angle against satellite and street-level imagery until the geometry locks.
  5. 5Chronolocate: use shadow length and direction, weather archives, and dated imagery to establish when.
Shadows are a clock

A shadow's direction gives you a compass bearing; its length relative to the object gives you a rough time of day for that latitude and season. Free solar-position calculators turn this into a precise window.

Tools of the trade

  • Satellite basemaps: Google Earth, Bing, Sentinel/Landsat for terrain and change over time.
  • Street-level: Google Street View, Mapillary, KartaView.
  • Terrain: peak-finder apps to match ridgelines against photos.
  • Sun/shadow: any solar-position calculator with a map picker.
Confidence, always

State how sure you are and why. "The blue sign, the tram livery, and the mountain profile place this on Tram Line 2 in Lisbon, facing north-east" beats "looks like Lisbon".

Chronolocation: turning a photo into a time

Once you have a location, the photo often tells you when. Shadows are the workhorse: the azimuth gives a compass bearing to the sun, and the length ratio gives an elevation angle. Invert that for the latitude and you narrow the hour, then the season.

# Shadow geometry sketch
sun_azimuth_deg  = atan2(dx, dy) * 180/PI      # bearing of the shadow
sun_elevation    = atan(object_height / shadow_len) * 180/PI
# feed latitude + elevation + azimuth into any solar-position calculator
# to bracket the date and time; cross-check with weather archives.
Worked exampleLocating an anonymous protest photo

A photo claims to show a protest "last week" but has no caption, no geotag, and clipped EXIF.

Method · Region from the language on the signs and the traffic-light design. Landmark match: a distinctive clock tower in the background, confirmed against satellite and street-level imagery. Sun: the low, hard shadow from the left fixes the subject on the east side of the plaza around mid-morning. Weather archives confirm a rain-free morning that matches only one day in the claimed window.

Result · Exact plaza, camera facing west, captured on a specific morning four days before the post. Reported as "confirmed location; time narrowed to a two-hour window, high confidence".

Beware the edited sky

Sun, shadows, and weather must be internally consistent. If the shadow contradicts the visible sun position, or the reflection does not match the scene, treat the image as composited until proven otherwise.

GEOINT verification checklist
Progress is saved on this device only.