Spatial analysis can be processing-intensive, particularly when a large number of features are involved. If you would like to tune the performance of your workspace, this is a good place to start.
When there are multiple ways to configure a workspace to reach the same goal, it is often best to choose the transformer most specifically suited to your task. As an example, when comparing address points to building polygons, there are a few ways to approach it.
The first example, using a SpatialFilter to test whether or not points fall inside polygons, produces the correct result. But the SpatialFilter is a fairly complex transformer, able to test for multiple conditions and accept a wide range of geometry types. It isn’t optimized for the specific spatial relationship we are analyzing here.
With a SpatialFilter:
The second example uses a PointOnAreaOverlayer, followed by a Tester. The features output are the same as in the first method, but the transformer is optimized for this specific task. The difference in processing time is substantial - from 54.3 seconds in the first configuration, down to 13.7 seconds in the second one.
With a PointOnAreaOverlayer and a Tester:
If performance is an issue in your workspace, look for alternative methods, guided by geometry.
Source: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/Transformers/topologybuilder.htm
Thursday, 15 March 2018
Tuesday, 6 March 2018
StringSearcher
To split a string into its components using Regular Expressions, you can use the StringSearcher transformer. In the [Contains Regular Expression] field, put parentheses around each group; and in the [Subexpression Matches List Name] field within the [Advanced] group, specify the name of the list that will contain the individual components.
See also https://www.safe.com/webinars/back-fme-school-day-1-data-fme/ at around 1:50:00
Subscribe to:
Posts (Atom)
Combine Raster Bands
To combine multiple single-band rasters into a single multi-band raster, use the RasterBandCombiner transformer. For example, combine the ...
-
To find substrings, use the StringSearcher transformer or the @FindString or @FindRegEx built-in functions To replace substrings, use the...
-
To convert a String attribute containing a date or time text to a Date/Time attribute, use the @DateTimeParse built-in function. To autom...
-
To remove duplicate records, use the DuplicateFilter transformer. To remove duplicate geometries, use the Matcher transformer, and take ...