FME Transformers - 5 Unsung Heroes
Author: Ciara Beddy, IMGS Senior GIS Engineer
For a new user looking at FME’s hundreds of available transformers, many with some interesting and unusual names, locating the transformer you need to get the job done can often feel like a difficult or daunting task.As an FME professional and Trainer I often get told in panic “I don’t think I will know what Transformer to use, there are so many!!” and that is true. In reality you can still be a proficient user of FME without knowing the ins and outs of every single Transformer. That is, if you arm yourself with the most useful ones!
Transformer knowledge comes down to experience. The more workspaces you create and projects you complete the larger your catalogue of Transformers becomes. To get new users started I would like to share with you a list of some of the unsung heroes of the transformer world, these are some of the tools I really couldn’t live without.
I am most often asked about how to quickly move spatial data between different coordinate systems. The answer is very simple, use the Reprojector. FME’s coordinate reprojection capabilities solve the common requirement to reproject data accurately and seamlessly. All you are required to do is place the transformer somewhere within your workflow.
This transformer works on both raster and vector data, It provides the option to reproject data with a library of over 5000 coordinate reference systems. This gives you the ability to reproject data with the click of a button eliminating all those coordinate system headaches you face as a spatial data user.
The Clipper is an excellent transformer for creating datasets that are relevant to your needs. Often users have national datasets containing more data than they actually require. The Clipper takes a number of clip boundaries and the number of features to be clipped and splits the data into features inside the boundary and features outside the boundary.
As the output is split into these two possible groups the Clipper allows you to keep the data relevant to your needs while disregarding the data that falls outside your defined boundaries. It is a great way of cleansing your datasets to only contain the data you will use, meaning any further analysis on these datasets are correct and more meaningful to your area of interest.
If you ever come across the need to provide a unique ID to the data running through your workspace than the Counter is the most simple way to achieve this. This transformer adds a numeric attribute to your features by assigning each feature an incremented value as it counts the features passing through.
You can also specify if this counter sequence is unique throughout the whole workspace by using the same sequence on multiple counter transformers or using a unique sequence to that single counter. This transformer means you can create unique values without using any complex expressions, calculators or calling database sequences.
Another key quality control task it to check your data for duplicates, sometimes no matter how ‘perfect’ you think your data is, an unwanted duplicate can creep in during a processing task. FME gives you the ability to ensure that your data is clean by eliminating all those duplicate objects so only one remains. The answer comes in the form of the appropriately name DuplicateRemover. This transformer allows you to select one or multiple key attribute values that you require to be unique. Any key attribute value that has already been encountered in the DuplicateRemover is sent to a separate port labelled as a duplicate.
Allowing you to maintain the data stream coming from the unique port, giving you confidence in the quality of your output data.
Lastly, users are often tasked with the requirement to provide labels with their output data. There are a number of options in FME for labelling the most basic being the LabelPointReplacer. This transformer enables you to quickly configure labels and rules that will dictate how labels appear.
This transformer replaces the geometry of the coming feature with a label point while also giving you a number of options to define the label value.
If the feature was already a point, it is turned into a text feature at that location.
- If the feature was a line, it is turned into a point text feature at the midpoint of the line and rotated parallel to the line.
- If the feature was an area feature, the resulting point is placed in the interior of the feature.
The LabelPointReplacer removes the hassle of creating labels for your spatial data and should be your first stop when tackling label requirements.
These are some of the key transformers I regularly use when tackling data problems. Hopefully it will give new users a head start on which of the transformers they may want to try out in the future. But don’t forget if you are ever in doubt or lost on what is the transformer for the job;
- Use the associated Help File– Every transformer you select will link to the help file which pops up in the help tab in your workspace. If you are unsure of how to use a certain transformer the help file gives you detailed information on the use of the transformer and how to configure the parameters, input and output ports.
- Use the Transformer search functionality in the Transformer Gallery to pinpoint your possible transformer options. This searches in both Transformer name and description so your search term may be the exact name of a transformer, or it may be a general keyword referring to functionality.
- If all else fails then just try it out, trial and error can often be the best option in understanding exactly how each transformer effects your data. Don’t worry you won’t do any damage to your dataset and can run your workspace as many times as you wish. Just connect an inspector transformer to the end of your workflow instead of connecting it to the writer and you can keep testing until you get it right!