Tableau Public is a free service that lets anyone publish interactive data visualizations to the web. Visualizations that have been published to Tableau Public (“vizzes”) can be embedded into webpages and blogs, they can be shared via social media or email, and they can be made available for download to other users.
Tableau Public is a fantastic way of visualising data, especially spreadsheet data. If you are finding Excel limiting, then perhaps Tableau is the tool for you? There are some amazing visualisations out there, this link to Tableau Public Gallery shows some amazing examples.
This week I attended an ‘Introduction to Tableau Public’ meetup. It really opened my eyes to this tool. It seems that there is the potential to visualise Satellite Data with it. Ah raster data, pixels. Tableau Public will allow you to load in a Basemap. Guides for ArcGIS and Mapbox are here and here respectively. I’d like to get information about the pixel values though. That means extracting them.
A first timers guide to plotting NDVI values in Tableau Public
I am using a Landsat 8 scene from 29th May 2016 that covers the Isle of Wight.
It’s the same image I used for boat counting!
Calculate the Normalised Difference Vegetation Index (NDVI) using the equation ((Band 5 – Band 4)/(Band 5 + Band 4)). I have made the necessary corrections to the data. Plenty of tools out there to do all this. Below is an awesome tutorial; check it out.
My resulting NDVI image looks like this – the greener the image the stronger the vegetation.
I need to get the values out to be able to interact and visualise in Tableau Public. Using a previous blog I wrote I can extract values from satellite data. In the image below the randomly chosen points are plotted; each point has an NDVI attribute.
I need to reproject my data to get them ready for Tableau Public. Reproject the shapefile layer (if not already in WGS84) and create Lat and Long values in the point shapefile. In QGIS ‘Vector-Geometry Tools-Export Add Geometry Columns’ does this. Then export to csv and it’s over to Tableau.
My data looks like this
X and Y are the local coordinates (UTM 30N). The ‘Classified’ field is how the points have been grouped, the ‘NDVI’ contains the NDVI value. Finally Xcoord and Ycoord are my longitude and latitude in decimal degrees – I need these two fields for Tableau Public to plot the data on a map.
Step 1. Load the csv, excel, txt or a shapefile into Tableau Public. In this case I am using an Excel sheet, in this example (it doesn’t really matter which you choose). – On reflection using a shapefile would probably have been the simplest approach.
Step 2 – Open a new sheet, click on Sheet 1
Step 3. Now we can do something with the data! I am dragging Xcoord and YCoord from Measures (bottom left) to Dimensions (top left). Then click on the icon next to the name and tell Tableau Public it is a Geographic role.
Step 4. Now drag these into the Column and Row (top of the screen) and you ‘should’ get a map!
Step 5. Drag NDVI from the Measures into the map. In the Marks area click on the circles and change to colour and then click on the colour to the colour ramp of choice. Experimenting with this is where the beauty of Tableau kicks in.
Step 6. I added the field ‘classified’ to label the point on mouse over
Step 7. Build more visualizations in other sheets (top right ‘show me’ button gives an overview of graphs available). I have built a distribution plot of the NDVI values. The next step is to bring these altogether in a dashboard. On the left hand side are the sheets you have created. Drag these in and build your dashboard.
Step 8. One really nice feature is the ability to link the data together. So I can click, select on one chart and see the other interact with it. Do that by clicking the drop down arrow in the top right of each chart and select ‘Use as filter’
All that is left to do is save it to your public account. My one is below
This seems like a pretty nice and slick way of presenting data. I think there is massive potential to really highlight the value of Earth Observation data using Tableau Public. Where it really has the potential is with the display of temporal data. I am going to continue to look into this.