How to Write Spatial Data into Tableau with FME

Liz Sanderson
Liz Sanderson
  • Updated

Introduction

In this exercise, we will set up a simple FME Workspace to convert a MapInfo dataset containing Parks information into Tableau's Hyper format.

Step-by-Step Instructions

Part 1: Simple Format Conversion

1. Generate a Workspace

Start FME Workbench and click on the Generate option from the Start page.

Set up the Reader and Writer as follows:

Click OK to generate the workspace.

Generate.png

2. Inspect data

It's probably a good idea to understand what we are working with here to know how to handle our data. We could install MapInfo (a GIS application) on our machines and open the file directly in it, but we really just want to inspect our data source here. Let's use feature caching to look at this MapInfo dataset. To do this, click on the "Parks" Feature Type in the workspace. Then click the run to this play button and click on the green feature cache to inspect the dataset.

RunAndInspect.png

The Data Preview (formerly Visual Preview) window will open and display the geometries and data in the file we are working with.

3. Clean up the Workspace

Since we only have area features in our data source, let's remove the GeometryFilter and three non-polygon feature types that were automatically added to our workspace.

  • Delete the Geometry Filter transformer

4. Modify the schema on the Tableau Writer

Our writer is currently set up to create a file called Parks_polygon. Let's change that to something nicer. Click on the cog-wheel icon (or just double click) on the writer feature type to open the properties dialog. Change the Table name parameter. Let's set it to just 'Parks' instead.

ex1-p1-s4.png

5. Save the Workspace

Click File > Save As to save a copy of the workflow we have built so far.

6. Run the Workspace

Click the green play button on the Workbench toolbar to run the data conversion and create our Hyper file from the MapInfo dataset.

Part 2: Spatial Data Blending

We have been given a CSV file containing information on the locations of drinking fountains in the city and would like to determine how many fountains are in each park. The drinking fountain dataset includes a Location column, but on closer inspection, the location names don't match the park names in our MapInfo dataset. The CSV file does contain x and y coordinates; maybe we can join these datasets spatially.

1. Add CSV Reader to the Workspace

As of FME 2025.2, the Coordinate System parameter is now configured within the Parameters dialog of each reader/writer format. For more information, including details about the change and affected transformers, please see Coordinate System Parameter Location Change.

Click on Readers > Add Reader and set the following:

Now we will set the Reader's parameters. Click on Parameters... For Feature Type Name(s) select From File Name(s). 

Confirm that the Attribute Definition has x and y, set to x_coord and y_coord, respectively. By default, FME will map X/Y or Latitude/Longitude attributes to the x_coord and y_coord data types.

This will tell FME to display each row in the CSV as a point. For more information, see Using the Reader parameters in the Converting from CSV Data article. This will tell FME to display each row in the CSV as a point. Click Ok. Then set the Coord. System to UTM83-10. Click Ok to add the new reader to the workspace

ex1-p2-s1a.png

CSVReaderParams.png

For FME 2025.2 and newer, enable Create Point Geometry From Attributes in the Parameters dialog, then set the Coordinate System after setting coordinate attributes to x_coordinate and y_coordinate.

2. Inspect the Two Datasets

Disable the Tableau writer feature type for now by locating it on the canvas, right-clicking on it, and selecting "Disable". Connect an Inspector transformer to the output ports of each reader in the workspace. Click Run to see both datasets inside the Data Inspector Application.

ex1-p2-s2.png

3. Use FME to Spatially Relate the Two Datasets

Let's use a transformer to find the water fountain points that overlap with the park areas.

Add the PointOnAreaOverlayer transformer to the workspace.

Remove Inspectors from the previous step and connect the Parks feature type to the Area input port and the CSV feature type to the Point input port. Then connect the Area output port to the Hyper writer.

Access the PointOnAreaOverlayer transformer Parameters. It's currently set to create an attribute called _overlaps, with a count of the number of features that overlap. We'll leave that as it is for now. Click OK to close the parameters dialog.

4. Modify the Writer Feature Type Properties

We want to add a new column to the Hyper file we create that counts the number of fountains found in each park. Open the writer feature type properties dialog. Then open the User Attributes tab to view the columns currently defined on the writer.

Add the _overlaps attribute to the list of columns there. You can do this either by switching the Attribute Definition to Automatic (to automatically pick up any new attributes added to the workspace) or by setting it to Manual and manually entering the name of the attribute you want to add.

ex1-p2-s4a.png

Next, go to the Parameters table, under Table > General, change Table Handling to Drop and Create. This will tell FME to delete the existing Hyper file and re-create it with the new column added.

WriterFT.png

5. Save and Run the Workspace

Enable the Tableau writer feature type by locating it on the canvas, right-clicking on it, and selecting 'Enable'. Save the modified workspace, then run it.

6. Optional: Inspect the Data in Tableau

Open your data in Tableau and experiment with how you would like to display it.

ex1-p2-s5c.png

Was this article helpful?

We're sorry to hear that.

Please tell us why.

As of January 14th, 2026, comments on knowledge base articles have been closed. To make sure questions don’t get missed and to enable more community support, we’ve moved discussions to the FME Community. If you have a question or a comment about this article, please create a new post or create a support ticket.