Using transformers to modify data.
Recently active
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
so i have this polygon and i can see the min extents and max extents in the record information window. i know that i can get the coordinates and calculate the length and width of the polygons, but i’m interested to know if the min and max entents in the geometry portion of the Record Information can be obtained directly?
We currently use the ArcGIS Data Interoperability extension for standardization and validation of alphanumeric and spatial data, processing datasets ranging from 1,000 to 10,000,000 records.We are aware that there is a difference in the number of transformers available compared to FME Form, but we would like to understand whether there are deeper technical differences that a beginner user should consider when deciding between continuing with ArcGIS Data Interoperability or investing in a full FME Form license.Specifically, we would like to know: 1. Performance with large data volumesAre there significant performance differences between the two solutions, especially when working with millions of records? 2. Structural limitations of ArcGIS Data InteroperabilityWe would like to understand whether there are important limitations regarding: automation and scheduling of routines, database integration, advanced geometry manipulation, building and debugging more robust workflows. 3. En
I am new to lists and xml in FME and having a bit of trouble. I am trying to use the XMLTemplater to populate an XML tag using a list value.My XML template looks like this: <prompt>{fme:get-attribute("prompt")}</prompt> <output>{fme:get-attribute("output")}</output> <data> { for $testcount in fme:get-list-attribute("itemlist{}") return <item>{$testcount}</item> } </data> Test count is the output of a list element counter, and itemlist is a list attribute of the items. My output looks like this: <prompt>Material</prompt> <output>Survey Attributes/Material</output> <data> </data> There are no contents being created within the data tag.I am trying to get it to output like this: <prompt>Material</prompt> <output>Survey Attributes/Material</output>
Hello everyone,I am a beginner when it comes to FME and loops. I have the following task: I have an attribute column with a value. (e.g. Person 1, age 18Person 2, age 35Person 3, age 41Person 4 , age 45The age column should now be increased by one value x times per specified loop run. The number of loop runs should be controlled using user parameters and variables.I am using FME 2022. Can anyone help me? I have found examples with loops, but as a beginner I don't understand them.Thank you very much for your support. I look forward to your reply.A.B.
When upgrading from one version of FME to the next, I can upgrade some upgradeable transformers, and I can also upgrade the readers and writers to the latest version. But what about the readers that are called by the FeatureReader (and writers by FeatureWriter)?We just upgraded from 2024.1 to 2025.1, and I upgraded the FeatureReader transformer reading a geodatabase. Does upgrading the transformer, upgrade the GDB reader functionality? Or does it automatically call the latest GDB reader? Or does it stick with the old?