Whats Great 2010
From fmepedia
![]() |
The information here is designated one of the that are the most cool, interesting or useful. |
What's Great in the next FME?
This is the What's Great for 2010.
Long-time FME'ers will know that with each release of FME we issue a list of "What's Great" with that version. That list gets built up and added to as we work through the beta cycle of that product.
Now we're making that list open to public viewing before the release. So here's what's going to be great about FME 2010 - and remember to check back here for regular updates.
NB: If you were redirected here from another page and find there are no images then simply click the 'article' link at the top of the page.
Summary of Highlights
Summary up to and including build 6170
| Functionality | # of new items |
|---|---|
| New Vector Formats | 7 |
| New Raster Formats | 2 |
| New Database (& Misc) Formats | 3 |
| New Transformers | 40 |
| New Factories + Functions | 4 |
| Table of contents |
|
|
General
Splashscreen

Above: The 2010 splashscreen.
Core
- Switch the default for Geometry Handling from "Classic" to "Enhanced". This applies to Viewer and Workbench (PR#17325)
- The Geometry Handling setting has always defaulted to "Classic" for new workspaces. Now it defaults to "Enhanced" (what used to be known as Rich). Existing workspaces are unaffected by this change.
- Added support for double-sided face geometries (PR#19514). This is currently required for SketchUp support, but will be needed in the future by other formats which store front and back faces
- Added support for named geometries
Installer
- Vista default Install directory is now C:\apps\FME
- Remember the installation path of a previous FME installation to use as the default when next installing (RT#122089 PR#21638)
- Installation of FME SDKs is now optional via a dialog. The default is NO (PR#21482)
- Added a "Check for Updates..." option to the Help menu of Workbench, Universal Viewer, and Data Inspector (PR#20521)

Above: Check for Updates option in Workbench
Licensing
- Allow the user to select the port for the floating license server (PR#21550)
- Added a Windows executable for command-line licensing of FME.

Above: Command line licensing tool
Applications |
Workbench |
- Navigator Pane
- Updates to the Feature Types to Read parameter (PR#19618)
- Allow users to manually modify the Feature Types to Read parameter. With this change users have the ability to add Feature Types which do not exist in the workspace, either manually or by importing from another dataset
- Make the Feature Types to Read parameter fully dynamic. When a merge filter is set the Feature Types to Read list is generated dynamically from the source dataset, not statically from the workspace. This means tables from a database (for example) can be read despite not having been previously defined in the workspace.
- Updates to the Feature Types to Read parameter (PR#19618)

Above: With Feature Types to Read published (1) and a Merge Filter set (2) the user is presented with a list of all Tables from this database (3) whether or not they are pre-defined in the workspace
- The Generic Writer format parameter is now automatically published
- Added new parameter type, "Choice with Alias", which facilitates the creation of coordinate-system and format filters (PR#17617 PR#18548) - for more info see The FME Evangelist (http://evangelism.safe.com/fmeevangelist38/).

Above: Choice with alias parameter being used to define a format selection tool
- All Choice published parameters may now be defined by importing values from any FME-supported dataset (RT#125719 RT#131990 PR#19796).
- FME Server Integration
- Added a checkbox option for optionally not including resources when downloading a workspace from an FME Server (PR#15847)
- Made the FME Server "Upload Resources" dialog available even if no resources are automatically detected (PR#16666)
- Added service-specific parameters to the FME Server Publish Wizard in Workbench (PR#20345)

Above: Service-specific parameters (in this case KML Network Link) in the publishing wizard
- Improved the FME Server Publish Wizard's connection page in Workbench (PR#20291)
- Added a tool to re-publish workspaces to FME Server (without going through the wizard again)
- Improved logging of publishing process.
- Retain repository name across sessions (PR#16179 PR#19715 PR#21228)
- When downloading workspaces from an FME Server, the default path is now "My FME Server Workspaces" (PR#20291)
- Add NTLM proxy support to all web formats and transformers (PR#17310 PR#22145)
- Added a new listbox for selecting which workspace writer will be streamed/downloaded/etc (RT#125097 PR#19743)
- Transformers
- Renamed 2DGridReplacer to 2DGridAccumulator
- Renamed CoordinateFetcher to CoordinateExtractor (PR#19708)
- Renamed CoordinateSystemFetcher to CoordinateSystemExtractor (PR#19708)
- Renamed GeometryTraitFetcher to GeometryTraitExtractor (PR#19708)
- Renamed VirtualEarthTiler to WebMapTiler
- Moved FMEFunctionCaller from Strings transformer category to Infrastructure (PR#20228)
- Merged DistanceSnipper and VertexSnipper into a single Snipper transformer (PR#12995)
- Renamed ValueMapper to AttributeValueMapper
- Renamed Concatenator to StringConcatenator
- Renamed MRFCleaner2D to MRF2DCleaner
- Renamed MRFCleaner3D to MRF3DCleaner
- Standardized the look of transformer dialog boxes by grouping the properties fields

Above: The Clipper is one example of a transformer whose parameters look much better when tidily grouped
- GUI
- Added new fancy Welcome Page to greet users

Above: New Welcome Page in FME Workbench has links to various FME resources
- Improve workspace loading time (PR#20971)
- Added File menu option "Download from fmepedia..." to download fmepedia examples directly into Workbench (PR#19716)

Above: Download from fmepedia option in FME Workbench
- Display pink dot (for drag and insert) correctly on Visualizer transformers (PR#13080)
- Allow use of Shift key in QuickConnect (Ctrl key already permitted) to handle multiple connections
- The Log Window Options to log Timings and Debug information are now moved into the FME Options dialog, with a button to open it directly.

Above: The log window options, and where to access them in the FME Options dialog
- Added basic workspace search capabilities (PR#7375)

Above: Here the user searched for the term _coordsys and Workbench returned two transformers which make use of that attribute
- In transformer property dialogs, display the names of published parameters (e.g. "<Published: MY_PARAM>").

Above: Transformers now show the name of the parameter when one is published - previously it would just have shown "Published".
- Added context menu option to copy text from a summary annotation.

Above: Right-click Summary Annotation and you can copy the text (for example into an editable user annotation like this user has already done)
- Separated the Transformer Description pane into its own dockable window.
- Made the Transformer Description Window update to reflect whichever transformer is selected on the canvas (PR#21817)
- Allow adding of transformers quickly to workspace by clicking the canvas and typing a search term. We call it "Quick Add".
- "Quick Add" also inserts transformers when an existing connection or transformer is already selected

Above: Adding a CoordinateExtractor transformer using the QuickAdd tool
- Added context menu options to transformers and source datasets to connect output ports to Logger transformers

Above: The option to connect a transformer directly to a new Logger transformer
- Added an optional destination dataset field in the Generate Workspace dialog. By setting this you are no longer prompted for the value when running the workspace.

Above: The new option to define the destination dataset
- Added locale and code page info in About dialog and in log files (PR#12785 PR#20295)

Above: The new info is found by opening the About FME dialog and clicking "More Info"
- Added filtering options for the different log message severities (RT#41804 RT#42389 RT#42456 RT#42950 PR#10396)

Above: The FME options to turn on/off log messages
- Added Connect Logger/Visualizer options to the multi-selection context menu (PR#22784)
- Added "Create Bookmark" option to the multi-selection context menu (PR#22952)
- Updated Workbench terminology and interface to be more consistent (PR#22546) (PR#22895) (PR#20638) (PR#19932) (PR#13895) (PR#18983)

Above: The Workbench menubar with new terminology. Readers and Writers instead of Source and Destination.
- Changed default toolbar buttons for new installations (eg Removed Print from the default toolbar layout which most people only press by accident!) (PR#20118)
- Added Spread and Align options to a multi selection context menu (PR#19225)

Above: Align options on the multi-selection menu
- Updated Transformer Description window to use HTML version of help document

Above: Now the Transformer Description window can have links and images as well as text
- Coordinate Systems
- Implemented settings (which were originally part of the Universal Translator) to allow the hiding of coordinate system groups (RT#45785 PR#10876)

Above: Now you can use Tools > Coordinate Systems to turn off groups of systems (eg African ones) so that you don't see them in your coordinate system gallery
- Formats
- A dynamic schema can now be applied to ANY format of writer, instead of being limited to a special mode on the generic writer

Above: This GML writer (for example) now has the ability to define its schema dynamically, rather than having it pre-defined
- Added ability to generate dynamic workspaces directly from the New Workspace dialog

Above: Option on the New Workspace dialog to generate a Dynamic workspace
- Don't show unexpected input warnings for disabled feature types (PR#20634)

Above: The Unexpected Input Remover will remove disabled features, but not report them as a problem at the foot of the log window
- In the FME Options dialog, added an option to visualize data with the new FME Data Inspector.

Above: The option which lets a user choose whether to visualize data with the old or new application
FME Universal Viewer |
FME Server |
- General
- Configurable properties have been migrated into a properties file architecture consistent with the web services (PR#20914)
- Added support for GUI LOOKUP_CHOICE lines to permit use of Choice with Alias (PR#18476 PR#22048)
- Added failover server capability to the following services: download, streaming, KML network, job submitter, OGC WFS/WMS, SOAP, web UI user/admin (PR#22539)
- Installation
- Added custom dialog and prompts for setting up SMTP authentication for a mail server (PR#20748)
- WMS
- Support REQUESTs of type GetFeautureInfo to provide information on features that fall within a specified portion of the image
- Services
- Implemented a data upload service to replace the existing functionality (PR#20020)
- Added ability to select which workspace writer will be streamed/downloaded/etc (RT#125097 PR#19743)
- Security
- Implemented security including login screen as well as basic authentication (PR#20014)
- Implemented security management user-interface (PR#20018)
- Enhanced FME Server to support JAAS security framework for authentication and implicit rights role based access.(PR#20012)
- Added authentication to FME Server C++ API.
- Added support for HTTP Basic authentication on Data Upload
- Enabled SSL support including special cases for SSL-related errors (PR#21940)
Application Extenders |
- AutoDesk
- FDO
- Added version 3.4 support
- Removed access to open source providers Shape, WFS, ODBC
- Updated the SDF3 and MySQL providers
- Added the SQLite3 provider as its own format (PR#17780)
- FDO
Formats |
Vector Formats |
New Vector Formats
- Autodesk 3ds
- Added support for reading 3ds format datasets (PR#16654)
- Added support for reading textures in 3ds (PR#16654)
- Added support for writing Appearances in 3ds (PR#19337)

Above: Some Quick Facts about 3ds format from the Readers and Writers Manual
- Autodesk AutoCAD Civil 3D
- Initial implementation of a reader for Autodesk Civil 3D Drawing files (RT#85748 PR#15168)
- Added MPolygon entity writing (RT#99268 RT#126879 RT#129292 RT#129850 PR#20116)

Above: Some Quick Facts about Civil 3D format from the Readers and Writers Manual
- Collaborative Design Activity (COLLADA)
- Added support for reading 3D geometry from referenced COLLADA files; Added support for writing 3D geometry to COLLADA files.

Above: A Collada model visualized in the FME Data Inspector
- ESRI MSD
- Initial implementation of an ESRI MSD (ESRI Mapping Specification for DWG and DXF) reader. This is a tool to read data from a DWG dataset created using ESRI's method of storing feature class schema information and feature geometry and attribute information (RT#96284 PR#15409)
- Added MPolygon entity writing (RT#99268 RT#126879 RT#129292 RT#129850 PR#20116)

Above: Some Quick Facts about ESRI MSD from the Readers and Writers Manual
- NGDC Hydrographic Surveys Data Exchange (HYD93)
- Initial implementation of a Reader/Writer for HYD93 (Hydrographic Surveys Data Exchange Format) datasets (PR#19809)

Above: Some Quick Facts about HYD93 format from the Readers and Writers Manual
- OS VectorMap Local
- Implemented new reader for Ordnance Survey VectorMap Local (http://www.ordnancesurveyvectormap.com/) datasets (RT#135521 PR#22356)
- Space Delimited XYZ
- Added support for reading Space Delimited XYZ format datasets (PR#19978) XYZ is one of the download format options for the Marine Trackline Geophysical Database (http://www.ngdc.noaa.gov/mgg/geodas/geodas.html) (a webmap application that you can use to browse for and download NGDC/NOAA data)
Vector Format Updates
- Adobe PDF Geospatial (2D)
- Added unicode support for non-page-text elements (PR#19086)
- Added support for a number of North American and International page sizes (PR#19073)
- Added ability to create tooltips on objects in a PDF using pdf_tooltip format attribute (PR#18964)
- Added ability to create hyperlinks on objects in a PDF using pdf_url format attribute (PR#19070)
- Added Feature Type parameter to optionally hide layers (PR#19314)
- Added support for text styles and font embedding (RT#125773 PR#19075 PR#19263)
- Added support for pen and fill opacity (PR#19311)
- Added ability to specify coordinates relative to the other edges of the page (as a percentage) (PR#20168)
- Added ability to set the draw order of individual features (RT#125773 PR#19096)
- Added multipage support (RT#124669 PR#19074)
- Added support for writing raster features for 2D PDF (RT#95923 RT#132872 PR#18950)
- Adobe 3D PDF
- Added support for writing textures in PDF3D (PR#19307)
- Added support for writing raster features for 3D PDF as 3D textured faces (RT#95923 RT#132872 PR#18950)

Above: A raster image written by FME and displayed in PDF. (nb: the vector data was overlaid on it using the VectorOnRasterOverlayer transformer)
- AutoCAD DWF
- Upgrade Autodesk DWF format reader and writer to support DWF files versions 6.01 to 6.20, including 3D entities (PR#13541)
- Added MPolygon entity writing (RT#99268 RT#126879 RT#129292 RT#129850 PR#20116)
- AutoCAD DWG/DXF
- Added a new reader keyword STORE_LAYER_INFO (RT#96970 PR#16331)
- Set to "yes" this keyword causes features to receive attributes describing their source layer. The following attributes were added: autocad_layer_linetype, autocad_layer_color, and autocad_layer_lineweight
- Added MPolygon entity writing (RT#99268 RT#126879 RT#129292 RT#129850 PR#20116)
- Added a new reader keyword STORE_LAYER_INFO (RT#96970 PR#16331)
- AutoCAD Map 3D Object Data
- Added support for reading MPolygon entities (the plain AutoCAD DWG reader already had this functionality) (RT#118907 RT#120701 PR#18401)
- Added ability to append object data to entities which already exist in the template file (PR#19161)
- Features given to the writer with an autocad_entity attribute of autocad_od_table and an autocad_od_entitty_key that matches the entity handle of an existing feature in the template file, while the writer is set to append data to the template file, will add the attributes as object data on the referenced entities.
- Autodesk MapGuide Enterprise SDF
- Added supprot for MapGuide Enterprise 2010
- AutoDesk SDF
- Added an option for the SDF reader to fetch table names without including a prefix (PR#20594)

Above: The effect of turning on this setting can be seen in the names of the tables.
- Bentley MicroStation Design (DGN) V8
- Added support for reading and writing custom linestyles as blobs (PR#6063 RT#12995 RT#44252 RT#48236 RT#59915 RT#98600 RT#113668 RT#118225 RT#120445 RT#121145)
- A Navigator parameter (Remove Duplicate Points) now lets users choose whether to remove vertices with duplicate X/Y coordinates. This allows vertical features (same X/Y, different Z) to be correctly read (RT#42943 PR#10553)
- Added support for reading and writing user linkages of type 32000 and 32001 as a blob
- Added read/write support for the format attribute custom_linstyle_scale (RT#118694 RT#139807 RT#59915 RT#121145 RT#124863 PR#18326)
- Added keywords Drop Complex Chains/Shapes and Apply World File (.wld) to Design V7 and V8 settings boxes (PR#20710 PR#20711)
- Added format attribute igds_style_name to give additional, more unique information related to the igds_style which is a 'unique per file' id.
- CityGML
- Added support for reading CityGML textures and materials (RT#123811 PR#17407)
- Added support for writing CityGML textures and materials (RT#123811 PR#17407)
- CityGML writing now defaults to version 1.0.
- EDIGEO
- Added additional French EDIGEO coordinate system mappings (RT#131143 PR#21162)
- ESRI ArcGIS Map (MXD)
- Implemented reading of features with unique value symbology (eg thematic or classified colors)
- Implemented reading of features with colour ramped symbology (PR#20420)
- ESRI E00/Coverage
- Support region aggregates (PR#18959 RT#121750)
- ESRI Geodatabase
- Added reading of domains that are linked to subtypes (PR#14180)
- Resolves the situation where K is basically a domain within a subtype, such that the domain that K uses depends on the subtype value for I.
- Added reading of domains that are linked to subtypes (PR#14180)
- Updated Geodatabase relationship reading. Improved performance, removed unnecessary warning, added reader directive to ignore relationship info in mapping file (and read attributed relationships as tables) (RT#126988 PR#20194 PR#18243 PR#20427)
- Added support for textured 3D geometry reading and writing (RT#123811 RT#124679 PR#17082)
- Added support for writing raster features to an ESRI Geodatabase (RT#83848 RT#86013 RT#96037 RT#100400 RT#109100 RT#114201 RT#117647 RT#129480 PR#10770)
- ESRI Shape
- Implemented new parameter to write 3D features as PolygonZ rather than multipatch (apparently PolygonZ features are easier to handle in ArcMap)

Above: The new parameter in the Shape writer parameters dialog
- Implemented new reader keyword to define character encoding
- FFS (FME Feature Store)
- Writer converted to a FILE writer to allows correct feature type name storage (PR#5630 RT#14009)
- Added compatibility with fanout. (PR#10851)
- Removed SCAN_FOR_SCHEMA and NO_SCHEMA writer directives. (PR#10851)
- Writer compression default is now 0 (PR#10851)
- GDF
- Added support for latest revision of Navteq GDF (PR#15466)
- Generic Format
- The Generic format now includes a Generic Reader, to read datasets without prior specification of the source format.

Above: By default the new Generic Reader will guess at the dataset's format from its file extension
- The Generic writer is now able to obtain feature type properties from a dummy writer of the same type (it already got writer parameters this way). This extends generic writing to formats which require specific feature type parameters (such as databases)
- Users can now specify an output base file name instead of it coming directly from the name of the directory

Above: The new Generic Writer parameter in the Navigator pane
- GeoConcept
- Improved writing speed significantly by reducing disk access (PR#19491)
- GeoJSON/JSON
- Added a new writer parameter for conforming stricly to GeoJSON grammar by writing multi-layers as an array of GeoJSON feature collections. If unchecked, the output will be an FME variation; a "name" key whose value will be the feature type name to a GeoJSON feature collection (PR#19717)

Above: The new GeoJSON writer parameter
- The JSON reader and JSONQueryFactory can now handle responses from JSONP queries (PR#19587)
- The JSON reader can now read keyless features with generic attribute names 'attribute0', 'attribute1', etc (PR#20327)
- GML
- Added optional SRS_AXIS_ORDER directive. It allows the user to override the axis order used by the reader when reading gml coordinate tuples (PR#21256)

Above: The GML SRS Axis Order parameter (accessible through the Navigator window) has a number of different settings
- GE Smallworld
- The default supported version of Smallworld is now 4.1 (PR#22212)
- Google SketchUp
- Added support for Component Opening/Cut in FMEFaces as Donut hole (PR#20828)
- Added coordinate system support for SketchUp reader (PR#20935)
- Added "Read Hidden Geometry" parameter to read elements marked hidden (PR#21333)
- The SketchUp reader now produces fewer features (one surface model per layer) which speeds up writing and reduces output file sizes
- GPX
- The GPX writer will now always output the bounding box and creation time, even if no Metadata feature was received
- The GPX writer will now always reproject features to EPSG:4326 to match the GPX specification. Features with no coordinate system are assumed to be EPSG:4326 already
- The GPX writer will now use feature geometry to guess an appropriate type for unknown GPX features. This allows automated translations to GPX (PR#18885)
- Intergraph GeoMedia Access Warehouse
- Change default underlying database from Access 97 to Access 2002, to ensure decent encoding support (RT#68810 RT#132402 PR#12701)
- Interlis
- Updated Interlis2 format to 5.1.0. (RT#120176 PR#20114)
- KML
- Added support for NetworkLink Update tags (PR#13490)
- Add support for writing tours and Google's other extensions to KML 2.2 (PR#19534)
- Add support for reading tours and Google's other extensions to KML 2.2 (PR#21852)
- Add support for writing model geometry elements (PR#18187)
- Renamed from "OpenGIS KML Encoding Standard" to "Google Earth KML"
- MapInfo TAB
- Implemented new reader keyword to define character encoding
- MapInfo MIF/MID
- Implemented new reader keyword to define character encoding
- NAS
- Reader now maps "gml:CompositeCurve" as an fme path
- Reader now recognizes the NAS "AA_Koordinatenreferenzsystemangaben" element to retrieve coordinate system when the dataset lacks any gml srsName attributes
- ODBC
- Add ability to use persistent connections in reader and writer (PR#16744)
- S57
- Added format attributes s57_update_file{} and s57_update_type{} to each feature to identify which associated update files (*.001, *.002, etc) included changes (RT##54967 RT#70581 RT#120270 PR#11574)
- When reading S57 data it is possible to apply updates from additional files. All features updated in this way are now tagged to show which update file(s) applied changes to that feature.
- All update files (*.001, *.002, etc) being read along with the main dataset now cause a log message to confirm their use (RT#120270 PR#18648)
- Added format attributes s57_update_file{} and s57_update_type{} to each feature to identify which associated update files (*.001, *.002, etc) included changes (RT##54967 RT#70581 RT#120270 PR#11574)
- Added a source settings box option so the user can specify whether the source data is v1 or v2 (RT#47484 PR#11011)
- Add support for IENC version 2.0 (RT#117676 PR#18232)
- Added support for reading spatial attributes ("Positional Accuracy" and "Quality of Position") (PR#13603)
- Wavefront OBJ
- Added support for BMP image textures (PR#20899)
- WFS
- Proper URL-encoding of feature types/layer names which contain reserved or non-ascii (international) characters
- Added optional WFS parameter "XML Filter Expression" where the user can input their own OGC XML Filter expression in a text field
- XML
- Added options SUPPRESS_XML_DOCUMENT and SUPPRESS_XSD. If the location is a URI then .xsd output is suppressed automatically.
Raster Formats |
New Raster Formats
- BAG
- Implemented new reader and writer for BAG (Bathymetric Attributed Grid) format datasets (RT#52018 PR#11297)

Above: Some Quick Facts about BAG from the Readers and Writers Manual
- RData Raster
- Implemented new reader/writer for R raster datasets (RT#132871 PR#21718)
Raster Format Updates
- ALL Raster Formats
- Readers now prioritize coordinate system information from related files above information contained in the dataset itself (for example with ECW-files with corresponding TAB-files, coordinate system information in the TAB files will take precedence over the ECW file coordinate system)
- ECW
- Added support for IGN-RGF93 and RGF93.CC* coordinate systems (RT#133226 PR#21684)
- ENVIHDR
- Added support for reading/writing palettes.
- Added ability to preserve band names on writing (RT#132358 PR#21509)
- ESRIHDR
- Added option to specify byte order (little/big-endian) when writing data (RT#128636 PR#20512)
- GEOTIFF
- Added support for reading multiple page GeoTIFF datasets (RT#130932 PR#10386)
- Added option to write projected coordinate system as EPSG code or explicit parameters (PR#14080)
- Added option to set interleaving on writer (RT#133344 PR#21705)
- Added an option for writing a photometric interpretation (RT#133509 PR#21758)
- Added support for writing CCITT compression types (RT#133509 PR#21759)
- Added parameters to set tile size (RT#133960 PR#21902)
- JPEG/JPEG2000
- Added support for reading Exif GPS tags (latitute, longitude, etc) as Format Attributes (PR#20110)
- See this page for using these tags to write photos to KML.
- Added JPEG2000 support for IGN-RGF93 and RGF93.CC* coordinate systems (RT#133226 PR#21684)
- Added support for reading Exif GPS tags (latitute, longitude, etc) as Format Attributes (PR#20110)

Above: Some format attributes for Jpeg Exif GPS tags
- Leica Geosystems ERDAS RAW
- Added option to specify byte order (little/big-endian) when writing data (RT#128636 PR#20512)
- Leica Geosystems ERDAS IMAGINE
- Added option to write an ESRI-compatible coordinate system (RT#60454 RT#107783 PR#12229 PR#17614)

Above: The Navigator window parameter to create an ESRI-compatible coordinate system
- NITF
- Support NITF files with embedded JPEG2000 image(s)
- TIFF
- Added option to create tiled files (RT#133919 PR#21898)
- WMS
Proper URL-encoding of feature types/layer names which contain reserved or non-ascii (international) characters (RT#107126 PR#8722)
Database (and Miscellaneous) Formats |
New Database and Miscellaneous Formats
- File Copy
- Added a new FileCopy Writer. This 'format' actually moves or copies files defined by attribute values of incoming features (PR#20663)

Above: Writer parameters for the FileCopy writer as seen in the Navigator pane
- Metadata
- Added new Metadata reader, used to return schema components as features (PR#21137)

Above: The Metadata reader returns (as seen in FME Viewer) a set of attributes describing the schema of a chosen dataset
NB: This format has been removed from FME until further notice
Mireland 12:01, 8 Feb 2010 (PST)
- Added new readers and writers for Netezza databases
- Added transaction/batch loading support. Required dropping support for autoshrinking geometry column size

Above: Some Quick Facts about Netezza Spatial from the Readers and Writers Manual
Database Format Updates
- ALL Database Formats
- Non-database formats writing to a database now preferentially map strings to fme_varchar not fme_char (RT#122719 PR#19110)
- All database writers now honour a list of keywords - specific to each database - that cannot be used as column names (PR#20435)
- ADO-Related Formats
- Support reading from Access (accdb) and Excel (xlsx) v2007 formats (RT#123319 RT#126521 PR#20559 PR#13881)
- CSV
- Implemented new reader keyword to define character encoding
- Support unpaired quotation marks using a keyword/parameter QUOTES_MAY_SPAN_MULTIPLE_LINES (PR#18546 PR#19406 PR#20717 RT#114026 RT#123889 RT#124243 RT#124873 RT#125023 RT#125110)
- MicroSoft SQL Server
- Added COMMAND_TIMEOUT parameter to writer (and @SQL) to allow a user to specify timeout period of SQL commands. The value defaults to 30, with 0 meaning to wait indefinitely (RT#118462 RT#122698 RT#122975 RT#125389 PR#18299)

Above: SQL Server (Non-Spatial) Timeout Parameter
- Oracle Spatial and GeoRaster
- Added ability to Oracle Raster writer to create SECUREFILE raster tables. This is acheived using the format attribute oracle_raster_lob_type which may have values of either "BASICFILE" or "SECUREFILE" (RT#117388 PR#18441)
- Allow writing multiple bands with palettes to GeoRaster tables
- Added support for writing measures to point and multipoint geometry (PR#16214)
- Added support for writing measures to all 3D geometries (PR#22003)
Functionality |
Core |
- Logging
- Initial support for writing logs in a user-specified character encoding. User can specify LOG_ENCODING on the command-line (or the FME_LOG_ENCODING environment variable) to write the log in UTF-8 (PR#19950)
Transformers |
New Transformers
- AppearanceStyler
- Added a new transformer AppearanceStyler which creates a style of 3D objects that can later be applied to a surface or surfaces (PR#22067)
- AppearanceAdder
- Added a new transformer AppearanceAdder which applies an appearance style to a surface or surfaces (PR#22067)
- AppearanceExtractor
- Added a new transformer AppearanceExtractor which extracts a style definition from an existing surface or surfaces (PR#22067)
- AppearanceRemover
- Added a new transformer AppearanceRemover which removes an appearance from an existing surface or surfaces (PR#22067)

Above: The Appearance transformers as seen on the Workbench canvas.
- ConvexityFilter
- Added a new transformer, ConvexityFilter, which determines whether areas, surfaces, and solids are concave or convex (PR#17093)
- DensityCalculator
- Added a new transformer/factory for calculating the density of a candidate feature based on a set of reference features

Above: The DensityCalculator transformer
- Displacer
- Added a new transformer, Displacer, used to resolve proximity conflicts after generalization

Above: The Displacer transformer
- FileNamePartExtractor
- Implemented new transformer based on the FME function @Filenamepart. It will extract DIRNAME, FILENAME, ROOTNAME, and EXTENSION from any full filename and path.

Above: The parameters dialog for the FileNamePartExtractor transformer
- GeometryNameExtractor
- Added a new transformer, GeometryNameExtractor, to extract (fetch/retrieve) the name of a feature's geometry

Above: The GeometryNameExtractor fetches the geometry name into an attribute, but also filters the feature depending on whether it had any geometry name or not
- GeometryNameRemover
- Added a new transformer, GeometryNameRemover, to remove a feature's geometry name

Above: The GeometryNameRemover has no settings - it merely removes whatever geometry name already exists
- GeometryNameSetter
- Added a new transformer, GeometryNameSetter, to apply a name to the geometry of a feature

Above: The GeometryNameSetter can assign a geometry name from either a fixed value or from an attribute
- KMLPropertySetter
- Added a new transformer, KMLPropertySetter, to set feature properties such as Balloon style, navigation tree settings, and geometry.
- KMLRegionSetter
- Added a new transformer, KMLRegionSetter, to set region-related display criteria for KML-destined data.
- KMLTimeSetter
- Added a new transformer, KMLTimeSetter, to set time-related KML attributes.
- KMLTourBuilder
- Added a new transformer, KMLTourBuilder, to generate KML tours from input features.
- KMLViewSetter
- Added a new transformer, KMLViewSetter, to set view-related KML attributes.
- LeftRightSpatialCalculator
- Added new transformer LeftRightSpatialCalculator which computes the relative positions of linear features

Above: The LeftRightSpatialCalculator computes the position of CANDIDATE features relative to one or more BASE features
- MeasureRemover
- Added a new transformer MeasureRemover, based on new REMOVE_MEASURES and REMOVE_ALL_MEASURES options in @Geometry (PR#14739)
- MinimumAreaForcer
- Added a new transformer, MinimumAreaForcer, that enlarges polygons to meet a mimimum area requirement
- MRF2DCleaner
- Added new transformers which are subsets of the main MRF2DCleaner transformer. These are:
- MRF2DConflator
- MRF2DDangleRemover
- MRF2DDuplicateRemover
- MRF2DExtender
- MRF2DGeneralizer
- MRF2DIntersector
- MRF2DJoiner
- MRF2DShortGeometryRemover
- NetworkTopologyBuilder
- Implemented new transformer: NetworkTopologyBuilder. Fixes direction of edges in a network and finds connectivity to a destination node (PR#19447)

Above: The NetworkTopologyBuilder transformer
- PDFStyler
- Added a new transformer PDFStyler to style features for the GeoSpatial PDF writer (PR#20477)

Above: Key parameters on the PDFStyler allow you to set a name, tooltip and URL link. Color and linestyle settings are also available
- PlanarityFilter
- Added a new transformer PlanarityFilter to determine whether features are planar (http://www.chambersharrap.co.uk/chambers/features/chref/chref.py/main?title=21st&query=planar)

Above: The PlanarityFilter transformer
- ProxixGeocoder
- Created a Geocoding transformer and factory which invokes the Proxix web service (PR#17629)

Above: The ProxixGeocoder transformer settings
- RangeFilter
- Added a new transformer, RangeFilter, to filter (divide) features according to a range of values for a given attribute

Above: Here a user is filtering features according to their level numbers in a MicroStation DGN file
- RangeMapper
- Added a new transformer, RangeMapper, similar to the ValueMapper but used to map ranges of values (RT#73834 RT#123550 PR#6026)

Above: Here a user is mapping different level numbers in a MicroStation DGN file to a class attribute which will later be used as a Feature Type Fanout
- RasterCellValueCalculator
- Added a new transformer, RasterCellValueCalculator, for performing arithmetic operations on rasters using the RasterEvaluationFactory (PR#19500)

Above: Think of it as an ExpressionEvaluator for cells from two or more rasters
- RasterExtentsCoercer
- Added a new transformer, RasterExtentsCoercer, that replaces the geometry of input raster features with a polygon covering the extents of the raster, or the extents of the data (ie excluding NoData values)

Above: This output from the RasterExtentsCoercer is a donut polygon whose holes represent areas of nodata values.
- RasterSingularCellValueCalculator
- Added a new transformer, RasterSingularCellValueCalculator, for performing arithmetic operations on rasters using the RasterEvaluationFactory (PR#19500). Think of it as an ExpressionEvaluator for performing calculations on cells from a single raster feature
- ServerDataDownloader
- Implemented new transformer: ServerDataDownloader. This transformer allows a user to get output data back from a workspace run on an FME Server (via either the Data Download Service or the Data Streaming service).
- ShortestPathFinder
- Implemented new transformer: ShortestPathFinder: Finds the shortest path from a source node to a destination node (PR#19448)
- Implemented new transformer: ShortestPathFinder: Finds the shortest path from a source node to a destination node (PR#19448)
Includes ability to apply a weighting by length or by attribute.

Above: The ShortestPathFinder transformer
- StreamOrderCalculator
- Implemented new transformer: StreamOrderCalculator. Calculates Strahler or Horton order of streams in a river network (PR#19440)

Above: The StreamOrderCalculator transformer
- StreamPriorityCalculator
- Implemented new transformer: StreamPriorityCalculator. Given a river network it determines whether the streams are primary, secondary or invalid (RT#123700 PR#20227)

Above: The StreamPriorityCalculator transformer
- SurfaceReverser
- Implemented new transformer: SurfaceReverser. This transformer reverses surfaces and solids. It is a 3D feature equivalent to the Orienter transformer.
- TestFilter
- Added a new transformer, TestFilter, that has dynamic ports for testing features, equivalent to a string of Testers (or a Tcl CASE command) (PR#20106)

Above: The TestFilter and a set of example parameters
- Twitter Transformers
- Added proxy settings to Twitter transformers (RT#134714 PR#22141)
- Added support for the twitter geo API and geo-coded twitter searches. (PR#22317 PR#23245)
- Tweeter
- Added a new transformer for sending status updates to a Twitter account.
- DirectTweeter
- Added a new transformer for sending a direct message to another user on Twitter
- TweetSearcher
- Added a new transformer to search for Twitter status messages containing the given query
- TwitterStatusFetcher
- Added a new transformer to fetch the most recent status updates for a particular Twitter user

Above: The Twitter transformers in the Transformers gallery.
- URLEncoder
- Added a new transformer, URLEncoder, to URL-encode strings using new URL encode/decode functionality in the @Http function.
- URLDecoder
- Added a new transformer, URLDecoder, to URL-decode strings using new URL encode/decode functionality in the @Http function.
- WhiteStarLeaseBuilder
- Added a new transformer, WhiteStarLeaseBuilder, to request data from WhiteStar web services
- XMLTemplater
- Added new transformer XMLTemplater which allows substituting attribute values into an XML template, using XQuery syntax. The template can be specified in a file, or within the transformer itself (PR#20936 PR#22871)
Transformer Updates
- AttributeFilter
- Updated AttributeFilter to allow filtering by double quote (") and backslash (\) characters (PR#16771)
- Transformer has new and improved attribute import wizard (PR#2657)
- BoundingBoxAccumulator
- Added new options that allow the Topfer Index to be calculated.
- Added a new output port that outputs the passed in features (RT#123700 PR#19428)
- BoundingBoxReplacer
- Added parameters to record the length of the largest and smallest sides of the bounding box as attributes

Above: New parameters and the resulting attributes (not created by default - must be set by user)
- Clipper
- Made "Multiple Clippers" the default Clipper Type (PR#20048)
- Made Clipping more memory efficient with the ability to handle more clippers.
- Deaggregator
- The Deagggregator now has an option to split composite surfaces and solids.
- ExpressionEvaluator
- Made the settings dialog bigger and added scrollbar to Expression field (RT#126251 PR#19942)
- FaceReplacer
- The FaceReplacer now supports creating textured faces directly from raster features.
- FeatureTypeFilter
- Added <BLANK> output port to catch features without a Feature Type (RT#126253 PR#20092)

Above: The FeatureTypeFilter now has an UNFILTERED port for feature type not included above, and a BLANK port for features without a known type
- FMEServerWorkspaceRunner
- Added ability to define "Job Priority" and "Email Recipients" from an attribute.
- Improved logging
- GeometryCoercer
- Added new options to turn solid/surfaces into composite surface or brep solid.
- Now supports turning solids and surfaces into a polygon or collection of polygons (PR#22113)
- GeometryExtractor
- Updated the transformers to allow extraction of GeoJSON geometry objects (PR#17901)
- GeometryFilter
- Add new functionality to break heterogeneous aggregates to homogeneous aggregates.

Above: The new function in the GeometryFilter
- GeometryReplacer
- Updated the transformers to allow replacement of GeoJSON geometry objects (PR#17901)

Above: The GeoJSON option in the GeometryExtractor
- Generalizer
- Added new algorithms: Wang (Generalize), NURBfit (Smooth), Inflection Points (Measure), Orthogonal Distance Regression (Fit)

Above: New algorithms in the Generalizer settings dialog
- HTTPFetcher
- The HTTPFetcher can now be used to download a file from an FTP site.
- HTTPFileUploader
- The HTTPFileUploader can now be used to upload a file to an FTP site.
- HTTPUploader
- The HTTPUploader can now be used to upload a file to an FTP site.
- HexDecoder
- Added option to set output character encoding (PR#19863)

Above: Output Encoding parameter in HexDecoder
- KMLStyler
- Updated & simplified existing KMLStyler transformer

Above: New KMLStyler transformer
- LineJoiner
- Added an option (Consider Node Elevation) to join lines only if their node elevation matches
- MeasureSetter
- Added the ability to force "All Vertices to Same (measure) Value" (PR#15689)

Above: Force vertices to the same measure value using the Type parameter
- NeighborFinder
- When the NeighborFinder parameter "Insert Vertex on BASE Feature" is set to yes, the newly inserted vertex will also receive an interpolated measure (PR#15766)
- Scaler
- Add option to the Scaler to scale features with center points preserved (PR#23279)
- Snipper
- Merged DistanceSnipper and VertexSnipper
- Added support for snipping by measure values
- SQLExecutor
- Support semi-colons in procedures (don't split into new lines)
- SurfaceModeller
- Added GROUP_BY option in SurfaceModeller transformer (RT#100659 PR#16509)
- Added a new TIN_SURFACE port that outputs triangles as one mesh geometry (PR#22499)
- Tester
- Overhauled settings interface and added ability to create composite tests.

Above: A Tester composite test
- Published parameters can now be created and set directly within the transformer. (PR#12737)

Above: Simply right-click the cell you wish to publish and select "Publish Parameter..."
- VariableRetriever
- Added encoding support to VariableRetriever transformer (@GlobalVariable) (RT#133253 PR#21741)
- VariableSetter
- Added encoding support to VariableSetter transformer (@GlobalVariable) (RT#133253 PR#21741)
- WorkspaceRunner
- Allow the name of the FME Workspace to run to come from an attribute (only through Navigator for now) (PR#21486). Allows closer integration with Directory and File Pathnames reader.
Factories |
New Factories
- ServerDataDownloadFactory
- Added new factory ServerDataDownloadFactory (PR#21919)
- SharedObjectFactory
- Added new factory to extract or set shared objects (materials) in the shared object library.
Factory Updates
- BoundingBoxFactory
- Added the ability to calculate the Topfer Index of a group of features (PR#19428)
- GML2Factory
- Allow GML2Factory to consume utf-16 xml documents (RT128754)
- MatchingFactory
- Updated to include support for: double-sided/front-sided/back-sided/0-sided surfaces, materials, and for orientation of IFMEBoxes.
- NetworkFactory
- Added a new option to compute the shortest costs from one source node to all connected nodes and assign the cost as z-values (PR#22187)
- QueryFactory
- Added ability to use multiple spatial predicates per feature
- RasterMosaicFactory
- Added option to merge or preserve palettes (RT#81114 PR#14547)
- RasterSubsetFactory
- Added option to select whether all tiles must be equal sized, or whether outer tiles should be clipped to the extents of the source data (PR#20137)
- SurfaceModelFactory
- Added GROUP_BY option in SurfaceModelFactory(RT#100659 PR#16509)
- VirtualEarthTileFactory
- Renamed to WebMapTileFactory, and added zoom level, tile column, and tile row attributes
Functions |
New Functions
- @RasterName
- A new function for setting a name for parts of a raster (RT#132871 PR#23379)
- @RasterPaletteAttributes
- A new function to convert values between palettes and attributes (RT#123181 PR#14559)
Function Updates
- Geometry
- Add functionality to determine whether areas and multi-surfaces are planar (http://www.chambersharrap.co.uk/chambers/features/chref/chref.py/main?title=21st&query=planar) (PR#17138)
- Added two new modes: @Geometry(SET_TO_CONTAIN_INDIVIDUAL_GEOMS, <YES|NO>) and @Geometry(CONTAINS_INDIVIDUAL_GEOMS). These modes deal with how to interpret aggregate geometries and enable FME to have multiple named geoemetries per feature!
- HTTP
- The @Http function can now be used to URL-encode and URL-decode strings, using the following syntax: @Http( URL_ENCODE, <string> ) and @Http( URL_DECODE, <string> ) (PR#21212)
Coordinate Systems |
- Added EPSG mappings for French RGF93.* coordinate systems (RT#130990 PR#21103)
- Added options to 3D formats to produce an FWT file instead of a WLD file. A .FWT file stores a 3D transformation matrix which defines the scaling used to move the data (PR#23642)
- Added DKTM* Danish coordinate systems.
- Added MapInfo datum mapping for ETRS89
Scripting |
Tcl
- Tcl2 Function
- Added new functions FME_SetGeometryName(<geometry name>), FME_GetGeometryName(<attribute name to hold geometry's name>), and FME_DeleteGeometryName() to work with named geometries
- Version
- Upgraded from 8.5.2 to 8.5.7
XQuery
- Added FME-specific XQuery functions (fme:get-attribute, fme:set-attribute and fme:has-attribute) to allow feature attributes to be set/got/tested from within an XQuery expression (PR#19633 PR#19634)

