A Custom Format is an FME Workspace wrapped up into a "format". It shows up on the formats list and can be used to pre-process data, as if it were a data format on its own.

It can then be used in any FME component as a separate format, including the Application Extensions, so it is, for example, possible to open a GPS data file directly in Microsoft MapPoint.

A Custom Format can only be an input format.

Swizzle

A Swizzle is a feature of a Custom Format and not to be confused with the Swizzler.

A swizzle defines some of the controls that are used when selecting multiple source datasets.

To be specific this setting controls whether multiple datasets are treated separately inside the custom format, or as a single set of features ("an inherent group-by" to quote Dale).


There are two types of Swizzle: an Inner Swizzle and an Outer Swizzle.


An Inner Swizzle means that all datasets you read are processed as a group. In the above example, features will be intersected against all other features regardless of which dataset they came from.

An Outer Swizzle means that each dataset that you read through the custom format is treated separately. For example, if you have an Intersector transformer in your custom format, features will only get intersected against others in the same dataset.


So from all this you could (like me) infer that...

  1. Swizzles make no difference when you are only reading one dataset at a time
  2. An Outer Swizzle could be used as a form of batch processing
  3. There are probably memory implications about using an Inner Swizzle when you don't have to


See the attached example which contains an Intersector transformer. There are two datasets, each consisting of a single line. The lines overlap.

User-added imageUser-added image

Above: The left-hand display shows an Inner swizzle. Datasets are intersected against each other. The right-hand display is an Outer swizzle where datasets stay independent.

To try out the example:

  1. Install the custom formats (double-click the fds files).
  2. Start FME Viewer
  3. Open the two datasets using the format Demo of inner swizzle
  4. Open the two datasets using the format Demo of outer swizzle
  5. Query the features in the two views and compare them. The outer swizzle features will not be intersected.

 

Installation

Q) Where should I install or store a Custom Format fds file?

A) Depends on your situation and version of FME.

  • For individual use, custom formats should be stored in <my documents>\FME\Formats
  • For shared used on a single computer, place the files inside <fme install dir>\datasources
  • For shared used on multiple computers, place the files anywhere, but remember to share that location.

 

Sharing a Custom Format

Q) What are the benefits of sharing a Custom Format?

A) Sharing a Custom Format (from a central location, as opposed to passing it around) means many users have access to the same FME function. More importantly, if the Custom Format definition changes, you do not have to pass the changed fds file to all the users; their FME installation will use the changed file automatically.

Q) How can I share a Custom Format with other users in my office?

A) To share with other users on a network, share the folder containing the FDS and have other users connect to it as a shared resource. They can do this using Tools > Options > Shared Resource Directories.

Q) I'm writing a script to install a custom format on a customer site. How do I know where to install it?


A) It can go in any of the above mentioned locations, but because these locations could vary you'll need to use environment variables.

  • For individual use install the FDS file to%HomePath%\My Documents\FME\Formats which is the default user folder in Windows (XP).
  • For sharing on a single computer, install the FDS to %FME_HOME%\\datasources which is the default location for fds files for a single FME installation.