Posted by Adam Jacobs
October 16, 2017
Last month, Tableau announced another major release, version 10.4. While there are several exciting new features relating to accessibility, dashboard design and Denodo, I’d like to highlight a big step forward in Tableau’s mapping capabilities.
Although Tableau is not a full-fledged Geographic Information Systems (GIS) tool, we use its mapping features constantly at Unilytics in our consulting practice. Combining Tableau with a GIS suite (we use and recommend Quantum GIS) is a very powerful combination; the GIS tool can access a geocoding API to map addresses, and perform spatial joins to assign points to geographic boundary like cities or counties. This data can then be fed back into Tableau for designing dashboards, reports and interactive content at a much higher level of sophistication than GIS tools can allow. The best of both worlds.
The introduction of Mapbox integration in version 9.2 was a significant leap forward, allowing us to develop custom basemaps with much richer detail than the default maps. Here’s a custom basemap we recently developed for a client who wanted an accurate street network, but none of the usual place labels for government buildings, universities, stadiums and so on. Before Mapbox, the only way to address this was hosting your own web mapping server (WMS); now we can do the design entirely online in Mapbox Studio. We have a detailed map of downtown Toronto with traffic volumes, street directions, and building footprints, along with the ability to customize by removing street names and place labels.
An even larger advancement was the long-awaited ability to connect directly to shapefiles, which let Tableau interact with the industry-standard file format for mapping. The data could be joined and blended, and maps could be colored, filtered and animated in ways that weren’t possible before.
Even in 10.3, though, there was a big limitation on shapefiles. While Tableau handled boundaries well, it wasn’t able to handle linear geometries; a file like the entire railroad network on Ontario wouldn’t work in Tableau 10.3, yielding this result:
Not so in Tableau 10.4! We can load a complex linear geometry directly, and use all the usual Tableau functionality with the attributes of the shapefile: groups, sets, filters, highlighters and all the other beloved Tableau features.
As an example, the City of Toronto open data portal provides a very detailed shapefile with roads, highways, rivers, bicycle routes, power lines and many other features of the urban landscape (known as the Toronto CentreLine). Loading this into Tableau now occurs without an error, and provides us a “geometry” measure that can be placed in a view with the COLLECT() function:
From here, we can slice and filter our data as we normally would with any worksheet. Let’s add a background map with satellite imagery, courtesy of Mapbox of course:
We can create groups for the feature types, combining the various entries like major and minor arterial into larger categories:
We can filter by ownership, and color by the type of feature (rail line, expressway, local road and so on):
Now our highlighter can easily show us all the water routes in the city:
A filter to private ownership reveals rail lines (owned by CP/CN) in red below:
Provincial ownership is comprised of the 400 highways (note that the Don Valley Parkway and Gardiner Expressway aren’t included – these are city assets):
Zooming to the downtown area, we can filter to lane ways only, and see the alley network of the city:
The accuracy of these maps is fantastic, note that the “foot” path features exactly match the satellite maps of walking trails in the Toronto Beaches:
Tableau developers are already getting creative with this new functionality. Here’s a great example that uses linear geometry and a custom Mapbox basemap to visualize undersea broadband cables. Imagine the possibilities as the spatial capabilities of Tableau evolve even further:
For more assistance with your mapping project in Tableau, contact Unilytics