For more information on GDF, be sure to download this presentation given by Safe Software's Professional Services team at a recent conference (GDF_Presentation.zip - 2.16MB).

Reading or Writing GDF (Geographic Data Files) using FME

When you undertake a data translation using FME Universal Translator or Workbench, FME builds an FME Posting Script (Mapping File or Workspace) that controls the mapping of the source to destination format schemas. For the vast majority of formats that FME supports, FME can automatically generate the FME Posting Script with little or no intervention from the user. FME can extract all the geometry and attribute information for each table or feature type in the source dataset, and make a reasonable guess at how this data should be represented in the destination dataset. This is what we refer to as a drag & drop format. The posting script can then be fine tuned, either in the FME Workbench, or using an ASCII editor, to get exactly the desired results - for example, changing attribute or table names, adding coordinate transformations, etc.

FME can be used to read GDF data and the GDF reader settings can be used to control how the GDF data is to be interpreted - based on the GDF Level and the degree of attribute completion. In the case of the FME GDF reader then, FME can automatically generate the require FME Posting Script and translate the GDF datasets to the vast majority of FME supported formats, with little or no intervention from the user. However, it is very likely that users would need to then modify the FME Mapping File (or workspace) to cope with the complexity of GDF and translate only what is needed into the destination format.

FME Universal Viewer is the ONLY tool available for directly viewing and interrogating GDF datasets, without an intermediate translation step. FME Universal Viewer allows the display of XYZRECs as well as Level 0, Level 1 & Level 2 structures, along with attribution.

Writing GDF data requires considerably more effort and understanding on the part of the user. GDF is both a format and a data schema. In addition, the end use of the GDF dataset will dictate which GDF structures are appropriate. For example, Brunnels can be represented as either a Level 1 line or a Level 1 point or possibly as a Level 2 structure. The end user GDF application often dictates how complex the resulting GDF file needs to be (addressable areas, Level 2 relationships, sections, etc.).

Due to the complex nature of the GDF format and it's complex geometric topology, FME cannot automatically generate the FME Posting Script. This is because it is impossible for FME to determine what source attributes should be mapped to the GDF attribution (i.e. turn restriction codes etc.) Also, the GDF geometry, XYZREC, and the topological relationships required to build Level_0,Level_1 & Level_2 structures cannot be easily predetermined. Instead, you have to edit the FME Mapping Files to be able to write to GDF. This requires quite an in depth understanding of FME, FME Mapping Files and the GDF format. In essence it is up to the user to organize the GDF structure in the FME Mapping File script.

The amount of effort required to develop the FME Posting Script depends almost entirely on the schema of the source data and the required end use of the GDF dataset. If the source schema "matches" the GDF schema fairly closely in terms of topological relationships etc, then far less work is required. If the source data has little or no topological information, then this must be constructed which increases the complexity of the FME Posting Scripts.

We have constructed example FME Posting Scripts to illustrate the data restructuring that may be required. These are available on request.

In conclusion, to write GDF data you need a good understanding of FME, the GDF format, the GDF schema, your source data schema, and the proposed usage of the GDF dataset. It essential to have a well defined schema specification for the GDF dataset. The requirements specification should detail the required schema for the application that will read the GDF dataset (including themes, custom attributes and any data hierarchies), how the source data will map to the required GDF themes & attributes, and whether the source data has the necessary topological structure or whether the topology has to be constructed in the FME Posting Script.

Please contact us to find out more about our Professional Services and to find out how Safe Software can help customize a GDF solution to meet your needs.