Using transformers to modify data.
Recently active
I have successfully created a Asana app for connecting to FME (giving me a Client ID and secret) and then established the connection as a web connection in FME Form, but when I try to use the AsanaTaskQuerier transformer and input the required parameters (Web Connection, Asana Project ID, and Query Type) the Asana Project ID gives me an error, “Arithmetic expression invalid”. I followed the help documentation for the custom transformer and it seems straight forward enough, but no matter which Project ID link I copy and paste into the field, it gives the same error and won't let me click OK to run the transformer. I have successfully tested the connection and know that works, the issue seems to be in the Asana Project ID, possibly because it seems to have to be an Arithmetic field? The FME Help documentation for this says to input the Asana Project ID as follows, which I have done so in the same format. Does anyone have a solution to what the issue is or if you have come across this iss
I am using the same workflow that I used in my older version of FME workbench. When I update the FME workbench to 2026.2 I was started getting error in Line Builder. I have number of points that create a polygon. All the points are already sorted. Can anyone let me know is this the bug or something wrong. You can see in the screen shot like waylineid is common and wayjsonindex. if there are 96 features then there will be 96 way_json_index.Thank you in advance!@j.botterill @david_r @rylanatsafe
FME Desktop 2022.1 crashes when trying to read Esri File Geodatabase - Reader works fine with any other format including Arc SDEs but crashes when setting format to File Geodatabase and trying to browse local drive
We have a hosted feature layer that we update via FME on a schedule. It worked fine until we made a view layer of the hosted feature layer. Now we get an HTTP Error Code: 400 saying 'Cannot remove Layer 0 from <layer name>. Layer 0 is referenced by view service <layer name view>.' In the writer we’re using Feature Operation: Insert and Feature Handling: Use Existing. We’ve also tried changing this to Truncate Existing which still didn’t work. What is the correct workflow for updating a hosted feature service if the feature service has view layers?
In a process that deals with GPS messages that are received every 15 minutes, I have two User Parameters that set a Start- and an End date, in order to prevent having to process a couple of million rows from the database every time. These are configured as DateTime parameters, with the Datetime Format set to Date only.The GPS Fix time is copied to a new attribute while converting to a Date, using a DateTimeConvertor. Format selected is FME date (%Y%m%d). If I then use a Tester to check whether the GPS fix time falls between the start- and end date (with Comparison Mode set to Date/Time), they all fail, because the parameters value is 2026-01-01, while the attributes value is 20260101. So the Tester’s comparisonDate >= $(StartDate)(where Date is the by DateTimeConvertor created attribute) does not work anymore, since our upgrade to 2026.1.2. Before (when we used 2025.0.3) this was working without a problem. Upgrading the DateTimeConvertor and the Tester (this is an older workspace) d
Hi team,In my workbench, I'm snapping line endpoints to the device X,Y.To do this, I stored the point's X,Y in the line's attributes and used the VertexCreator transformer with "Replace point at vertex" set to −1 (the end point), passing in the device's X,Y.This moves the line's end point to the device's X,Y as expected, but it also changes the line's start point to what was previously the line's end point.To avoid this, I tried using VertexRemover to remove the end point, then VertexCreator with "Add point at vertex" set to −1, again passing in the device's X,Y. With this approach, the line's start and end points end up swapped.I need the start and end point order preserved as-is, since that order is used for terminal assignments in the Utility Network. Someone please suggest a solution for this? @redgeographics @radek.cervenka @hkingsbury
I’m using FME Form 2026.2. I have date and time strings that I need to convert into a date field in ArcGIS Online. It seems like this should be easy, but I can’t get it to work. What format does ArcGIS require to create a date field.I create a new datetime attribute then write it to a AGOL Feature Service. The field is created in AGOL, but the value are null.@ParseDateTime(@Value(LocationDate) @Value(LocationTime), %m/%d/%Y %H:%M,repair) In ArcGIS Online all values are null. I attached an FME workspace and CSV file to reproduce the issue. I searched for documentation and forum posts. I think that I’m missing something simple.I must have a date field in AGOL because I’m creating a dashboard and need to filter dates.
Since a few days two of my FME hub transformers return the error below. I think it mentions that it is not possible to create a folder any more using the TempPathnameCreator. This might be resolved by updating the transformer to the latest version, but this also means that the transformers on FME hub cannot be used on old(er) versions any more. In another recent ticket in contact with Safe, I experienced something similar. Because of the security-changes for Flow several workspaces do not work any more. So I'm pretty sure many people will have similar issues. How can this be fixed without having to update all transformers to the latest version (and making it impossible to use them with older versions)?2026-07-15 13:08:16| 0.0| 0.0|ERROR |@Tcl2 -- failed to evaluate expression `set sampleTempFile [FME_TempFilename]; set ourTempDir {}; append ourTempDir $sampleTempFile {_d}; file mkdir $ourTempDir; set env(InlineGeoJSON_TempPathnameCreator_6e0c2906_d797_4636_928a_fa984000ecc45_dir) $o
I'm constantly getting an error in FME 2026.2 whenever I use the 'Conditional Value' option in CoordinateSystemSetter transformer, regardless of the input values. Could this be a bug?
I have a workspace where FeatureMerger_2 and 1/3 connection is disabled, but when I trigger a Partial Run from the upstream reader BODENBEDECKUNG_A, I get the "Caches required to run translation are missing or stale" prompt, listing all the transformers that feed into that disabled FeatureMerger (See attached screenshot)Since the FeatureMerger itself won't execute, I'd expect its exclusive upstream feeders to be treated as dead and excluded from the run, but apparently they are still requiredIf I instead disable each incoming connection to the FeatureMerger, the feeders correctly drop out of the run and I don't get the prompt, even when Feature Merger is enabled.Can someone explain the logic here? Why does disabling a transformer and the relevant connections (the one coming from the reader where the Translation is started) not back-propagate to exclude its upstream feeders, while disabling the connections does?
hi,I'm trying to load data from a WFS service into a database.The WFS service contains 25 feature types (tables) with a total of more than 153,000 features.Here is my FME workspace:CreatorHttpCaller (retrieves the list of layers)PythonCaller (extracts the 25 FeatureType layer names)HttpCaller (GetFeature request using typeNames=<layer>)PythonCaller (retrieves the numberMatched and numberReturned values for each layer)Tester (numberMatched == numberReturned)PythonCaller (retrieves the features, transforms the geometry, etc.)CounterAttributeManager (adds a unique ID using the counter)SchemaScanner (collects the 25 schemas with their attributes, along with the 153,000 features)FeatureWriterThe issue is that the FeatureWriter doesn't correctly associate each schema with its corresponding features.If I insert a Sorter transformer before the FeatureWriter, the workspace runs successfully, but all attributes end up being written to every table instead of only the attributes that belong
Just recognized, after migration of a workspace from 2024.2 to 2025.0 a BulkAttributeRenamer shows strange results: The transformer is set to change attribute names to lowercase (mode rename) for a selected set of attributes. This works as expected. However the remaining attributes (not selected for any change) got almost completely removed. ‘Almost completely’ means from the >5000 records only 4 have the attribute after the transformer while all other records show the attributes as <missing>.@safe - although it’s easy to mitigate it might be worth to dig into it.note: in mode ‘keep original attributes’ results are as expected.Klaus
Has anyone else noticed when creating a list using the AttributeExploder it truncates the last two characters of the list name, resulting in complications when using a ListExploder downstream because the list doesn’t exist.Using the default settings:Default List Settings in the AttributeExploder Transfomer The resulting list:List Name Is Truncated In Feature Information This broke a workspace that was previously working. It was a niggly one to catch as the only thing that had changed was the FME version.As a workaround, we created a user parameter which had the default value “_attr_li{}” and used that in the ListExploder which worked. FME Form version:FME(R) 2024.1.1.0 (20240729 - Build 24619 - WIN64)
Hi All,I'm experiencing a bug in the Excel writer in the new FME 2024.0. I've made a script that outputs multiple data categories I need to process in a particular order to ensure my calculations are fed as desired. The bug causes the attribute names to not be written in the first row in Excel; it just starts with the data in the second row. Whenever I open the exact same script in FME 2023.2, the writer does write the field row names, without me changing anything in the writer settings.For now, my solution is to not use FME 2024, but since my customer does use 2024, it's not desirable. Does anyone have any ideas?Here is a preview of Excel. I can't scroll up to the first row, the data is not hidden, and the navigator also won't allow me to go to row 1.
Currently I have 23 CoG’s in an Azure Blob container and I want to retrieve only the area of those CoG’s covered by a rectangle that I use as the initiator for a FeatureReader.Unfortunately, the FeatureReader is reading first all the CoG’s in before making the decision where the bounding box is within, and then it returns the entire CoG, where I was rather expecting it would return the part the bounding box is covering.The CoG’s originate from the Copernicus DEM coverage GLO-30, contain overviews, etc…It takes almost 3 minutes for the FeatureReader to process the request. The bounding box is within a single CoG.When looking at the parameters for the COG reader, then I can see there is actually the possibility to set a search envelope. I could feed the bounding box to the envelope, which sadly is missing in the FeatureReader. Is there a way to speed things up? I only want to have the parts of the COG’s covered by the bounding box used as initiator, basically performing a range request.
I have a single dataset containing a set of polygons. Some of these polygons are touching each other. I would like to dissolve polygons which are touching (of orverlapping) into one large polygon. However, I would also like the new large polygon to take over the attributes from a specific feature. The feature from which the attributes are to be taken has a specific name in one of the attributes. Let's call this attribute “NAME". Hence, I sorted the features based on “NAME” before feeding to the Dissolver. However, it seems the Dissolver does not choose my first sorted feature to take the attributes from, but it seems to choose the feature (polygon) with the largest surface area. There does not seem to be a setting in the Dissolver which allows me to choose how the attributes are handled and how it chooses from which feature to take the attritubes. How do I dissolve my polygons, taking the attributes from the polygon where “NAME” has the value lowest in the alphabet? I don't know on bef
Hi everyone,I'm seeing some unexpected behaviour when writing repaired geometries to a GeoPackage.My workflow is:GeometryValidator (Attempt Repair = Yes) → GeoPackage Writer → GeoPackage Reader → GeometryValidatorBefore writing:Input: 32,572 Passed: 10,720 Repaired: 21,852 Failed: 0After reading the GeoPackage back:Input: 32,572 Passed: 31,789 Failed: 783 (Invalid Parts)I also noticed another behaviour:When Spatial Standard Compliance is included in the first GeometryValidator, the written GeoPackage appears to preserve more polygon coverage. When I disable Spatial Standard Compliance, all features still pass after repair, but after writing and reading the GeoPackage back, more features fail validation.Has anyone experienced this before?Is this expected behaviour of GeometryValidator/GeoPackage, or should the repaired geometries remain valid after being written and read back?Before writingAfter writing
My org recently upgraded Flow and Form from 2025.1 to 2026.1 We have heaps of translations that involve both Enterprise Portal and ArcGIS online. The web connections and services had all been upgraded to use the newer version of the ArcGIS Connector package (the safe.esri-agol versions). I’ve re-used all the safe.esri-agol web services built in Form 2025 in 2026. Everything authenticates and grabs a token as it should in testing the connections.Actually using the ArcGIS OnlineConnector is a different story. It works great in 2025 still, and reads everything available to the account: In 2026 however: 2026 version is trying to use a proxy to connect and eventually just times out without reading anything.Is anyone else seeing this behavior, and if so how to correct it? The Proxy settings in both versions of Form are both the same (use system settings).Thanks!Chad
Hello everyone,The funny thing is, I am trying to read .docx files which apparently I have never done until now in FME Form I am trying to convert several .docx files to html pages.I tried reading the help page of the Word reader, but unfortunately I don't get much wiser. It says to use the Word reader in conjunction with the transformer MSWordStyler. I looked into the MSWordStyler, but I also don't get much wiser. When I just connect a word reader with a html writer, I don't get any output (which I kind of expected). However, I really have no clue how to get from .docx → htmlIf I import all docx files in FME form, I kind of get a mess of all word pages meshed together in the Data Inspector
I have a bathymetric shapefile that I’ve adapted for eventual 3D printing. Part of my challenge is the sparsity of contour lines, which creates substantial space between contours. I previously tried GRASS/QGIS/SAGA/etc with limited success. Now I’m trying FME. FME processing is much easier, but the issue I’m trying to solve now is roughness at contour edges. This is the workflow I’m using:It produces a reasonable DEM output that I’m processing through QGIS with DEMto3D:Banding from contours:A closer look at the .stl shows hard contour line edges instead of smoother transitions:I’ve read some about using PointCloudCombiner and NumericRasterizer, but don’t know if that will address this situation. I also tried a workflow with NumericRasterizer, but the results were similar. In the past I’ve tried gaussian filters, or other smoothing techniques, but that really disrupts the shorelines. Feedback is appreciated.
I have a fairly complex shapefile/contour source that I’m converting to a DEM raster. It involves a lake bathy that has large islands. This process is complicated by the lack of good smoothing for widely separated contours and also islands within the lake.With the lake bathy I’ve created very smoothed rasters, but for the land I need to have a sharp edge to represent the shoreline. I have 2 separate raster generators for this. I clip the rasters to isolate lakebed, land around the lake and land on islands.The last complexity is inputing 2 rasters into a RasterMosaicker (both have alpha channels) and have the island rasters bands 0,1,2 set to RGBs of 255:255:255 while retaining the alpha channels for overlaying.I tried setting the RBG bands for the islands to 255:255:255 prior to the RasterMosaicker, (since islands are lost after the RM), but after removing the alpha channel with a RasterInterpretationCoercer the island RGBs are reset to either 0:0:0 or arbitrary values (such as 113:113
I've found not documentation around any name formatting limitations for Attributes for the Hyper file Writer. When I work in Tableau Prep, I have no issues writing a file with a field name like "Budget$" to a hyper file. I've found in FME that when writing to an Excel file, it also takes such a name, but when using the Hyper writer, it drops the "$" and replaces it with underscore "_". Why is it doing this? Is this a mistake in creating the code for the Writer or is it a Necessity and if it is a necessity, shouldn't this be documented?
Hello All,There may be a bug (or least a less user-friendly transformer) in Form 2026.1.2Choosing specifically the Esri ArcGIS Feature Service as the Format, the Dataset parameter is by default disabled: I’m unable to determine what the “related parameter” is that is *disabled.I can setup my feature types by importing the schema of my intended target data, but saving all the changes in the transformer puts it in an error state.If you visit the navigator window you can see where the “Dataset” parameter is in error.The only way I’ve found so far to get around this issue is to go into the Manage User Parameters setting and create a new user parameter for Dataset which needs to be the feature id of the online feature, inclusive of the parentheses around the id number. This is definitely adding more configuration steps to the Feature Writer than before as the Dataset used to be configurable directly inside the transformer and you didn’t have to remember to copy the feature id from Esri.Any
Hello, I have a question regarding the DGN Reader/Writer about reading and writing external reference files.I am using the DGN Reader that contains a reference to another DGN file. In that referenced file there is a rectangle (an igds_shape element). In the DGN Reader parameters I enable the options "Read Elements From Reference Files" and "Keep Elements That Represent Reference Files".My goal is to move that rectangle to a different location and save it into a DGN file in such a way that:the rectangle appears at the new (correct) position - this part is not a problem; I already have a workbench for moving the geometry but it still keeps the link to the original referenced DGN file, and the referenced DGN file itself remains unchanged.In other words, I want to move the geometry in the main DGN while keeping the external reference link attached to it, so that any future changes in the referenced file (e.g., adding an image inside that rectangle) automatically appear in the main DGN at t
https://support.safe.com/hc/en-us/articles/25407427123597-Reading-and-Writing-SharePoint-Lists-with-FMEGuidance states: “1. Add the SharePoint List ReaderAdd the SharePoint List Reader to your Canvas, in the Dataset parameter enter the domain of your SharePoint site (for example, https://safesoftware.sharepoint.com). Click Parameters. Select your desired Authentication Method. In this tutorial we are using the Microsoft SharePoint Online (Template) Web Service configured to Safe Software’s SharePoint. You can choose either Basic, Web Connection, NTLM, and Kerberos. “However, I get error message when selecting The Microsoft SharePoint Online (Template) option; doesn’t this need to be configured in a certain way..?