In pursuit of shadows: image geolocation using the Shadow Finder Tool

GEOINT often takes a lot of time, researchers spend hours viewing photos, studying satellite images, and viewing street views.

But, relatively recently, a tool has appeared that allows you to narrow the search area — Shadow Finder (using the height of the object and the length of its shadow (or the angle to the sun), as well as the date and time, this code estimates the possible location of the shadow)

How can shadows help?

As many GEOINT researchers know, shadows in images can provide extremely useful clues about when and where an image was taken.

By comparing the height of an object with the length of its shadow, you can find out how high the sun is in the sky. At any given time on Earth, there is one point where the sun is directly overhead, called the subsolar point.

At this point, a vertical stick does not cast a shadow. If you move away from this point, the sun will appear lower in the sky the further you move away from it. When the sun is lower in the sky, the shadow of a vertical stick becomes longer.

The distance from the subsolar point determines how high the sun is in the sky.

— At any given time on Earth, there is always a ring of places where the sun is at the same angle above the horizon.


Image of shadows on a city street used for geolocation using the Shadow Finder Tool.

If you know the date and time of the shooting and can accurately measure the height of the object and the length of its shadow, you can determine the ring of possible locations where the picture was taken.

Tools like SunCalc allow you to manually check the length of the shadow in specific locations.

The Shadow Finder Tool eliminates the need for manual verification and allows you to search the entire Earth's surface with the click of a button.

Practical Application: Shore

First, you need to determine the date and time of the shooting. There may be a clock in the frame or useful metadata contained in the file (use tools like Metadata2go or EXIFmeta to check them).

It is not always possible to determine the date and time, and the metadata may not always be accurate, so keep this in mind before moving on.

In this case, the image of the sandy beach is a live broadcast shot, so we know exactly when it was taken: 2024-07-10 at 10:30:46 UTC.

You can enter the time in UTC (Coordinated Universal Time) or in local time. It doesn't matter if you don't know the time zone. If you use local time, the tool will convert the time to the local time zone for each location. Because of this, you will not get a nice ring if you use local time, but the principle is the same.

Determining the Object for Measurement

Once you have confirmed the date and time, identify a clear, visible object and shadow in the image.

Measure the height of the object and the length of its shadow. Sometimes you will be able to measure the object and shadow directly on the image. Keep in mind that you may need to adjust the measurements depending on the perspective of the image. Ideally, the object you are measuring should be at a right angle to the camera.

For more information on measuring objects in an image and how to deal with perspective issues, you can read this Bellingcat guide.

In our example, let's focus on the beach shower. Larger shadows are visible in the image, but this object is positioned vertically and has a clear shadow.

Additionally, the shadow falls on an almost flat surface (we see standing water from the beach shower, so any slope is minimal). If the object is vertical and the surface is flat, this makes measurements easier.

From the camera's perspective, the shadow is almost at a right angle to the object, so any distortions in measurement will be minimal. This allows us to measure the image directly.


Shadows of cars in a parking lot used for geolocation using the Shadow Finder Tool.

Using an image editor (such as GIMP) or a ruler, measure the object and the shadow.

In our image, we see that the height of the object is 273 pixels, and the length of the shadow is 104 pixels. It doesn't matter what units you measure in (you can use millimeters or inches) because we are interested in the ratio between these two measurements.

If you measure both the object and the shadow in the same units, the Bellingcat shadow finder tool will work.

Now, with the height measurement results and the date and time data at hand, open the Shadow Finder tool

Enter the height of the object and the length of the shadow, as well as the date and time, and click "▶" to run the tool.

The tool will start (be patient, the first run may take some time to load) and create a map.


Shadows of people on the sidewalk helping to determine the location using the Shadow Finder Tool.

Shadows of street lamps and benches used for geolocation using the Shadow Finder Tool.

On the map, there is a yellow ring indicating the probable location of our seaside photo.

Upon closer examination of the map, we see that the ring includes several areas that are not coastal and only a few areas with a coastline, further narrowing the search area.

In this case, the beach is most likely located on the coast of Algeria, Italy, Croatia, Yemen, Somalia, or Djibouti.

This list still includes several countries, but we have already ruled out many places around the world. We know that searching in Portugal, South Africa, or India would be a waste of time. Now we can return to the image and use other clues to further narrow down the search area.

What can affect measurements?

There are many ways to measure objects and shadows in images, some of which are more reliable than others.

— Below are the ideal conditions for obtaining the best results using the "Shadow Finder" tool:

1. The time and date of the shooting must be known
2. The object and its shadow should be approximately at a right angle to the camera
3. The shadow should be cast on a surface that is level with the horizon (flat ground)
4. The image should not be heavily distorted by the camera lens (as in the case of a "fish-eye" lens).

Advanced Geolocation: Recasting

If you have multiple shots taken at different times, you can further narrow down the location using the Shadow Finder Tool. Here is another image taken during the same broadcast the next day, a few hours later.

Note how the shadows have shifted in the image:


Shadows of bicycles and motorcycles helping to determine the location using the Shadow Finder Tool.

If we repeat the process described above and run the Shadow Finder Tool again, we will get a second map of possible locations.

This time the ring points to a different set of possible locations.

The location has changed because the Earth has rotated, and the polar point has shifted. Using an image editor, we can overlay the two images, including the new ring of possible locations and the previous ring.

By finding the places where they intersect, we can determine only two possible locations. Use the slider to see the overlay locations.


Shadows on a sports field used for geolocation using the Shadow Finder Tool.

The overlay shows us only two possible locations: Cameroon and Croatia. Cameroon is inland, so we can rule it out and focus on Croatia.

Zooming in, we focus on the coast and islands around Split. At this stage, there is no substitute for hard work.

There are many beaches in this part of the world, but after some searching, you can find the location. There is even a street view image showing the webcam.


Shadows on the beach helping to determine the location using the Shadow Finder Tool.

When geolocating any image, context is important. There are often many ways to determine the location without using shadows.

— But if you know the exact time and date of the shooting, as well as the presence of a clear shadow, the shadows will help you quickly orient yourself where to look and quickly narrow down possible shooting locations.

Comments