In this article, you will learn how, with the help of geolocation analysis and careful study of the details of a photo, you can determine the place where it was taken. Looking at a specific example of a picture taken on the streets of Mexico, the authors pay attention to such key elements as infrastructure, road signs, orientation of satellite dishes, local transport, typical decoration of houses and even household objects.
Our task is to find its coordinates from this photo.
They shared with us a screenshot from the street, which at first glance does not stand out for anything special, except for a noticeable white and pink object. Its location immediately reveals a typical water tank, which is in almost every local house, and a characteristic pillar.
The one-way traffic sign, although it does not correspond to a typical Mexican one, is more reminiscent of a Colombian one, however, given the small size of the city, this is explained by non-standard conditions – the one that was available was installed. A careful eye will notice a number of other details that add context to the place.
Satellite dish;
Lack of front number plate on the car;
Bicycle left unattended;
Street name plates;
Concrete road surface;
Slope of the road;
The white and pink object turned out to be a washing machine;
Brick unfinished;
Mold on the facade of the building;
The mast is far beyond the trees;
2019 Google watermark in the upper left corner;
Non-linearity of the image;
Sharp shadows.
Let’s dwell on each point in more detail.
In general, Mexican arrows look like this:
But our arrow is special. It seems as if the tip is not quite triangular, the base of the triangle is slightly sunken towards the top, like the Colombian ones.
Maybe it’s just that you can’t understand the peculiarities of perception with such jackals. In Mexico, there are different options, although less common.
The rarity of such arrows can help with the identification of the city.
Let’s take a closer look at the plates:
But there are other options:
There are not many satellite TV providers in Mexico.
The dish should be aimed at the Sky-Mexico 1 satellite, its projection on the surface has coordinates 0.0, -78.8. We can estimate the direction of the plate.
The satellite dish in the photo is facing southeast. The road turns slightly counterclockwise relative to the direction of the plate and goes to the left, forming a non-right angle with it. This allows you to determine the approximate direction of the cardinal points in the picture – the shooting direction is indicated by a red arrow.
The number plate is not visible on the car, the reasons may be different. But there was a theory that the old car was smuggled in from the USA. This is confirmed by an answer on Quora. In this regard, they suggested that this is some kind of northern state. However, it was not further confirmed.
A bicycle is parked on the street without a lock, which may indicate a small town where the locals trust each other and don’t worry about theft.
The road is concrete – the material is quite common, but not in every settlement. This can serve as an additional criterion for identifying the place. The presence of a slope indicates a mountainous area, so flat regions can be immediately excluded from the search.
The photo shows an Acros ALF2053ER or ALF1551ER washing machine, which are similar in appearance, differing only in size.
The operating instructions found for this washing machine model contain a time stamp of “08.02.2018”. This allows us to conclude that the picture was taken no earlier than this date, because it is unlikely that the car hit the market so quickly.
A description of the features of Mexico from the geogeographer @addlama was found. Here is a quote from the section on building architecture.
So, the states of Jalisco, Michoacán, Guanajuato and Aguascalientes are the most likely for this location. Slightly less likely but possible options include the states of Durango, Zacatecas, San Luis Potosí, Querétaro, Guerrero, Morelos and Colima.
Mold on the building indicates the presence of conditions for its formation: a long period of high humidity, gloomy weather and a daytime temperature of about 20 °C. However, there are many such climate zones in Mexico, so this factor does not narrow the search too much. When inspecting possible cities, it is worth paying attention to how carefully the appearance of the buildings is maintained.
There is also speculation that a mast can be seen in the background, which could be used for cellular communications, television broadcasting or similar purposes.
To check, they decided to make a request for an overpass
area [ 'name' ~ ' ^ ( Jalisco | Michoacán | Guanajuato | Aguascalientes | Durango | Zacatecas | San Luis Potosí | Querétaro | Guerrero | Morelos | Colima ) #x27;] [admin_level = 4] ->.a; ( nwr [ man_made = mast ] ( area.a ) ; nwr [ 'tower:type' = communication ] ( area.a ) ; ) ; out center ;
There were 287 pixels from all the states that needed to be inspected manually.
This theory did not bear fruit and took a lot of time.
Two artifacts remain from Google, copyright 2019 Google and a plane marker.
Analysis of the street view showed that the date in the watermark may not match the exact year of shooting, but it is definitely not less. This means that the shooting took place no later than 2019. Together with the data about the washing machine, there is a conclusion that the shooting was carried out between February 2018 and December 2019.
In the right part of the picture, horizontal distortion is noticeable – objects become elongated. This can be seen by comparing the proportions of the washing machine in the photo with its actual dimensions.
The dimensions of the washing machine from the manufacturer’s website are 100.4×69 cm for the ALF2053ER and 91.3×58.5 cm for the ALF1551ER. We get the proportions 69/100.4 = 0.69, 58.5/91.3 = 0.64. The ratio in the picture is 39.03/47.52 = 0.82. In both cases, the horizontal size is larger than in reality by 19-28%. That is, the arrow and address plate are not so elongated.
The clarity of the shadows in the picture made it possible to try to determine the possible dates of the shooting. For this, it was necessary to know at least approximately the azimuth of the sun. Although the calculations turned out to be inaccurate, it was determined that the azimuth of the sun is directed towards the satellite dish and is about 104-111°. The ratio of the object to the shadow is 0.696.
Using these parameters, suncalc can calculate a range of possible dates so that the shadow corresponds to a ratio of 696 m for an object at a height of 1000 m, and the azimuth is in the range of 104-111°.
Calculations gave the following ranges of possible shooting dates and times:
March 20 – April 5 between 9:00 a.m. and 10:00 a.m
September 6 – September 22 between 10:00 and 11:00
However, due to the large number of assumptions in these calculations, we did not rely too much on them during our search.
The main criteria were defined, which allow you to quickly assess the city and decide whether it meets the conditions:
The signs on the houses are similar to those in the photo.
Road made of square concrete slabs.
An arrow mark similar to the one in the picture.
Presence of height differences.
At the first stage, we uploaded to Overpass a list of cities in the most likely states — Jalisco, Michoacán, Guanajuato, Aguascalientes — with a population of 10,000 to 50,000 people. This is based on the assumption that the city is hardly large (considering a bicycle left on the street), and smaller towns and villages are more likely to have dirt roads that do not meet the conditions.
[ out:csv ( name, population, ::id, ::lat, ::lon ) ] ; area [ name~ '^(Jalisco|Michoacán|Guanajuato)#x27;][admin_level=4]->.a; node[place~' ^ ( city | town | village | hamlet ) #x27;](area.a)(if:t['population']>=10000 && t['population']<50000); out ;
While touring the cities, they noticed that the sky is of different colors, and it depends on the weather, and it depends on the date of the shooting. Below are some examples.
In May 2019, the color of the sky in Google images became more natural and blue, probably due to the transition to new, higher-quality equipment. However, since the change of equipment took place back in 2017, it could reach Mexico with a delay. In the wanted image, the sky appears darker, indicating the use of older equipment. This restriction narrows the possible shooting date to May 2019.
It is also noted that the sky in the picture is cloudless, therefore, if there are clouds in the city panoramas, these pictures can be discarded immediately.
After exhausting all initial hints, the decision was made to automate the process. A utility was developed that accepts an OverpassQL script, executes it, and downloads panoramas from Google Street View for the found points. For this, it was necessary to reverse-engineer the Google API, and as a result, the utility was created.
When investigating the protocol, it was found that older snapshots were in a smaller format, allowing images to be filtered by capture date and format without having to download the full snapshot. This optimized the search process.
Testing of the utility began with downloading panoramas of intersections according to the following criteria:
Filming period: February 2018 – May 2019
A one-way road with a concrete surface
There is no traffic light nearby
States: Jalisco, Michoacán, Guanajuato, Aguascalientes
Cities with a population of 10 to 100 thousand inhabitants
Using old equipment for filming
The corresponding request is below.
[ timeout : 10000 ] ; area [ name ~ ' ^ ( Jalisco | Michoacán | Guanajuato | Aguascalientes ) # x27;] [admin_level = 4] -> .a; node [ place ~ '^(city|town|village|hamlet)#x27;](area.a)(if:t[' population ']>=10000 && t[' population' ] < 100000 ) -> .cities ; way [ highway ~ ' ^ ( tertiary | residential | unclassified ) #x27;][surface=concrete][oneway=yes](around.cities:20000)->.ways; foreach.ways -> .this_way { rel ( bw.this_way ) -> .this_rel ; node ( w.this_way ) -> .this_way_nodes ; way [ highway ~ ' ^ ( primary | secondary | tertiary | residential | unclassified ) #x27;] (bn.this_way_nodes)->.linked_ways; ( way.linked_ways ; - ( way ( r.this_rel ) ; way.this_way ; ) ; ) -> .linked_ways_only ; node ( w.linked_ways_only ) -> .linked_ways_only_nodes ; ( node.linked_ways_only_nodes.this_way_nodes ; node.all ; ) -> .all ; } node [ highway = traffic_signals ] ( around.all : 20 ) -> .sig ; ( node.all ; - node.all ( around.sig : 20 ) ; ) ; out ;
Even with fairly strict search criteria, more than 2,500 panoramas were uploaded. Fortunately, there were significantly fewer cloud-free images, which made it possible to carefully review them. Although we could not find the picture we were looking for, we did not lose hope for success.
Out of curiosity, it was decided to trace the route of the Google car on certain dates. The coordinates of all uploaded images were displayed on a map for analysis.
The resulting data showed only a few clusters, which led to a new idea.
It was suggested that Googlemobile could visit certain cities on certain dates. To check this, the utility added the function of loading panoramas from random points in a radius around a given center. Panoramas were downloaded according to the following criteria:
Period: February 2018 – May 2019
States: Jalisco, Michoacán, Guanajuato, Aguascalientes, Durango, Zacatecas, San Luis Potosí, Querétaro, Guerrero, Morelos, Colima
Cities with a population of 10,000 or more
Using old equipment
Only standard panoramas
Note: Historical images were no longer loaded because it was assumed that the desired panorama was the main one that Google shows by default.
The result was a set of coordinates plotted on a map showing the locations where the Googlemobile had been on the given dates but had not returned since.
It turned out that he had been to many places, and this idea was not continued.
The suburbs in the south-west of León were affected by the most viewed panoramas, where a rather similar vibe was felt.
It was decided to download all intersections of Leon and its suburbs according to the following parameters:
This method of comparison does not actually analyze what exactly is shown in the picture and does not identify the objects. It simply computes the correlation of color distributions in HSV space, making it fast and robust to various distortions such as scaling, perspective, or rotation. However, it has its drawbacks, including a significant number of false positive results. We have made efforts to reduce their number.
Despite this, the necessary panoramas could not be found. However, the script identified several panoramas that were the closest to the desired picture in terms of color similarity.
At the final stage, it was decided to launch a full-scale search of all intersections in 11 states bounded by red brick buildings. The utility has been further optimized so that it can perform multiple parallel requests to Overpass. Due to the large number of points for each state, queries were performed separately. The main criteria for finding intersections were as follows:
Filming date: February 2018 – May 2019
States: Jalisco, Michoacán, Guanajuato, Aguascalientes, Durango, Zacatecas, San Luis Potosí, Querétaro, Guerrero, Morelos, Colima
Equipment: old
Image type: standard panoramas only (no historical images)
Example query for the state of Jalisco.
[ timeout : 10000 ] ; area [ name = 'Jalisco' ] [ admin_level = 4 ] -> .a ; way [ highway ~ ' ^ ( tertiary | residential | unclassified ) #x27;] (area.a) -> .ways; foreach.ways -> .this_way { rel ( bw.this_way ) -> .this_rel ; node ( w.this_way ) -> .this_way_nodes ; way [ highway ~ ' ^ ( primary | secondary | tertiary | residential | unclassified ) #x27;] (bn.this_way_nodes)->.linked_ways; ( way.linked_ways ; - ( way ( r.this_rel ) ; way.this_way ; ) ; ) -> .linked_ways_only ; node ( w.linked_ways_only ) -> .linked_ways_only_nodes ; node.linked_ways_only_nodes.this_way_nodes ; out ; }
As a result, the utility processed more than 1.5 million intersections and downloaded more than 20,000 panoramas. It would be almost impossible to check such a volume manually, but the script for finding similar images did the job effectively. The top 20 most relevant results included two panoramas that came as close as possible to the desired picture.
Answer to the task: 22.626705, -103.895337.
In addition, another rather creepy shot from the same city appeared in the top of the results. This caused some concern for the elderly woman who was in the picture.