Alerts about activities taking place in different parts of the FME Community and Safe customer ecosystem.
Recently active
FME Hub user peter_s just uploaded a new web_connection to the FME Hub.This FME Web Service can be used for creating FME Named Connections for the DAF GraphQL EndpointWould you like to know more? Click here to find out more details!
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The DateTimeFilter custom transformer allows you to filter features based on a date/time attribute.It supports multiple filtering modes to test whether an entity’s date value falls before, after, within, or around specified ranges.FunctionalityThe transformer evaluates the value of a selected DateTime attribute (in FME Date/Time format) against user-defined conditions.Depending on the chosen filter type, features are routed to either:Passed: if the feature’s date meets the filter condition. Failed: if the feature’s date does not meet the filter condition. Filter TypesAfter Date: features with dates strictly after the specified date. Before Date: features with dates strictly before the specified date. Between Dates: features with dates between two specified dates (inclusive). From Date + Duration: features with dates occurring after a given start date, for a specified duration (in minutes). Until Date - Duration:
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The LogNormalizer custom transformer is designed to read and normalize log files.It attempts to extract and standardize key information such as the timestamp and severity level, producing structured attributes that can be used for further processing in FME.Originally developed to handle FME Flow log files, it can also be applied to log files from other applications.How It WorksEach input feature triggers the parsing of a log file. Typically, it is combined with the Directory and File Pathnames reader to list all log files within a directory and its subdirectories. The transformer uses different regular expressions to detect:The severity level of each log line The timestamp format When a timestamp is found, it is converted and normalized into both FME and ISO 8601 formats. If no timestamp is detected for a line, the transformer attempts to reuse the timestamp of the previous line and marks it as "unknown".Parameter
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The DateRangeFilter custom transformer filters features based on a timestamp attribute and a user-defined date range.It is designed to work with attributes containing timestamps in the FME Date/Time format.OverviewEach input feature is evaluated against the specified date range.Features with timestamps inside the range are routed to the Inside output port, while those outside are routed to the Outside port.This transformer is useful for workflows where only a subset of features within a certain time window should be processed.ParametersDateTime Attribute (FME Format) Select the attribute that contains the timestamp to evaluate. The timestamp must be in FME Date/Time format.From The start date of the filtering range. Features with timestamps earlier than this date will be routed to Outside.To The end date of the filtering range. Features with timestamps later than this date will be routed to Outside.Output PortsIn
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The LogParser custom transformer is designed to read and normalize log files.It attempts to extract and standardize key information such as the timestamp and severity level, producing structured attributes that can be used for further processing in FME.Originally developed to handle FME Flow log files, it can also be applied to log files from other applications.How It WorksEach input feature triggers the parsing of a log file. Typically, it is combined with the Directory and File Pathnames reader to list all log files within a directory and its subdirectories. The transformer uses different regular expressions to detect:The severity level of each log line The timestamp format When a timestamp is found, it is converted and normalized into both FME and ISO 8601 formats. If no timestamp is detected for a line, the transformer attempts to reuse the timestamp of the previous line and marks it as "unknown".ParametersLog
FME Hub user andreas_h just uploaded a new transformer to the FME Hub.StaticWebCrawlerThis Custom Transformer is a web crawler designed to extract links from anchor tags and iframes within a specified domain. It respects common guidelines for web crawlers, ensuring ethical crawling by respecting robots.txt rules. The crawler can also discover and utilize sitemap XML files to prioritize crawling based on URL priority values.Key Features:Robots.txt Compliance: Automatically fetches and respects Disallow and Allow rules from a domain's robots.txt file.Sitemap Integration: Discovers sitemaps from robots.txt and uses them to prioritize URLs for crawling based on their <priority> value.Domain Scoping: Restricts crawling to a specific domain to prevent the crawler from wandering.Configurable Limits: Set a maximum number of pages to crawl and a delay between requests to be respectful to servers.Comprehensive Output: Provides detailed attributes for each discovered link, including its sou
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The UUIDv5Generator is a custom transformer that generates Version 5 Universally Unique Identifiers (UUIDs) for incoming features.UUID v5 values are generated deterministically based on a given namespace and name, making them consistent for the same input parameters. This transformer is useful for creating reproducible identifiers across datasets, workflows, or systems. ParametersNamespaceType: Choice (Dropdown) Options: DNS → Predefined namespace for DNS names URL → Predefined namespace for URLs OID → Predefined namespace for Object Identifiers X500 → Predefined namespace for X.500 Distinguished Names Custom → Use a user-defined namespace Custom NamespaceType: Text (String) Enabled only if: Namespace = Custom Must contain a valid UUID (format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Allows you to define your own namespace for UUID v5 generation. NameType: Text (String) The input string used in combination
FME Hub user andreas_h just uploaded a new transformer to the FME Hub.Origo Config Layer ExtractorSummaryExtracts detailed layer information from an Origo-map configuration JSON file. This transformer is specifically designed to handle Origo's non-standard JSON format, which may include single-line (//) and multi-line (/* ... */) comments, before parsing the layer definitions.GitHubhttps://github.com/origo-mapDetailed DescriptionOrigo map configurations are stored in JSON files that define groups, layers, sources, styles, and more. This transformer simplifies the process of reading these configurations by targeting the layer definitions directly.A key feature of this transformer is its ability to parse JSON files containing comments. Standard JSON parsers will fail on files with // or /* ... */ comments, a common practice in Origo configurations. This transformer pre-processes the file to strip out comments, ensuring robust and error-free parsing.It iterates through all layers defined
FME Hub user virtualcitymatt just uploaded a new transformer to the FME Hub.SafeFilenameCreatorDescriptionThe SafeFilenameCreator transformer ensures that attribute values are converted into safe filenames by replacing all illegal characters with an underscore (_). It works by internally using a StringReplacer to sanitize the attribute values.ParametersAttributes to Replace (String, Required): The name of the attribute(s) whose values will be converted into a safe filename.BehaviorTakes the value of the specified attribute.Replaces all characters that are not allowed in filenames (such as \/:*?"<>|) with _.Outputs the sanitized string as the same attribute value or a new attribute (depending on configuration).Example UsageInput Attribute- Name: Filename- Value: My:Illegal/FileName?.txtOutput Attribute- Name: Filename- Value: My_Illegal_FileName_.txtNotesOnly affects the characters that are illegal in filenames.Can be combined with other transformers to build fully automated file
FME Hub user pierrekoelich just uploaded a new transformer to the FME Hub.IfcGlobalIDGeneratorThis custom transformer creates a field called ifc_global_id and generates a compliant IFC global ID for each feature that is fed in.Would you like to know more? Click here to find out more details!
FME Hub user daveatsafe just uploaded a new transformer to the FME Hub.Encodes point data into the DGGS JSON schema.A DGGS JSON dataset consists of a top zone whose boundary encompasses all the point data and a full set of subzones one or more zoom levels down from the top zone. Each subzone conatins a single set of values for that location. This is conceptually similar to raster data, where the top zone is the raster extents, and the subzones are the pixels. The transformer will group the source points by subzone and calculate the user's choice of mean, median, minimum or maximum to assign to the value of the subzone.How does it work?The DGGSJSONEncoder uses the open source dggal library to generate the top zone and subzone cells. To install the library, please follow the instructions on Installing Python Packages to FME Form to run the following install:fme python -m pip install dggalThis library provides an interface to the following Discrete Global Grids:GNOSIS Global GridIcosahedr
FME Hub user daveatsafe just uploaded a new transformer to the FME Hub.Decodes DGGS JSON encoded data into geometry and attributesHow does it work?The DGGSJSONDecoder uses the open source dggal library to generate the cell geometry. To install the library, please follow the instructions on Installing Python Packages to FME Form to run the following install:fme python -m pip install dggalThis library provides an interface to the following Discrete Global Grids:GNOSIS Global GridIcosahedral Snyder Equal Area Hexagonal 3 (ISEA3H)Icosahedral Snyder Equal Area Rhombic 9 (ISEA9R)Icosahedral Vertex-oriented Great Circle Equal Area Hexagonal 3 (IVEA3H)Icosahedral Vertex-oriented Great Circle Equal Area Rhombic 9 (IVEA9R)Rhombic Triacontahedron Equal Area Hexagonal 3 (RTEA3H)Rhombic Triacontahedron Equal Area Rhombic 9 (RTEA9R)rHEALPix Global GridDiscrete Global Grids partition the earth into a hierarchical set of polygons which can be denoted by unique identifiers, with the size of the polygon
FME Hub user daveatsafe just uploaded a new transformer to the FME Hub.Calculates the relationships between Base and Candidate DGGS grid cell indices. These are often not easily human-discernable from the index values.How does it work?The DGGSRelator provides easy access within an FME workflow to the relationship queries made available by the open source dggal library. To install the library, please follow the instructions on Installing Python Packages to FME Form to run the following install:fme python -m pip install dggalThis library provides an interface to the following Discrete Global Grids:GNOSIS Global GridIcosahedral Snyder Equal Area Hexagonal 3 (ISEA3H)Icosahedral Snyder Equal Area Rhombic 9 (ISEA9R)Icosahedral Vertex-oriented Great Circle Equal Area Hexagonal 3 (IVEA3H)Icosahedral Vertex-oriented Great Circle Equal Area Rhombic 9 (IVEA9R)Rhombic Triacontahedron Equal Area Hexagonal 3 (RTEA3H)Rhombic Triacontahedron Equal Area Rhombic 9 (RTEA9R)rHEALPix Global GridDiscrete Gl
FME Hub user callenbanff just uploaded a new transformer to the FME Hub.Nearest Candidate Distance CalculatorOverviewThis FME custom transformer computes the 3D Euclidean distance from each input geometry in the Base dataset to its nearest neighbor in the Candidate dataset using a scipy.spatial.KDTree. The script outputs only the calculated distance as a feature attribute, suitable for proximity analysis and model validation.PurposeTo spatially compare two point datasets (e.g., drillholes vs. model blocks) and output a scalar distance from each Base point to its closest Candidate point.FME Workspace ContextThe workflow includes the following transformers:VertexExtractor: Converts input geometries to point representations PythonCaller: Executes the KDTree-based distance computation Output Ports:Output: Features with distance resultRejectCode: Rejected features with error metadataInput RequirementsTwo point geometry datasets:PortDescriptionBaseInput geometry features to be testedCandid
FME Hub user daveatsafe just uploaded a new transformer to the FME Hub.Computes and manipulates Discrete Global Grid (DGGS) hierarchical spatial indexes, and enables spatial data to be grouped into grid cells for analysis and visualization.Typical UsesReplace the point geometry of a feature with the grid cell that contains itCalculate the grid cell index for a given point at a resolution closest to the desired cell spanReturn all the grid cell indices that are contained by an area, so that spatial containment can be done by comparing indicesReturn all the neighbor grid cell indices of a given indexReturn the parent (lower resolution) grid cell index of a given index Return all the child (higher resolution) grid cell indices of a given index.How does it work?The DGGSIndexer provides easy access within an FME workflow to the key operations made available by the open source dggal library. To install the library, please follow the instructions on Installing Python Packages to FME Form to
FME Hub user cratcliff just uploaded a new transformer to the FME Hub.🔄 Update or Publish Hosted Feature Layers from an APRXThis script automates the process of updating or publishing web feature layers to ArcGIS Online (AGOL) or Enterprise Portal directly from an ArcGIS Pro project (.aprx).It supports flexible publishing options while preserving key metadata and ensuring that published content stays consistent with the source APRX.🔧 Key CapabilitiesConnects to AGOL or Portal and loads a specific APRX and map by name.Supports two publishing modes:Single Service: Publishes all non-basemap layers as a combined web feature layer.Individual Layers:PublishGroupLayer: Publishes each top-level group layer as a unit.PublishSubLayers: Publishes each sublayer independently.Reuses metadata from existing hosted feature layers, including: Title, description, tags, thumbnail, credits, license info, and sharing settings.Retains feature service properties like editor tracking and capabilities.Applie
FME Hub user dmitribagh just uploaded a new transformer to the FME Hub.Creates stylish, interactive HTML button toolboxes directly from FME Form. This transformer simplifies the process of building web-based launch panels for Experiences in FME Realize—but it can be used for any purpose that benefits from custom buttons in HTML. Each button can include a name, icon, background color, and link to an external or internal web page or service.This transformer is ideal for:- Quickly prototyping HTML-based interfaces for use in FME Realize, field apps, or dashboards;- Generating lightweight, visually appealing button layouts;- Simplifying toolbox generation without writing raw HTML.InputAny feature. In most workflows, this transformer is preceded by a AttributeCreator or ParameterFetcher transformers. It is possible to feed button definitions from a spreadhsheet, database or similar sources.OutputA feature with an HTML attribute html_content containing the styled toolbox layout. This HTML is
FME Hub user dmitribagh just uploaded a new transformer to the FME Hub.The transformer reads FME Realize Augmented Reality files (*.fmear).The transformer needs Blender installation (https://blender.org) in order to run. InputAn FME Realize file (a file with an extension *.fmear).OutputThe content of the *.fmear file with all the features in their respective feature types and containing IDs, and summary annotations as attributesParametersSelect a FilePath to the .fmear file to read. Path to Blender ExecutableFull path to the Blender executable.Path examples:- macOS: /Applications/Blender.app/Contents/MacOS/Blender- Windows: C:\Program Files\Blender Foundation\Blender 3.6\blender.exeBlender is used to convert the model model into a Collada file (.dae) that FME can process. The conversion runs headless and deletes intermediate files afterward.Coordinate System (Optional)The coordinate system originally used in the dataset, from which the fmear file was created.FMEAR files store geometry
FME Hub user kevs-2021 just uploaded a new transformer to the FME Hub.# PythonLibCheckerThis script checks if one or a list of python librairies are installed and available. It is meant to check dependencies prior running a PythonCaller.Would you like to know more? Click here to find out more details!
FME Hub user clowncutie just uploaded a new transformer to the FME Hub.Uses GTFS data to create unique trip variants.Creates complete geometri and joins attributes.Trip variants means of a transport line have multiple destinations, one feature is created per trip variation and direction. So ex bus line 1 can have Start_Headsign A but different stop_headsignes, and will therefor be 2 attributes with different geometries. route_main_mode is added according to GTFS standard Extended GTFS Route Types | Static Transit | Google for DevelopersSee help if you want just one line per route, ex bus 1 as one line. Would you like to know more? Click here to find out more details!
FME Hub user kevs-2021 just uploaded a new transformer to the FME Hub.AttributeCleanerThis transformer replaces common encoded characters to human readable text. For exemple:before: FDV-Dokument%20for%20prosjekt%20Ã…sgard%20(finalâ„¢).pdfafter (if utf8=false):FDV-Dokument for prosjekt Asgard (final ).pdfafter (if utf8=true):FDV-Dokument for prosjekt Åsgard (final™).pdfSee the help for more information.Would you like to know more? Click here to find out more details!
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGChartBar converts incoming FME features into a ready-to-embed HTML/CSS bar chart.It is designed to plug seamlessly into the BetterReportGenerator (or a BRGGroup) as a drop-in replacement for FME’s HTMLReportGenerator bar-chart output.ParametersParameterWhat it doesTitleSection header shown above the chart.DescriptionOptional descriptive text that appears under the title.Value Attribute NameRequired. Numeric or integer attribute to plot as the bar length/height.X Label AttributeAttribute whose value becomes each bar’s label on the X-axis.X LabelA static caption that appears under the X-axis.Card TypeDefines how (or if) the chart is wrapped in a Bootstrap-like card. • No Card – bare chart • Static Card – always open • Collapsable Card – user can collapse/expand, default open • Collapsed Card – user can collapse/expand, default closedOrderAn integer used by BetterReportGenerator to sort multiple BRGComponents in the fi
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGTabs collects multiple BRGComponent features and renders them as a tabbed section within an HTML report produced by the BetterReportGenerator (BRG) framework. It allows end‑users to switch between different report components seamlessly.ParametersParameterTypeDefaultDescriptionTitleString / AttributeTabsHeading displayed above the tab set.OrderInteger / Attribute0Numeric value used by downstream generators to position this component among its siblings.Group ByAttribute Name(none)Name of an attribute whose distinct values will be used to group input features into separate tabs.Would you like to know more? Click here to find out more details!
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGChartRadar converts the attributes of incoming FME features into a self-contained radar chart (sometimes called a spider or web chart).It emits a single BRGComponent feature whose attributes already contain the markup, styling, and JavaScript needed for display.Pass those BRGComponent features directly to a BetterReportGenerator or to any BRGGroup transformer to insert the chart section into your HTML report.ParametersParameterWhat it doesNotes / Allowed valuesTitleHeading displayed above the chart.Plain text (no HTML).DescriptionParagraph shown under the title.Accepts Markdown \.Label AttributeAttribute whose values become axis labels around the radar.One value per input feature.Data AttributeSingle numeric attribute plotted as the radius for each axis label.Must be numeric.Card TypeHow the chart is wrapped in a UI card.No Card = bare chart, Static Card = always open, Collapsable Card = starts open with a toggle, C
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGChartLine converts incoming FME features into an HTML/CSS (and minimal JavaScript) component that renders the selected attribute values as one or more lines on a responsive chart. The component is intended to be forwarded to BetterReportGenerator (or to a BRGGroup) where it is assembled into the final HTML report.Typical use cases include visualising time‑series measurements, production statistics, or any ordered numeric data held in your workspace features.ParametersParameterDescriptionTitleText displayed as the heading of the chart section.DescriptionRich‑text block (HTML permitted) shown beneath the title. Use it to explain the data’s context.Value Attribute NameOne or more numeric attributes to plot. A separate line is drawn for each selected attribute.Sort AttributeAttribute used to order the features along the X‑axis before plotting. Must be sortable (e.g. date/time or number).X Label AttributeAttribute whose