Flight Simulator
Thinking about our hack day collaboration with ArtUK, the most enticing aspects of the available data for me were the breadth of objects that would not be well known to the public and their geographic spread across Britain.
The most obvious way to surface this information is through a map interface and, in fact, the ArtUK site already contains the Artwork Shuffle map feature delivering randomised artworks to fulfil this need.
My plan was to see if I could take a similar geographical discovery approach but in a more physical manner by dropping the artworks into a flight simulator. I was aware of Microsoft flight simulator as a package that was frequently customised and offered real world map data, but it looked as if its development environment was a little more involved and there was no free tier available to experiment with. So instead I opted for Google Earth Pro, the desktop version of Google Earth. This has a flight sim mode, although it is much more focused on its mapping functionality.
Through the user interface I was able to import an image using the photo overlay component and adjust its size and position so that it appeared to be hanging in mid air. A quick test in flight sim mode showed proof of concept and I was able to export these items as a .kml file to use as a template.
We had a sample export of a subset of ArtUK objects and locations in an Elasticsearch index that I was able to query to produce an auto-generated version of the KML, limiting to a maximum of ten randomly chosen items per institution. The objects were positioned in the Google Earth world to stack them vertically above their holding institution.
I wanted the randomised selection to be dynamic, rather than a one off export. Google Earth supports a NetworkLink element in the .kml that can be set to load further KML from a URL and refresh at a given interval. I set this up to get a new version of the feed every 20 seconds that would update all objects with a new randomised selection. Ultimately I’d prefer to just update a single item per institution at a time for a smoother in-app experience.
With the data loaded into Google Earth, the flight sim mode was quite pleasing, even if I proved not to be the most competent pilot, and the standard Google Earth view itself worked nicely too for a calmer experience. Organising the KML into folders per institution allowed quick navigation to a new location from the places menu.
Get cogapp’s stories in your inbox
Join Medium for free to get updates from this writer.
There was an issue with the available sample data where we could not identify which objects had images, but luckily my colleague Luke had been working on a project that was populating imagery from the source institutions so I was able to switch to his index.
The photo overlay approach had a major visibility drawback for flight sim use. Overlays are inherently one sided 2D objects which makes them difficult to spot when viewed from more extreme angles and impossible to see from the reverse. I could have partially solved the issue by duplicating each overlay, and rotating them 180 degrees to make them two sided. This would have cluttered the places menus, but more importantly wouldn’t fix the further issue that the opacity of overlays is automatically faded with distance so that they quickly become invisible.
To get around these issues I decided to add objects into the scene with the artworks mapped to each side of a cube. I also randomised the rotation and position of these cubes within a small area around the institution to create a more interesting 3D environment to fly through. As you can see in the video you can now spot objects over London from Oxford and fly (or pan) over to investigate.
The downside to this approach proved to be scalability. The initial load took some time and auto-refreshing lead to slowdown in the app. I believe this must be a solvable problem though, as the 3D buildings layer provided by Google contains millions of individually textured objects.
I would have liked to add some interactivity where an artwork refresh was triggered by flying into the object, or even shooting the object down with a paintball gun. This may well be possible with a dedicated flight sim package but with Google Earth there is no event mechanism that can be read to return any information about the current viewpoint.
True to Coghack tradition, this was a frivolous project, but it’s always interesting to play with different ways of interacting with data. In this case I found that the aerial perspective gave a curiously human viewpoint on the locations and distribution. I’d be interested to see how it felt with a fuller dataset so that you could explore more institutions within a city or region.
If you would like to give it a go yourself there are static exports of the photo overlay and textured cube approaches in the .kml and .kmz files linked below. You will need Google Earth Pro which is free for Windows/Mac/Linux. Flight Simulator mode is found under the tools menu.







