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 Workbench, FME builds an FME Workspace that controls the mapping of the source to destination schemas (data transformation) as well as changing the data format. For the vast majority of formats that FME supports, FME can automatically generate the FME Workspace with little or no intervention from the user. FME can extract all the geometry and attribute information for each feature type (or table) 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 workspace can then be fine tuned, either in the FME Workbench to get exactly the desired results - for example, changing attribute or table names, adding coordinate transformations, etc. This process is the data transformation capabilities of FME.
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 Workspace 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 Workspace to cope with the complexity of GDF and translate only what is needed into the destination format.
FME Universal Viewer is a 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. Some GDF data suppliers also offer GDF viewers to support their specific flavours of GDF.
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 Worksace. 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 Workspaces to be able to write to GDF. This requires quite an in depth understanding of FME, FME Workspaces and the GDF format. In essence it is up to the user to organize the GDF structure in the FME Workspace.
Another key factor is the quality and consistent of the source data. The importance of high quality and consistent source data cannot be over emphasized. The complex topology of GDF requieres that area edges match, nodes are properly placed on lines, lines connect, and that intersecting lines are properly noded. If necessary, it may be necessary to configure an FME Workbench or use a traditional GIS application) to clean-up the data prior to running it through a GDF conversion workspace.
The amount of effort required to develop the FME Workspace 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 with FME, which increases the complexity of the FME Workspace.
We have constructed example FME Workspaces 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 feature types and attributes 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.
