Citizen science, R and the Heathrow cursus

In this post I walk through how to map topography in the landscape at an extremely fine resolution of about an 8-inch grid. You can do this with a mobile phone, floor sweeper and a little data processing programming. The total cost is potentially just your travel to and from the site.

The motivating example is a small section of the Heathrow Cursus, which I measured as a test run late last winter. Cursuses are late Stone Age earthworks, of which there are about two dozen in England. They were mostly constructed in the 33rd century BC and, of course, we don’t know why. This particular one, sometimes called the Stanwell Cursus, ran for about 4km through some low-lying boggy land in the Thames valley. Now, its Southern end is under the middle of the village of Stanwell, its Northern end under the junction of the M4 & M25 motorways, and a lot of it is under Heathrow Airport, where it passes directly under Terminal 5. In fact, it is thanks to excavations carried out as a condition for building T5 that we know much about it. There is one remaining section visible on the ground, and this is in parkland called Harmondsworth Moor which is open to the public. Admittedly, there is not much to see but a long, straight causeway about ten meters wide and one meter high. It dips a little in the middle, which may reflect people using it as a path over the damp earth, whether ceremonial or practical, over the millennia, or may reflect some characteristic of its construction. You can read about it in the T5 excavation report here and see my own photos and notes on it here.

There are many minor archaeological sites that get gradually degraded by not being protected from erosion and damage. Throughout England it is quite common for 4000 year old chieftains’ burial mounds to be ploughed over each year by farmers. Unfortunately, the Heathrow Cursus has a greater enemy to contend with in the shape of a big old airport. We learnt today that Heathrow Airport will be extended with a new runway, and, of two location options, that appears to be aiming for the one that will obliterate the remaining bit of cursus. However, there is many a slip ‘twixt cup and lip.

Early this year, while the sun was low and the weeds dormant in the soil (both essential for seeing little bumps in the landscape), I took a day’s holiday and spent it in muddy fields outside Heathrow Airport while jets roared overhead every 90 seconds. When I lived in Winchester, Hampshire, I had rather compulsively visited the prehistoric bumps in the district on bike rides, but I had never seen this particular relic before, so I didn’t know if anything would be visible. There was little detail about it online, but when I joined the start and end points from the archaeological report on Google Maps, I found that there was a suspicious straight line visible in satellite photos. Getting to Heathrow from my house is a real pain, so as I made my way there I was really hoping that I wouldn’t find myself looking at a flat gigantic mudpie of a field. And I was not disappointed.

Fig 1: Looking down the length of the cursus, away from the airport

I had somehow dreamt up this idea of plotting surfaces with mobile phone sensors, and had intended to do some testing and calibration beforehand, but never got round to it, so I was just launching myself into the deep end that day when I got on the train with my floor sweeper and a rucksack full of sandwiches and rubber bands. I was also wondering at the back of my mind how to explain it to the cops when they swooped on this suspicious character (that didn’t happen, I’m pleased to say; British quirkiness is still tolerated).

So, this is the arrangement. Get some sensor logging app on your phone, rubber band it firmly onto some kind of sweeper like in the photo, the sort that has a flat head that can swivel freely in all directions. This one is designed to have wipes tucked into it and then swiped over your lino or floorboards. Be prepared for your phone to get muddy; it will survive. It’s best to have a separate GPS logger in your pocket, but you could use the phone for this as long as it is really accurate (it probably isn’t). When you put the sweeper & phone down, its orientation will be very precisely recorded. I used an Android app called Accelerometer Meter and it logged about every 0.4 seconds, outputting a csv file and using little battery power (which can be a problem with some apps, apparently). Then I set the GPS going, and start walking in parallel lines across the cursus. In theory you would work your way along the object you want to measure but this could take a really long time, depending on the resolution you want. The logger files I get are like this one.

Fig 2: Leveraging best-in-breed tech (note the mud)

In practice, I didn’t use the GPS location because I knew where I was at each point, but it would be fairly straightforward to synchronise them and bolt on the GPS point closest to each sensor log point.

It seems from reading around online that the accelerometer streams of data in various devices is not always labelled the same way. This particular app finds the angle we want and labels it y (meters per second) but it isn’t that. I’m not entirely sure how to interpret the units, but that doesn’t matter too much because, to use this seriously, you would have to calibrate it against known angles anyway.

The R code for everything that follows is here. If we plot the angle from the horizontal against time, we get this:

Fig 3: raw angle data

There is a mixture of spikes and flat regions, arising from the lopsided weight of the phone on the sweeper. Every time I picked it up, the phone flopped forwards until it was laid down at the next step. At first, I thought this was annoying, but now I see it as a strength: it is easy to identify the flops which demarcate steps. If we zoom in on the 50-60 second region, which is just after reaching the top of the cursus and starting to slope gently down into the central dip, we can see the pattern more clearly:

Fig 4: likewise, zoomed in

So, our task is to find the regions which are fairly stable in terms of the angle (steps), throw out the bits in between (flops) and then get an average angle for each of the steps. I took a two-stage approach, first accepting any measure that was less than a given threshold different from the previous measure, and then secondly accepting any run of these that was three or more measures long. Both of these are parameters that could be tweaked.

Fig 5: Selecting measures under a certain change threshold
Fig 6: likewise, zoomed in
Fig 7: selecting stable runs of three or more measures (~1.2 seconds)

Now we reduce this to a series of steps and get the average angle. This is then translated to a change in vertical distance, given that the steps have a fairly constant distance along the hypoteneuse — the ground surface — and then we can plot what we get out!

Fig 8: estimated transect profile (compare with Fig 1 above)

So, in the end, the resolution I got is about a 22cm grid, which is roughly the length of the sweeper, and I was placing it head to toe as I moved along, so that makes sense. A smaller base for the phone would achieve a smaller grid but would take longer to do. This shows that you can bodge together different technologies and do stuff on the cheap, and also that anyone can contribute data on threatened things (citizen science). Don’t assume that you are not up to it — anyone can do this. If you wanted to do this the old fashioned way, by throwing money at it, the only way would have been to hire surveyors to map it all out, and then you wouldn’t have such a fine grid. LIDAR scanning would give good resolution but be more expensive still, and perhaps more affected by tufts of grass and stinging nettles which the citizen scientist can gently press out of the way. As for the R programming, there is nothing clever in there. Only base R is used, and you will see my characteristic un-R over-use of loops and other clumsy but effective approaches. In fact, if you are using the same app I had, you can pretty much just shove your data straight through this same program. For graphics, you would have lots of these transects piled up behind one another and it would be tempting to do something like my slice density plot, although wireframes, contour plots and heatmaps are options too.

So ends our brief encounter with archaeology in this blog. But there may be more in the future! Will I go back to Heathrow and map out the whole cursus? Probably not, as the best impact I can achieve is by blogging and stirring people up. But you never know… and more likely, I will be pondering Bayesian modelling and Stan for archaeo applications.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s