Curvefitter
Note: The CurveFitter transformer is available as an extra-cost add-on from Safe Software. Please contact sales@safe.com or call 604-501-9985.
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%.
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.
Dependencies
The Curvefitter transformer is based on linear optimization technology licensed from TCI Corp. It is available for purchase as an add-on to FME. Please contact sales@safe.com.
Output Ports
The curve-fit representations of the input are output to this port. They will have all attributes of the original features.
Parameters
Precision is the main transformer parameter that guides the curve fitting process. It sets the maximum deviation allowed at any point along the polyline between the original and the resulting polyline.
Allows very flat curves to be represented by straight segments. Any curve that has a mid-ordinate less than this amount will be replaced by a straight segment. A typical value is 10% of the precision setting.
The values of the three Weight parameters determine the importance of the three factors relative to each other. Compression is the reduction in the number of vertices. Smoothness is the tangency of consecutive segments – how close the end angle of a segment is to the start angle of the next segment. Accuracy is how closely the resulting curve overlays the original.
This parameter is useful when area features that form a coverage are sent into the transformer. If it is set to No, then each feature is considered independent of all others, and if any features shared boundaries, gaps or overlaps may be introduced. If it is set to Yes, then the input data is decomposed into boundary lines, these are Curvefitted, and then the areas are reassembled. In this case, no gaps will be created. If only linear or non-adjacent area features are input into the transformer, No is the best choice.
Usage Notes
Null geometries that are input will be output unchanged.
Curvefitter Applications and Functionality
Using the Curvefitter, you can:
- Compress file sizes
- Smooth jagged polylines
- Process adjacent area features
- Restore arcs in legacy data
- Automatically process data
Example: Parcel Data
Procedure
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% |
External References
For more information and examples, please see:
- How to get the most from the Curvefitter
- Technology brief (PDF format) on Safe Software's website.
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.
Transformer Categories
Search FME Community
Search for samples and information about this transformer on the FME Community.
Keywords: smooth smoother generalize generalizer