Files
-
- 100 KB
- Download
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:
-
Reader:
- Format: MapInfo TAB
- Dataset: ...\Parks.tab
-
Writer:
- Format: Tableau Hyper
- Dataset: ...\Output\
Click OK to generate the workspace.
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.
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.
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:
- Format: CSV (Comma Separated Value)
- Dataset: ...\DrinkingFountains.csv
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
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.
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.
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.
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.