Smooths lines derived from line segments, points or raster data, and replaces a series of line segments with the optimal combination of straight lines and embedded arc segments required to create smooth curving lines.

This process provides a truer representation of real-world features and can reduce file sizes by up to 80%.

Using the Curvefitter, you can:

  • Compress file sizes
  • Smooth jagged polylines
  • Process adjacent area features
  • Restore arcs in legacy data
  • Automatically process data

In addition to processing simple line features, Curvefitter preserves feature topology when smoothing boundaries of adjacent area features.

Before the advent of enhanced geometry, FME was forced to stroke arcs into line sections to be able to process that data. Many other GIS packages that did not support arcs also ended up forcing the stroking of arcs, the net results being a great amount of data that could be represented by arcs but isn't. The Curvefitter transformer will allow a user to replace such stroked line segments with true mathematical arc segments. It will likewise permit the replacement of surveyed line features with an arc representation.

Example: Parcel Data


A subset 6.1 MB Esri shapefile (provided by Grays Harbor County, in Washington State) was extracted and converted into four different formats: DWG file (3.8 MB), MapGuide SDF (4.5 MB), Esri Personal Geodatabase (5.4 MB) and ArcGIS 9.2 File Geodatabase (1.89 MB).

Each file was then processed using the following Curvefitter settings: Precision 0.1 feet; Flattening 0.1; Compression Weight 1; Smoothness Weight: 1; Accuracy Weight: 1; Preserve Shared Boundaries: Yes.

Parcel Data Test Results

Data Format Before Curvefitter After Curvefitter File Size Reduction
AutoCAD DWG 3.8 MB 1.6 MB 58%
MapGuide SDF3 4.5 MB 1.6 MB 64%
Esri Personal Geodatabase 5.4 MB 4.8 MB 11%
Esri ArcGIS 9.2 File Geodatabase 1.89 MB 1.07 MB 77%

Usage Notes


Output Ports


Editing Transformer Parameters

Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.

Defining Values

There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.

Dialog Options - Tables

Transformers with table-style parameters have additional tools for populating and manipulating values.

FME Community

The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.

Search for all results about the CurveFitter on the FME Community.

Keywords: smooth smoother generalize generalizer