Tableau has extensive mapping capabilities — from basic choropleth maps to custom spatial files, density maps, and dual-layer maps. This guide covers every map type in Tableau, when to use each, and the common configuration errors that produce incorrect geographic results.
Tableau has extensive built-in mapping capabilities — geographic dimension recognition, a vector tile background map layer, spatial file support (shapefiles, KML, GeoJSON), density maps, dual-layer maps, and spatial joins. This guide covers every map type available in Tableau, when to use each, and the configuration issues that produce incorrect or misleading geographic results.
How Tableau recognises geographic data
Tableau automatically assigns geographic roles to dimensions that match known place names. State, Country, City, ZIP Code, and CBSA (Combined Statistical Area) are recognised automatically. When you drag a geographic dimension to the view or double-click it, Tableau generates a map showing marks at the corresponding locations.
For geographic roles to work, the dimension values must match Tableau's reference data. Common issues:
- Country names must match Tableau's naming convention ("United States" not "US" or "USA")
- State abbreviations ("CA") and full names ("California") are both recognised, but only for Tableau-supported geographies
- City names are only geocoded if the corresponding Country and State are also in the view (multiple cities with the same name exist globally)
If geocoding fails (question marks appear on the map), use Edit Locations in the Map menu to manually map ambiguous dimension values to known locations.
Map types in Tableau
**Symbol maps**: Marks placed at geographic coordinates, sized and coloured by measures. The default map type when you drag a geographic field to the view. Size by revenue, colour by growth rate. Appropriate for point-level data (store locations, customer addresses, event locations). Use filled circles for quantitative comparisons (area encodes the magnitude); use custom shapes for categorical encoding.
**Filled (choropleth) maps**: Geographic regions filled with colour to encode a measure. Assign a measure to Colour and a geographic polygon dimension (State, Country, ZIP Code) to the view. Familiar from news and government data — regions shaded by population density, election results, income levels.
The key limitation of choropleths: they overrepresent large geographic areas. A sparse, large state appears visually dominant even if it has low population or low economic activity. Use choropleths for density metrics (rate per population, per square mile) rather than absolute values.
**Density maps (heatmaps)**: Accumulate mark density rather than placing individual marks. Appropriate for large numbers of overlapping points — customer addresses, GPS tracks, event locations with high frequency. Enable via Marks card → Density. Configure intensity, radius, and opacity. Density maps do not use axes or aggregation — they show where marks cluster spatially.
**Dual-layer maps**: Combine two map layer types in a single view. For example: a filled map showing regional revenue as the base layer, with symbol marks sized by store count overlaid on top. In Tableau, Sheets within a dashboard can be layered, or the Layers tab in the map layer panel allows adding multiple mark layers. Dual-layer maps are more expressive than single-layer but require careful design to avoid visual clutter.
Spatial files and custom territories
For geographies not in Tableau's built-in reference data — sales territories, custom regions, local government boundaries — connect to spatial files:
**Shapefiles (.shp)**: The standard GIS polygon format. A shapefile is actually a collection of files (.shp, .dbx, .shx, .prj) that must all be in the same directory. Connect to the .shp file; Tableau reads all associated files.
**GeoJSON (.geojson)**: JSON-encoded geographic features. Single-file format, easier to share than shapefiles.
**KML (.kml, .kmz)**: Google Earth format. Less common in data engineering contexts.
Once a spatial file is connected, join it to your data on a shared key (territory_id, region_code) using a spatial join. The joined result appears as polygons in the Tableau view, filled by the joined measure.
Custom territories can also be built without spatial files: use Tableau's built-in territory builder (Map → Edit Countries/Regions) to group existing geographic dimensions into custom regions. Lower fidelity than shapefiles but requires no GIS file management.
Spatial functions
Tableau supports spatial functions for calculations involving geographic data:
- DISTANCE(point1, point2, unit): Returns the distance between two geographic points in the specified unit (km, miles). Useful for proximity analysis — distance from a customer to the nearest store, delivery radius calculations.
- BUFFER(geometry, distance, unit): Creates a circular buffer zone around a point. Use with spatial joins to find all stores within a specified radius.
- MAKEPOINT(latitude, longitude): Creates a geographic point from separate latitude and longitude columns. Required when your data stores lat/long as separate numeric fields rather than as a geographic data type.
- MAKELINE(point1, point2): Creates a line between two points. Used for route or connection visualisation — flight paths, trade routes, supply chain connections.
Spatial calculations are available in Live connections to most databases and in extracts. They require geographic fields (created via MAKEPOINT or assigned a geographic role) as inputs.
Background maps
Tableau uses Mapbox vector tiles as the default background map. Map layers are controlled via Map → Map Layers:
- Base: The underlying map tiles (roads, terrain, satellite imagery)
- Country/Region/State/Province/County/ZIP Code borders: Administrative boundary lines
- City names, street names: Label layers
For dashboards where the map is a design element, reduce or remove map layers for a cleaner appearance — removing street names and lower administrative boundaries creates a cleaner visual for regional-level analysis.
Custom background maps: Connect to a custom WMS (Web Map Service) tile server via Map → Background Maps → Map Services. Useful for internal geographic data (property maps, facility layouts, floor plans) or industry-specific map backgrounds.
Common mapping mistakes
**Aggregating before mapping**: If your data has multiple rows per city (daily sales by city), ensure the measure is correctly aggregated. SUM(revenue) at the city grain is correct. Avoid placing un-aggregated measures on maps — each city may appear multiple times with conflicting values.
**Confusing longitude and latitude**: Latitude is the north-south coordinate (values between -90 and +90). Longitude is the east-west coordinate (values between -180 and +180). If your map shows points in the ocean off the coast of Africa when they should be in the US, your lat and long columns are swapped.
**Choropleth with absolute values**: A choropleth showing total revenue looks like a map of population density — large, populous states appear darker because they have more revenue, not because they are more productive. Normalize by population, territory size, or number of customers to create a meaningful choropleth.
**Too many marks on a symbol map**: Symbol maps with thousands of overlapping marks are unreadable. For large point datasets, use a density map or aggregate to the appropriate geographic level (county, city) before mapping.
For dashboards that use maps as part of a broader story, see tableau dashboard design best practices and tableau dashboard storytelling. Our Tableau consulting practice builds production analytics environments including spatial analysis — book a scoping call to discuss your requirements.
A former Microsoft data architect audits your data foundation, identifies your top priorities, and sends you a written plan. Free. No pitch.
Book a Call →