Dynamic Translations GitBook

Dynamic Translations are a way to create "schema-less" workspaces.

What are Dynamic Translations?

Most translations - and everything this training has covered so far - involve a schema defined within the workspace. In other words, the source and destination schema reflect the structure of the source data (what we have) and the structure of the destination data the user requires (what we want).

The layout of a dynamic translation does not reflect either the source or destination schema. It’s a universal layout that is designed to handle data regardless of the schema used by the source data.

FME Lizard says…
For this section, it’s useful to think of a schema as comprised of a trio of objects: feature types, attributes, and geometry type.

Dynamic Readers

On the reader side of things, a dynamic workspace is very similar to using Merge Parameters; feature types are given free entry to a workspace, regardless of whether they are yet defined in there.

Data is also read regardless of attributes or geometry type.

Dynamic Writers

The writer side of a dynamic workspace mimics the reader part; feature types are written to the destination dataset, regardless of whether they are defined in the workspace.

Additionally, all attributes and geometries get written, regardless of whether they too have been predefined in a writer feature type.

Generic vs Dynamic

It's important to understand the differences between generic and dynamic translations, and when to use each of these tools. This table is quite useful as a reference guide:

I know the formatI don't know the format
I know the feature typesStaticGeneric + StaticI know the attributes
I don't know the feature typesFanoutGeneric + FanoutI know the attributes
I know the feature typesDynamicGeneric + DynamicI don't know the attributes
I don't know the feature typesDynamicGeneric + DynamicI don't know the attributes

For example, let's assume you operate a data upload web site. The data will be in a known structure (feature types) and with known attributes. However, you don't know what format it will be. That needs a static schema (because that part is known) but with a generic reader.

If, on the other hand, the format is always the same, but the attributes are unknown, that will require a dynamic translation.

FME Lizard asks…

Q) Let's see if you understand the concepts. Pick out as many of these statements as you think are true:

A dynamic workspace will read/write any format of data
A dynamic workspace will read/write any feature types in the source data
A dynamic workspace will read/write any attributes in the source data
A dynamic workspace will read/write any geometry in the source data

A) Feature Types, Attributes, and Geometry are the three schema parts handled by dynamic workspaces. Format is not handled. This is the role of the Generic Reader/Writer. A workspace may be generic, or dynamic, or both, or neither!

ncG1vNJzZmirY2Ourq3ZqKWar6NjsLC5jqCgrZqfpLhwkMSsoq2noGKOpcLAp5qenF1nfXKFjn2crKOkpL2CsNWapZydlGiOpcLAp5qenIKMfHR6j3BlfbGelrqqr7OrmKernJbBqrvNrGWhrJ2h