RasterMosaicker
Mosaics multiple raster features into a single raster feature.
The transformer accepts a number of input raster features, each of which has one or more bands. All the raster features have the same number of selected bands, which, in turn, have the same number of selected palettes. Each selected band from each input raster feature will be removed, mosaicked together, and then appended to a single output raster feature. As a result, the output raster feature will also have the same number of selected bands and palettes.
When there are gaps in data (that is, an area is not covered by any raster), the empty cells will be filled with nodata values if available, or zero if not.
Input Features
- This transformer accepts only raster features.
- When there are no selected palettes or Merge Palettes is No, each band in a set must have the same band interpretation and nodata value.
- When there are selected palettes and Merge Palettes is Yes, each band must have one selected palette, and all palettes must have the same value interpretation.
Output Ports
The output feature created by mosaicking the input features.
Parameters
Transformer
The rasters may be organized into groups with the Group By parameter, with each group of rasters having its own output raster.
Note: How parallel processing works with FME: see About Parallel Processing for detailed information.
This parameter determines whether or not the transformer should perform the work across parallel processes. If it is enabled, a process will be launched for each group specified by the Group By parameter.
Parallel Processing Levels
For example, on a quad-core machine, minimal parallelism will result in two simultaneous FME processes. Extreme parallelism on an 8-core machine would result in 16 simultaneous processes.
You can experiment with this feature and view the information in the Windows Task Manager and the Workbench Log window.
No: This is the default behavior. Processing will only occur in this transformer once all input is present.
By Group: This transformer will process input groups in order. Changes of the value of the Group By parameter on the input stream will trigger batch processing on the currently accumulating group. This will improve overall speed if groups are large/complex, but could cause undesired behavior if input groups are not truly ordered.
Using Ordered input can provide performance gains in some scenarios, however, it is not always preferable, or even possible. Consider the following when using it, with both one- and two-input transformers.
Single Datasets/Feature Types: Are generally the optimal candidates for Ordered processing. If you know that the dataset is correctly ordered by the Group By attribute, using Input is Ordered By can improve performance, depending on the size and complexity of the data.
If the input is coming from a database, using ORDER BY in a SQL statement to have the database pre-order the data can be an extremely effective way to improve performance. Consider using a Database Readers with a SQL statement, or the SQLCreator transformer.
Multiple Datasets/Feature Types: Since all features matching a Group By value need to arrive before any features (of any feature type or dataset) belonging to the next group, using Ordering with multiple feature types is more complicated than processing a single feature type.
Multiple feature types and features from multiple datasets will not generally naturally occur in the correct order.
One approach is to send all features through a Sorter, sorting on the expected Group By attribute. The Sorter is a feature-holding transformer, collecting all input features, performing the sort, and then releasing them all. They can then be sent through an appropriate filter (TestFilter, AttributeFilter, GeometryFilter, or others), which are not feature-holding, and will release the features one at a time to the transformer using Input is Ordered By, now in the expected order.
The processing overhead of sorting and filtering may negate the performance gains you will get from using Input is Ordered By. In this case, using Group By without using Input is Ordered By may be the equivalent and simpler approach.
In all cases when using Input is Ordered By, if you are not sure that the incoming features are properly ordered, they should be sorted (if a single feature type), or sorted and then filtered (for more than one feature or geometry type).
As with many scenarios, testing different approaches in your workspace with your data is the only definitive way to identify performance gains.
Alignment
The Snapping Type is used if the rasters are not perfectly aligned. The first input feature defines the reference grid. The following rasters can be Resampled to this grid. For better performance, they can also be Offset to match the grid.
If the input rasters do not line up correctly or if they have different spacings, this transformer will use the selected Interpolation Type to snap and/or resample the input rasters. Nearest Neighbor is the fastest but produces the poorest image quality. Bicubic is the slowest but produces the best image quality. Bilinear provides a reasonable intermediate option. Average 4 and Average 16 have a performance similar to Bilinear and are useful for numeric rasters such as DEMs.
Data Values
This option specifies how output cell values will be calculated when multiple rasters overlap.
- Last: The last value. That is, the last raster that overlaps a cell will set the value for that cell. Note that this means the order of the input features may be important. You can use a Sorter transformer to enforce the order in which features are processed.
- Minimum: The minimum value.
- Maximum: The maximum value.
- Average: The average of all values.
- Sum: The sum of all values.
- Composite Using Alpha Band: Values will be blended based on the alpha band. If this option is selected, all input rasters must have exactly one alpha band, and the values from these alpha bands will be used to blend all the other bands' values in areas where overlap occurs, effectively achieving transparency. An alpha value of 0 means complete transparency, and an alpha value of 1 means complete opacity.
Note that the Average, Sum, and Composite Using Alpha Band options are not compatible with palettes.
When all values for a cell are nodata, the output value will be nodata.
When Overlapping Values is set to Last, this option specifies whether nodata values should overwrite data values in rasters that have been previously drawn. If set to Yes, any nodata overlapping real data values will overwrite the real data values. If set to No, nodata overlapping real data will be ignored, and the real data values will be preserved.
Note that data values will always overwrite both nodata and data values.
Palettes
This parameter specifies how palettes will be treated when present.
When set to Yes, selected palettes in each input band set will be merged to create a single palette for the output band. When set to No, selected palettes in each input band set will be accumulated on the output band without modification.
Attributes
If Accumulate Attributes is set to Yes, then the attributes from the original features will be merged onto the output raster features.
If a Count Attribute is given, then an attribute with this name will be added to each output feature, containing the number of features that were combined to create the raster feature.
Usage Notes
This transformer supports raster band and palette selection. The RasterSelector can be used to modify selection.
Example
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
FME Licensing Level
FME Professional edition and above
Search FME Knowledge Center
Search for samples and information about this transformer on the FME Knowledge Center.