Using transformers to modify data.
Recently active
Hi everyone!I’m learning about dynamic flows in FME and I’ve encountered two issues that I haven’t been able to resolve yet. I’m reading multiple .gpkg files from a folder, but in the output, all the data is saved in a single .gpkg file. I need FME to generate a separate output file for each .gpkg read. How can I set this up? When I insert the Attribute Manager and rename the attribute from acm_id to id, the values of that attribute (acm_id) turn null after the renaming, and the new attribute (id) does not appear in the final output file. Does anyone know how to prevent this from happening? Thanks in advance for any help or suggestions!
I have used a Directory and File Pathnames reader to generate an attribute holding file paths for the .xlsx files that I need to read in to my workbench. My plan was to use a FeatureReader to subsequently read these files in but I am struggling to get this to work.There are multiple worksheets in each .xlsx and I only need the contents of one - in all cases the applicable worksheet has the same name and an identical schema, the column headers are all on the same row as well.I haven’t been able to work out how to configure the FeatureReader as when specifying the dataset from an attribute the parameters to specify ‘Sheets to Read’ and ‘Field Names Row’ are not available.I would be very grateful for any advice - thanks in advance.
I’m currently updating all of our tools to a new input dataset. In the process, I’m relying on the transformers to tell me when there are issues with the new schema. The issue I have found is the TestFilter is not flagging these as Incomplete Transformers. Build is 25237, and all transformers are up-to-date.I want to believe I have seen this behavior on other transformers, but the TestFilter is by far the most prevalent case and has the potential to cause the most problems in our workflows.Is there a work-around to check for Incomplete Test Conditions? Original configurationWhen the connection is removed, the transformer does not become Incomplete. It’s only when you drill down into the Test Conditions that you see the issue.To rule out something weird going on with my workspace, I created a fresh test from scratch. The issue persisted here as well.
I have an existing process that processes versioned views from an ESRI SQL Server Geodatabase to another SQL Server Database creating SQL Spatial tables with a geometry column that I have reprojected to WGS84 Lat Long. Can I add a second geometry field to the SQL spatial tables and populate that column with Web Mercator geometry? I am trying to figure out a single workflow that would calculate both columns in the same table. Or am I restricted to calculating one geometry column at a time in separate processes?
Hi, I have set the spike remover to 3D dimensions to read 3D solids however everything is being rejected due to - ‘Invalid Geometry Types’. Any ideas?
Hello, I am struggling with using the ArcGIS Attachment Connector to upload multiple attachments in an ArcGIS Online Feature ServiceI am able to add one attachment but for some reason it will not add multiple photos. This is for a Survey123 that I set up an automation in FME Flow with webhook to add certain features to a hosted feature layer in ArcGIS Online. It runs fine, adds the data, but the moment there is more than 1 photo that needs to be attached, it only uploads 1 photo. Any advice would be greatly appreciated. Thank you!Edit: This works perfectly fine on the workbench (it will add all attachments) but when I try to run it on flow, it will only add 1 attachment. I do receive the following error message: 158 2026-1-2 10:50:31 | Message Type: fme::internal::_v0::py::Exception 159 2026-1-2 10:50:31 | Python Exception <TypeError>: Unknown output tag 'Output' passed into pyoutput() 160 2026-1-2 10:50:31 | Error encountered while calling method `input' 161 2026-1-2
FME Form 2025.1SQL Query in SQLExecutor: SELECT * FROM table_name WHERE ID BETWEEN $(polystart) AND $(polyend);Oracle tableWorks fine in DBeaver with actual ID numbersFails in FME with actual ID numbersFails in FME with User Parameters for the numbersError Message:Execution of statement `SELECT * FROM table_name WHERE ID BETWEEN 35480 AND 35484;' did not succeed; error was `ORA-00933: SQL command not properly ended'.Does FME just hate a BETWEEN statement?Going mad trying to figure out where I am going wrong 😂
I try to find a text ending with a newline. Using the inbuilt regular expression editor (with the regex #! <DATASET\n) shows a result so the regex looks correct to me:StringSearcher unfortunately doesn’t find the line: (see attached workbench)Where are things going wrong?
!--startfragment>I want to find the deltas from A(users are editing) & B(for analysis) environments and want to update the deltas in B environment on daily basis. My workspace created as below ESRI feature class from A as rader and same feature class from B as readers, thenNoFeaturesTester - If the database disconnected or any reason to unable to read the sources, it will terminate the process through "NoInput" port from both A & B readers, thenChangeDetector - This will finds the DELTAS from A & B and will update B feature class based on GLOBALID Configured 22 feature classes as above in one workspace. Want to execute this process one after feature class after one feature class, like FeatureClass1 -- Reader A > Reder B > NoFeaturesTester A > NoFeaturesTester B > ChangeDetector > Writer, thenFeatureClass2 -- Reader A > Reder B > NoFeaturesTester A > NoFeaturesTester B > ChangeDetector > Writer, thenFeatureClass3 -- Reader A > Reder B &g
Hey all, I currently have a workflow in place to pull a list of files from an SFTP server, download the latest file, and rename it with a .csv extension (the files do not have extensions by default). This process works fine, my problem is when I try to pass this value onto the systemcaller transformer, it seems to just run the workspace in the systemcaller without reading the updated file, which is problematic. I am taking the _downloaded_file_path from the FTPCaller, and adding “.csv” to it, so that it reads the file. (There is a separate transformer which replaces the file with a file of the same name to add .csv). In the workspace logs, it looks like SystemCaller is interpreting this literally as Filename + ‘.csv’ and that file does not exist. Code to run the workspace has this in it: -SourceDataset_CSV2_4 "@Value(_csv_path)" --FME_LAUNCH_VIEWER_APP "YES" Couple of perhaps dumb questions… does the SourceDataset_CSV2_4 need to be changed to _1 or something? Or is there an issue wi
I have a process in FME and I want to send an email with the Emailer transformer at the end. I've already written in the email body the data I want to appear in the email, but the problem is that I want to send it in plain text format and not in HTML. The Emailer transformer always wraps my text in HTML, even though I already changed it to FME's format; it seems that every time I exit the transformer to run the process, it doesn't save the text settings in the transformer. Does anyone know how to change this?
I’ve been struggling with the File Geodatabase Open API FeatureWriter in FME. When I create a new file geodatabase from scratch, everything runs successfully. However, when I switch the FeatureWriter to Drop and Create, I encounter random failures with the error:Geodatabase Error (-2147467259): General function failureHere’s my setup:The workbench consists of a series of Oracle SQLExecutors that read each table, followed by a FeatureWriter to convert the data into feature classes in the file geodatabase. I originally used a dynamic workspace, but after seeing this error (and reading advice to limit the number of features processed dynamically), I changed the design so each table is processed in series. The failures occur at different FeatureWriters each time, so it’s not tied to a specific table. I tried using Truncate instead of Drop and Create (since truncating is better for avoiding file locks), but it was very slow, so I abandoned that approach. As a workaround, I check for lock fi
Hi, The workbench to convert the File geodatabase to CAD was working until the FME/ArcGIS upgrade. The workbench is now not writing many line features with the following warning The following feature is not valid because its entity type of 'fme_no_map' and its geometry type of 'IFMELine' do not match. The geometry failed to be converted to match the type, so the feature will be skipped. Warning : Attribute(string; UTF-8) : `autocad_entity' has value `fme_no_map' FME version : FME(R) 2025.0.0.0 (20250228 - Build 25208 - WIN64) How can this be fixed? ThanksSresree
I have a raster broken up into a grid of raster cells using RasterTiler. I want to rotate each cell X degrees (not the whole raster) in place. I do *not* want to rotate around the upper left corner. I need the cell to rotate and remain in the exact location.As I understand it, my process is using the following transformers:RasterCellOriginSetter: Set to 0.5,0.5 (the center) Rotator: Set Rotation Angle to X. RasterRotationApplier: Interpolation Type = Bilinear.When I do this, the cells are rotated around the upper-left corner rather than the centroid.Do I have the correct transformers & settings for this application?
I need to take hundreds of thousands of connected 3D faces in DWG files and write them to separate IFC files, where each IFC file contains a single surface made up of the multiple 3D faces in each DWG.I have a working solution to accomplish this without merging the surfaces but it is very resource heavy and creates large IFC files, about 10x as large as the DWGs. Using SurfaceModeller accomplishes what I want, however the resulting TINsurface is extrapolated along the entire circumference of the combined features which creates geometry that doesn’t exist in my source data. How can I merge the surfaces without changing them?My workspace:
Hi all,Got a strange situation with the SharePointOnlineConnector (both in FME Form 2024 & 2025.2).I want to upload a file towards a certain sharepointsite. In the GUI I can select my site: ‘https://mysharepoint.com/teams/teamA, my library and my Path. If I want to make my site dynamic, so File A needs to to go site from TeamA and File B needs to go to site from TeamBI’m not able to do this. User Parameter does not work. Making the url like this: https://mysharepoint.com/teams/@teamValue does not work → Even for the File for TeamB it still refers to the site from TeamA (or whatever team I selected to create the workspace).Even using the setup of getting the <HostURL>,<siteID>,<webId> provided from attributes: It still points towards the old setup and not a dynamic one. Am I missing a certain step? the used Authentication account has rights towards the sharepoint (setup via this guideline: How to Create a SharePointOnlineConnector Single Tenant Web Connection – F
I use several XMLXQueryExtractors in my workspace, each with queries similar to the example below. Sometimes a query returns no results, which causes the transformer to generate a warning. This leads to a lot of unnecessary log entries and clutters the log.I’ve tried checking whether the query returns a result before processing it, but the check still sometimes evaluates to “no result.”Does anyone know how to prevent these warnings? Could it be related to the fact that return only uses fme:set-attribute and therefore doesn’t actually return a value?Query:declare namespace gml = "http://www.opengis.net/gml/3.2";declare namespace aixm= "http://www.aixm.aero/schema/5.1";let $id := fme:get-attribute("arc_id")for $arc in ( //gml:Curve[@gml:id = $id]/gml:segments/gml:ArcByCenterPoint, //aixm:Curve[@gml:id = $id]/gml:segments/gml:ArcByCenterPoint)return ( fme:set-attribute("startAngle", if ($arc) then string($arc/gml:startAngle) else ""), fme:set-attribute("endAngle", if ($arc) then strin
HI All,I have a bit of geometry challenge to create a rectangle (or square) polygon based on a cross geometry, some example below:Any ideas how to achieve this?Thanks :)
I trying to find out the differences (and uses) of the 4 version types available in the Esri Geodatabase (ArcSDE Geodb) reader/writer:Version from SDE connection Transactional version Historical marker specific date and timeI’m not clear on the differences between them especially version from SDE connection and Transactional version where the version can be specified. From my understanding the transactional version is where the sde version is specified and if not then the default is used?An explanation or pointing me in the right direction would be very much appreciated.
Using FME Form 2025.1.1.0, I have some 30.000 features that have an attribute containing a polygon in Well-Known Text form. For about 4000 of those, GeometryReplacer rejects them with the fme_rejection_code of ‘INVALID_PARAMETER_GEOMETRY_SOURCE.If I check the WKT, I can’t find any problems with it, and if I use https://wktmap.com/ (with an EPSG:28992) the handful of polygons I’ve checked show up just fine without any errors.Example of one that goes wrong but looks good to me (and wktmap):POLYGON ((78388.897 419890.033, 78421.563 419868.628, 78426.311 419875.727, 78429.69 419880.662, 78426.428 419884.195, 78422.297 419888.73, 78417.812 419891.98, 78413.315 419895.15, 78401.216 419903.072, 78397.477 419905.515, 78379.315 419917.4, 78377.366 419915.657, 78378.144 419913.401, 78379.163 419910.789, 78381.446 419908.255, 78384.409 419905.029, 78389.638 419899.094, 78392.82 419895.507, 78388.897 419890.033))As far as I can work out, it does seem to always be the same features (this is from th
I have a Excel in which some cells have STRIKEOUT text. I can find the cells where the whole cell text is STRIKEOUT by using the advise of the below post.Recognize "strikethrough" in cells | CommunityBut the cells which have STRIKEOUT text and normal text are not recognized. I need to exclude the STRIKEOUT text and work further with NON STIKEOUT text, even if both are in one cell. The first record I can find and exclude but the third record STRIKEOUT is not recognized. Is there a way I can only read NON STIKEOUT text if it is included with STIKEOUT text?The STIKEOUT text could also be part of a sentence like: abcdefghijek mno pgrs tuvwxyzwhere pqrs should be left out.
Hello, I have a polygon dataset and I am trying to find the polygons that are within 200m of another polygon. I am trying to do this using the NeighborFinder in candidate only mode with the “Number of Neighbors to Find” = 1 and “Max Distance” = unset and then using a tester to select the features where _distance is less than 200. I am getting a lot of features out of the “unmatchedcanidate” port though. I would have though with number of features to find = 1 and an unset max distance all candidates would be matched and given a distance to their nearest neighbor? am I missing something?
In a workspace processing AutoCAD data, I have recently replaced a bunch of transformers with an InlineQuerier, and downstream of it is an AttributeFilter, filtering on the autocad_entity attribute. Because of this, I found that the InlineQuerier is dropping this attribute, regardless of whether it’s exposed when entering.I don’t need the attribute for my queries, so I had not originally added it to query columns, but after some testing, the only way I can get the attribute to persist on the features exiting is to include it in the query columns, specifically include it in my SELECT statement, and also not include fme_feature_content in the SELECT. With a simplified query:Works - autocad_entity is present on outputNot working - autocad_entity missing in outputI found this post Geometry Replacer - missing attribute after output | Community where the replies note the GeometryReplacer will remove this attribute (among others) to avoid issues downstream - this makes sense, and I’ve found
Hi, Has anyone else noticed that when you use an attribute creator in your model, or renamer, or in your manager where you reuse an existing field, it works perfectly in your model but is not transferred when you write it to your shapefile? I always have to use a separate creator at the end This used to be no problem at all. I am now using 2025.2, but I had already noticed this in version 1.
I am in the process of automating feature service creation and uploads to AGOL. We have built this process in FME 2023.2.2 and it works as intended. After updating to FME Form and Flow 2025.2, I am getting this error message (see below) when trying to create a fGDB by importing an XML schema created just upstream from the fGDB writer. I have updated my AcrPro to 3.6.0 and made sure that the Python Compatibility is set to ESRI ArcGIS Python 3.13. I have confirmed that the XML is valid by importing it into a working fGDB in ArcPro, and that it is finished being created before the attempt to create the fGDB. The ArcObjects error number points me towards the article linked below, which tells me I have a spatial reference issue, so I am not sure what the actual resolution could be. I am overwriting the spatial resolution in the XML to reflect the state plane coordinate system the potential project will be located in, which was never an issue with previous FME versions. Has anyone else come