Dating airport buildings from old aerial photos
A terminal gets an opening ceremony, a press release and a line in the official gazette. A taxiway, a hangar or a fuel depot usually gets nothing. To rebuild an airport year by year, Chronotopia needs a year for all of them: 2,437 dated features at El Prat and 753 at Ibiza. Only 92 of those, between the two airports, have a date a source gives us.
The rest are dated from aerial photographs. Spain has flown and published them since the 1940s, and if a building is missing in one flight and present in the next, it went up in between. This article is about how that works in practice, the two cases where the photos changed the story, and what the ”≈” badge in the app means. It builds on the introduction to the project.
The photos that exist
An orthophoto is an aerial photograph corrected so that it lines up with a map, which means you can lay today’s OpenStreetMap outlines on a 1956 flight and see what was already there. The regional cartographic services publish their archives as web map services, one layer per flight.
For El Prat, the Catalan cartographic institute (ICGC) has flights from 1945 onwards, but many of its layers are blank over the airport. The app’s method text lists the 15 that show it: 1945, 1956-57, 1975, 1977, 1987, 1990, 1993, 1994, 2000, 2003, 2004, 2006, 2008, 2009 and 2025. A later audit of the dates also used the 2012, 2015, 2018 and 2021 flights, which the method text doesn’t mention yet.
For Ibiza, the Balearic government’s IDEIB service has 1956, 1984, 1989, 2002, 2006, 2008, 2010, 2012, 2015, 2021 and 2023, and the IGN’s national archive fills two holes: 1997-98, and 2018, when the IDEIB layer is blank over the airport.
The gaps matter more than the photos:
El Prat has no photo for 18 years, from 1957 to 1975, the years of its 1965 extension and the 1968 terminal. Ibiza has none for 28 years, from 1956 to 1984, which is almost its whole history as an airport: in 1956 it’s a grass field, and in 1984 it has today’s runway, a parallel taxiway, an apron and a terminal. Everything in between comes from written sources.
Some layers also cover more than one year. A flight labelled 1956-57 or 1997-98 is a mosaic of photos taken over two summers, so a building in it could be from either.
Three ways to get a year
Every feature gets its year in one of three ways, in this order.
A source gives it. T1 opened on 16 June 2009, so T1 is 2009. The 2007 control tower, the Iberia hangar, the three runways and the Miró mural all have dates we can cite. These are the only features without the ≈ badge: 64 at El Prat and 28 at Ibiza.
The photos bracket it. About 60 buildings, aprons and taxiways at El Prat were dated one by one against the flights. The code comment in scripts/sites/barcelona-elprat.mjs gives the rule:
the year is the midpoint between the last photo without the building and the first photo with it.
A building absent in 2004 and present in 2006 becomes 2005, give or take a year. The farmhouses between the runways, which are in the 1975 photo but not the 1957 one, become 1966, which really means “somewhere between 1957 and 1975”. Both carry the same badge.
The zone decides. Everything else, most of the airport, is dated by where it is. Each site has a dateFeature() function with rules drawn from the photos: at El Prat, anything east of runway 02/20 is from the 2004 Plan Barcelona works, the west cargo zone is 1975 because the hangar and fuel farm appear in that year’s photo, and the “airport city” block north of the T2 access road is 2006, because it’s farmland until 2003 and built up between 2004 and 2009. A feature dated by a zone rule is always marked approximate.
The zones are coarse on purpose, and some are very coarse. Every road outside the airport, at both sites, is dated 1975: one approximate year for the whole regional road network. It’s the single largest group of dates in the model.
Checking against the photo
Two small Python scripts do the checking. scripts/ortho.py fetches a crop of any flight for a bounding box and draws a latitude and longitude grid over it, so positions can be read off the photo. scripts/overlay.py draws every feature the model has for a given year on top of that crop, in one colour per kind: aprons, terminals, taxiways and runways. If the 1987 overlay shows an apron where the 1987 photo shows fields, the apron’s date is wrong.
That check is what the El Prat audit was. Commit 5d8efae went through the flights from 1975 to 2025 and changed a lot:
- The “airport city” block north of T2 had been dated 1991, with the Olympic works. The photos showed farmland until 2003, so it moved to 2006.
- Most taxiways south of runway 06L had been dated 1965. Only the loop round the old 07 threshold is in the 1975 photo; the rest arrived with the third runway, so they moved to 2004.
- About 50 buildings and aprons got their own bracketed dates instead of their zone’s.
It is a visual check, done by a person looking at two images, not an automated test.
The terminal that moved
The clearest case is at Ibiza. In 1964 the airport got a second passenger building, described at the time as “provisional”, with a pergola and gardens. From 1974 it housed the airport’s technical and administrative offices. According to the Enciclopèdia d’Eivissa i Formentera, it burned down in May 1985 and a functional building was put up in its place.
The first version of the model put the 1964 terminal in a small building west of the 1973 terminal, inferred from the 1984 photo, with a note saying so. The problem appeared in the next flight: that small building is still standing in 1989, so it can’t be the one that burned in 1985.
The answer came from the other end, the present. The aerodrome parking chart in ENAIRE’s official aeronautical publication shows a “technical block” between the control tower and the fire station, a building round a courtyard that isn’t in OpenStreetMap and is now the business-aviation terminal. It’s absent in the 1989 photo and present in the 1997-98 one. And its footprint is exactly that of a long, flat-roofed block visible in the 1984 photo, with strips of garden running down to the apron, gardens that are still there today.
So the 1964 terminal moved east in the model (commit 1cbe8fb), onto the footprint of the 1984 block. It stands from 1964 to 1985, both dates from the texts. The technical block that replaced it is dated 1994, between the two flights that bracket it, with the ≈ badge and a note on how it was placed.

When the photo and the text disagree
Sometimes they simply don’t match, and the model has to choose.
- A terminal no text mentions. The 1989 photo of Ibiza shows a large building going up over the 1973 terminal, finished in the 1997-98 photo. None of the written sources we found describes it; they mention a 1984-85 remodelling, a larger apron in 1988 and an extension in 2002. The model follows the photos, builds it in 1990 and says in its card that no written source was found.
- Two dates for one building. The Enciclopèdia has a modular terminal opening on 22 July 1971; Aena has a terminal completed in 1973. They may be the same building, so the model has one, dated 1973 with both dates in its text.
- A rename nobody announced. Ibiza’s runway was “runway 07” in 1972 and “06-24” in the 2001 master plan. Runway numbers follow magnetic north, which drifts by about 7 minutes of arc a year there, and that puts the change in the late 1980s. The model renames it in 1987, marked approximate.
- A direction nobody wrote down. Sources agree the runway grew from 1,180 m in 1961 to 2,000 m and then 2,800 m by 1965, but not which way. The model assumes north-east, and the runway’s card says so.
What ”≈” means
The badge reads “Approximate date or position”, and it covers more than it seems to:
- The error depends on the gap. A photo-dated 2005 is good to about a year; a photo-dated 1966 at El Prat, or anything at Ibiza before 1984, can be off by nine years or more.
- Date and position share one flag. Some approximate features have an exact date and an assumed shape, such as Ibiza’s first apron, whose card says “Size and shape assumed”. The badge doesn’t say which.
- Zone dates aren’t evidence about that feature. A taxiway dated 1973 because of where it is may be a later addition that nobody photographed at the right moment.
- It’s one flag for opening and removal. A building with a known opening and an estimated demolition shows ≈ on both.
About 97% of the dated features at El Prat, and 96% at Ibiza, carry the badge. That number would drop fastest with photos we don’t have, especially of Ibiza between 1956 and 1984, and with dated construction documents for the smaller buildings. If you have either, send it to us: the model says in each card what it’s based on, so a better source can replace it directly.