Alerts about activities taking place in different parts of the FME Community and Safe customer ecosystem.
Recently active
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
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGGroup is an FME custom transformer that collects multiple BRGComponent features and organises them into a single section of an HTML report generated by BetterReportGenerator (BRG). It allows you to:Define a title for the section.Control whether the section is rendered inside a card container and how that card behaves (static or collapsible).Sort incoming components to control their display order.Split incoming components into multiple subsections based on an attribute value.The transformer outputs one new BRGComponent feature for every unique group that is created. Each output component already contains the required HTML & CSS to be consumed directly by either another BRGGroup or the final BetterReportGenerator transformer.Typical Use CasesBuilding a multi‑section report where each section wraps one or more visual elements (e.g. maps, charts, tables).Collapsing large sections so that a reader can expand them on
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The BRGKeyValuesIndicator transformer inserts a card‑style key–value indicator into a BetterReport. It highlights one or more attribute values from the incoming features, optionally grouped and sorted, and renders the indicators as ready‑to‑embed HTML/CSS that follows the BetterReport visual language.PortsPortDescriptionInputAccepts any geometry or null‑geometry feature that contains the attributes you wish to display.BRGComponentOutputs a single feature (per group) containing the indicator’s HTML/CSS. Route this to BetterReportGenerator or BRGGroup.ParametersParameterRequiredDescriptionKey Values Attributes✔︎Select one or more attributes to present. Each will be rendered as its own key–value tile.Order✔︎Integer or expression used to sort BRGComponents inside the report. Lower numbers appear first.Group ByAttribute used to partition the input. One BRGComponent is generated per distinct value. Leave blank to treat all i
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.The BRGButton transformer creates a styled HTML button component for use in BetterReportGenerator (BRG) workflows. For every incoming feature—or for each group of features when Group By is specified—it outputs a single BRGComponent feature that contains all the HTML markup and inline CSS required to render the button in the final report.Input PortsPortDescriptionAnyAccepts any feature type and schema.Output PortsPortDescriptionBRGComponentEmits one BRGComponent feature per input (or per group) representing the button.ParametersParameterTypeRequiredDefaultDescriptionButton LabelText✔—Text shown on the button.URLText✔—Destination URL opened when the button is clicked.OrderInteger✔0Determines display order inside a BRGGroup or BetterReportGenerator; lower numbers appear first.Group ByAttribute name✖(none)If set, features sharing the same value in this attribute are aggregated into a single button component.Would you like
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGMap converts any incoming spatial features into an embeddable web map that uses an OpenStreetMap basemap. The resulting map is packaged as a BRGComponent feature containing all required HTML + CSS so it can be rendered by BetterReportGenerator (or another BRG-aware transformer such as BRGGroup). This gives you a lightweight alternative to FME’s native HTMLReportGenerator while keeping full control over look-and-feel and layout order.InputAny feature class that carries a valid FME geometry.OutputOutput Ports: 1BRGComponent – Pass this feature to BetterReportGenerator or BRGGroup to embed it in your final report.ParametersParameterType / Allowed ValuesDefaultDescriptionTitleStringMapHeading shown above the map (or in the card header).DescriptionMultiline String—Optional paragraph that introduces the map section. Markdown is supported.Map OverlayBoolean (checkbox)NoUnchecked – Description appears before the map.Checked
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGImage converts any incoming FME feature into a BRGComponent that contains the HTML + CSS needed to add an image-centric section to a Better Report Generator (or a BRGGroup). It is designed as a lightweight, highly configurable alternative to FME’s built-in HTMLReportGenerator.2 Input & Output PortsPortCardinalityDescriptionIN0..∞Any geometry or non-geometry feature you want to document.OUT0..∞One feature per incoming record (or per group; see Group By). Each carries:• brg_html – the generated fragment• brg_css – styles scoped to the fragment• All original attributes (unchanged)Tip Connect the OUT port directly to a BetterReportGenerator or to a BRGGroup chain to build multi-section reports.3 ParametersParameterType / OptionsWhat it doesTitleStringHeading shown above (or beside) the image section.DescriptionStringFree-form text (Markdown is supported) that accompanies the image.Image SourceURL | FileTell the tran
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGTable converts any incoming FME features into an HTML table that can be embedded in a BetterReportGenerator (or in a nested BRGGroup). It provides fine-grained control over how the table looks, how the data are grouped, and where the component appears in a multi-section report.Input & OutputPortDescriptionInput (IN)Accepts features of any geometry or schema. All features sent to this port are listed in the table.Output (OUT)Emits a single feature of type BRGComponent. The feature carries two attributes—brg_html and brg_css—containing the table’s markup and style rules, ready for consumption by BetterReportGenerator or BRGGroup.ParametersParameterTypeRequired?DescriptionTitleStringNoSection heading that appears above the table. If left blank, no heading is generated.DescriptionStringNoParagraph of explanatory text displayed between the heading (if any) and the table. Supports basic HTML tags (<b>, <i>
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BRGText creates a text component that can be fed into BetterReportGenerator or BRGGroup to appear in an HTML report. It converts incoming features—regardless of geometry or schema—into BRGComponent features that encapsulate the HTML and CSS required to render a textual section.Typical uses include:Adding introductions, explanations, or narrative paragraphs.Inserting headings or sub‑headings between visual components such as maps, tables, or charts.Displaying dynamically grouped commentary (e.g. one description per city or per data category).Input PortsPortDescriptionInput (Any Feature)Accepts any feature type. .Output PortsPortDescriptionBRGComponentEmits one feature containing the text block plus styling information. The feature carries the attributes required by BetterReportGenerator.ParametersParameterPurposeNotesTitleHeading displayed above the text block.May include HTML entities; rendered inside an <h3> ele
FME Hub user alexbiz just uploaded a new transformer to the FME Hub.BetterReportGeneratorOverviewBetterReportGenerator assembles full HTML reports from BRGComponent features that you create with other BRG transformers (e.g. BRGText, BRGTable, BRGImage). It is designed as a drop‑in replacement for FME’s built‑in HTMLReportGenerator, adding modern themes, explicit ordering, and optional grouping support.Typical Use CasesProduce polished HTML dashboards directly in a workspace without external scripting.Generate one report per feature class, year, or any attribute using Group By.Input PortsAccepts BRGComponent features.ParametersParameterPurposePage NameSets the <title> element and appears in the browser tab and the title of the page.ThemeOptions: Light, Dark, Cream, Deep Purple.Output PortsEmits one feature per generated report.AttributeTypeDescriptionhtml_contentStringFully‑formed HTML document including consolidated <head> and <body>. Ready for an HTML Writer or to be