Sorts features geographically (by location).

Jump to Configuration

Typical Uses

  • Sorting features according to their location.

How does it work?

The SpatialSorter receives features and sorts them based on their location. Output features are ordered so that features appearing consecutively in the output order were spatially located near each other in the input.

Features may be sorted in either 2D or 3D.

Note that a difference in the order of the input features can produce slightly varying output order results when there are multiple possible partition points with the same median coordinate values in the group.

Hilbert sort in 2D

The sorting location used for each geometry is the center of its bounding box. Geometries with no coordinates are output last.

Hilbert sort in 3D

The sorting location used for each geometry is the center of its bounding cube. 2D geometries processed with the 3D curve will have a z value assigned of 0.0. Geometries with no coordinates are output last.

Usage Notes

  • This transformer tries to balance speed and memory usage by storing some features in memory and some in a temporary disk file.


Input Ports

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.


Processing Behavior


Feature Holding


Dependencies None

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 SpatialSorter on the FME Community.


Examples may contain information licensed under the Open Government Licence – Vancouver and/or the Open Government Licence – Canada.