This article introduces spatial functions and their uses in Tableau. It also demonstrates how to create a spatial calculation using an example.

## Why use spatial functions

Spatial functions allow you to perform advanced spatial analysis and combine spatial files with data in other formats like text files or spreadsheets. For example, you might have a spatial file of city council districts, and a text file containing latitude and longitude coordinates of reported potholes. You can use a spatial calculation when creating your data source to join these files and analyze which district takes the longest to repair potholes.

The visualization might look something like this: Another example might be to create a line that connects two data points for origin-destination maps. For example, you might have a spreadsheet of bikeshare data that tells you where cyclists began and ended their trips. The visualization might look something like this: ## List of spatial functions in Tableau

#### Description

AREA AREA(Geometry, "units")

Returns the total surface area of a spatial polygon.

Supported unit names: meters ("meters," "metres" "m"), kilometers ("kilometers," "kilometres," "km"), miles ("miles" or "mi"), feet ("feet," "ft").

BUFFER BUFFER(Spatial Point, distance, "units")

Returns distance measurement between two points in a specified unit.

Supported unit names: meters ("meters," "metres" "m"), kilometers ("kilometers," "kilometres," "km"), miles ("miles" or "mi"), feet ("feet," "ft").

This function can only be created with a live connection and will continue to work when a data source is converted to an extract.

DISTANCE

`DISTANCE(<geometry1>,<geometry2>,"<units>")`

Returns distance measurement between two points in a specified unit. Supported unit names: meters ("meters," "metres" "m), kilometers ("kilometers," "kilometres," "km"), miles ("miles" or "miles"), feet ("feet," "ft").

This function can only be created with a live connection and will continue to work when a data source is converted to an extract.

Example:

`DISTANCE([Origin MakePoint],[Destination MakePoint], "km")`

MAKELINE `MAKELINE(<geometry1>,<geometry2>)`

Generates a line mark between two points; useful for building origin-destination maps.

Examples:

`MAKELINE(OriginPoint, DestinationPoint)`

`MAKELINE(MAKEPOINT(OriginLat],[OriginLong]),MAKEPOINT([DestinationLat],[DestinationLong] )`

MAKEPOINT `MAKEPOINT(<latitude>, <longitude>) `

Converts data from latitude and longitude columns into spatial objects.

You can use MAKEPOINT to spatially-enable a data source so that it can be joined with a spatial file using a spatial join. For more information, see Join Spatial Files in Tableau .

To use MAKEPOINT, your data must contain latitude and longitude coordinates.

Example:

`MAKEPOINT([AirportLatitude],[AirportLongitude])`

MAKEPOINT(X,Y, SRID)

`MAKEPOINT(<xcoordinate>, <ycoordinate>, <SRID>`

Converts data from projected geographic coordinates into spatial objects. SRID is a spatial reference identifier that uses ESPG reference system codes to specify coordinate systems. If SRID is not specified, WGS84 is assumed and parameters are treated as latitude/longitude in degrees.

This function can only be created with a live connection and will continue to work when a data source is converted to an extract.

Example:

`MAKEPOINT([Xcoord],[Ycoord],3493)`

## Use a spatial calculation

### Create a spatial data source using MAKEPOINT

You can use MAKEPOINT to spatially-enable a data source so that it can be joined with a spatial file using a spatial join. To use MAKEPOINT, your data must contain latitude and longitude coordinates.

1. Open Tableau and connect to a spatial data source. Under Connections, click Add to add a second, non-spatial data source.

The two data sources are added to the canvas.

2. Click the Join icon.
3. In the Join dialog box that appears, do the following:
• Select a join type.
• Under Data Source, select a spatial field from your spatial file to join by. Spatial fields have a globe icon next to them.
4. For the non-spatial data source, select Create Join Calculation as the join clause. The calculation might look something like this:

` MAKEPOINT(Latitude,Longitude)`

5. After adding the spatial function to your text file, select the Intersects join clause operator to create a data source for spatial analysis.
6. When finished, close the Join dialog box.

For more information on spatial joins, see Join Spatial Files in Tableau .

### Create a visualization using MAKELINE

In Tableau Desktop, download the Flight Path workbook from Tableau Public, available here(Link opens in a new window).

1. Navigate to a new worksheet.
2. Select Analysis > Create Calculated Field.
3. In the calculation that opens, do the following:
• Name the calculated field Flight Paths
• Enter the following formula

` MAKELINE(MAKEPOINT([Lat],[Long]),MAKEPOINT([Dest Lat],[Dest Lng]))`

This formula takes latitude and longitude coordinates from your origin and destination cities and turns them into geographic points for spatial analysis. Those coordinates are used to build to two-point lines between origin and destination.

4. When finished, click OK.
5. The new calculated field appears under Dimensions in the Data pane. Just like your other fields, you can use it in one or more visualizations.

6. From the Data pane, double-click Flight Paths to add it to your visualization, which should automatically render as a map.
7. The calculation automatically produces curved geodesic lines when the lines span longer expanses of the globe.

### Visualize an area with BUFFER

In Tableau Desktop, download the Flight Path workbook from Tableau Public, available here(Link opens in a new window).

1. Navigate to a new worksheet.
2. Right click the Measures Pane and select Create Parameter.
3. In the Parameter dialog that opens, set the options below:
• Name the parameter Buffer Distance
• Set the Data Type to Integer
• Set Allowable values to Range
• Set the Minimum range to 100, the Maximum range to 1000, and the step size to 100. 4. When finished, click OK
5. This parameter will allow us to customize the radius of our buffer, ranging from 100 to 1000 miles. Right click the parameter and select Show Parameter Control.

6. Select Analysis > Create Calculated Field.
7. In the calculation that opens, do the following:
• Name the calculated field Buffer
• Enter the following formula

` BUFFER(MAKEPOINT([Dest Lat],[Dest Lng]),[Buffer Distance],"miles")`

The BUFFER calculation takes point spatial data and converts it into shapes with a radius in miles determined by the Buffer Distance parameter.

Note: Because BUFFER can only be used with point spatial data, we are converting the latitude and longitude data into a point with Makepoint, as demonstrated in the previous example.

8. When finished, click OK.
9. The new calculated field appears under Dimensions in the Data pane. Just like your other fields, you can use it in one or more visualizations.

10. From the Data pane, double-click Buffer to add it to your visualization, which should automatically render as a map.
11. Drag Destination to the Color panel on the Marks card to complete the visualization. If your view does not look like the image above, make sure that the Mark type is set to Map and not Circle. For more information on Marks type, see Change the Type of Mark in the View.