Multiple 3D Datasets – Towards the Immersive Smart City

Most of the tutorials we’ve done so far have been about single datasets, so we thought it would be interesting to show what can be done with multiple datasets in Datascape. We’re getting ready for a SmartCity event in December, so that’s given us a useful focus, but discussions in areas like Forensics and Environmental Management have also shown the need to have a variety of disparate data sets within the same display.

(if you don’t want the description just jump to the video at the end)

We’re going to start with one of the demo datasets – a vehicle with GPS tracking moving through Birmingham.


Looking at this in 3D you’ll see that we have height representing time – the further above the map the more recent the data.


This is what we show in the demo example. But now we’re also going to tweak the mapping so that the size of each data point corresponds to the speed of the vehicle. The mapping is shown below – it;s the “size” line you want.

The Interval function chunks the Speed variable into one of the listed ranges, returning a simple 1,2,3 index – which is then ideal to set the size of the sphere. The resulting plot is:

You can now clearly see the sections of the journey where the vehicle sped up or down. We could of course use colour as well, but that is better kept for distinguishing different vehicles.

Next we bring in a second vehicle. The 3D plot makes it very easy to see where the two vehicles are at the same place at the same time (the vertical stretch), or where they are following close behind (the parallel lines) – whether its buses waiting at the same stop in a transport/smart city scenario, or two people meeting within a forensics example.

Now lets add some more information – the location of mobile phone towers. We couldn’t get any good UK data (but of course Councils or the Police can), so we found some data for Arlington Virginia that fits Birmingham incredibly well! The formulas for X and Z are to shift and scale the data to match the Birmingham map, whilst the Y and SizeY formulas make the market height depend on the height of the mast (in Y using /2 shifts the centre point to half the height – our standard technique for bar charts, and *10 is to account for scaling on the Y vertical bar to match the GPS data).

We’ve also set up a LookUp for Colour based on owner_entity-name so that we can see some of the main mast owners.


And this gives us our plot.

Note that we have height now operating on two completely axis – as time for the GPS tracks and as metres for the towers.

Of course if you’ve got phone masts its also useful to have an idea of signal coverage. Normally we’d bring in some external data from a propagation model to show this, but if we have a rule of thumb for coverage vs height we can easily implement this. To do this we bring in the tower data a second time but this time with a different mapping (this is a technique we use quite regularly).

Some of this is the same as for the towers but now:

  • Shape is cylinder
  • Y height is set to be random between -1 and 1 so that overlapping discs won’t have texture clash
  • Y size is fixed at 0.2 to give us a thin disc instead of a tall cylinder
  • X and Z size is set to our rule of thumb – in this case based on both tower height and elevation above ground)
  • Colour is set to Yellow25 – in other words 25% alpha (where 0 is fully transparent)

The result gives quite a convincing coverage map:

As a final step, now lets bring in some social media data so we can see what people are actually saying on the ground.  Our Social Media Edition of Datascape includes streaming geo-coded Twitter, so now we can set up a mapping for Twitter – giving it the same Y axis scaling as the GPS data (although in this case the base time is different since in this case the GPS and Twitter data were captured at different times).

And this gives us our final result.

Each of the red dots shows a user tweeting, and we can hover over the tweets to see what is being said and by whom. The dots are scaled to the GPS so we could if we wanted try to find links between the vehicle movements and what people are saying (again with applications in a variety of domains including smart city management, policing and forensics). With the Social Media Edition we can also apply thing like keyword and sentiment analysis so as to highlight people talking about particular topics (eg public transport, queues etc).

We hope that this example has shown how we can use Datascape to create quite complex geo-temporal information visualisations from a variety of very different data sources, and the use of colour, height, 3D shape and immersion can maintain a high level of readability and understanding – whether for the analyst trying to understand what is happening, or the manager, inspector, judge or jury being briefed on what has happened, is happening, or even what might be about to happen.

Plotting Multiple Time and Geo-Coded Datasets – Towards the Immersive Smart City from DadenMedia on Vimeo.