Using transformers to modify data.
Recently active
Hello,I want to report a bug related to adding attachments to a feature in an ArcGIS Enterprise Feature Service using the ArcGISAttachmentConnector in the latest version.I receive the following error:(C:\Users\x\AppData\Roaming\Safe Software\FME\Packages\25606-win64\python\safe.esri-agol\fmepy_esri_agol\attachments\handler.py:104) add_attachment return AttachmentResult.from_dict(response.get("addAttachmentResult", {})) ^^^^^^^^^^^^910523 Python Exception <AttributeError>: 'generator' object has no attribute 'get'The problem is that the ArcGIS REST API addAttachment endpoint returns text/html instead of json. This appears to happen specifically for Enterprise Feature Services, as described here. As a result, the result cannot be decoded. However, the attachment is actually uploaded successfully.Bug fix:Change the line 43 fromfiles = {"attachment": (filename, file_obj, mime_type))}tofiles = {"attachment": (filename, file_obj, mime_type), "f"
I have a workflow where I am creating a raster using SurfaceModeler. As documented, this transformer may output some NaN values when using PLANAR interpolation. I indeed have a few cells that come out with a NaN value. I am not certain what transformer can change my NaN values to NoData values (or any other values)? I read through this article: http://blog.safe.com/2013/11/fmeevangelist119/ and thought the NullAttributeMapper would be the answer, but it does not seem so.
Upgraded from FME Desktop 2022.2 to FME Desktop 2025.1 (Build 25609)In FME 2022.2, I had a FeatureReader reading to a FeatureService URL with no issues. Perfectly was able to read it and extract its spatial content and attributes. Upgraded to FME Desktop 2025.1 and it no longer works. Could this be like an internal firewall blocking access to this or is it the way FME 2025 handles SSL certificates? If so, how can I remedy this?Any insight is much appreciated.SAMPLE WorkbenchI have the latest package installed Error message: ArcGIS Feature Service Reader: Could not connect to server. Check that you are connected to the internet and that no firewall is blocking outbound connections. The error was 'HTTPSConnectionPool(host='services.arcgis.com', port=443): Max retries exceeded with url: /mMUesHYPkXjaFGfS/arcgis/rest/services/ROLL_ENTRY/FeatureServer?f=json (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Basic Constraints of CA c
Morning All, Has anyone else identified an issue with all SQL transformers when specifying the connection via either deployment parameter or database connection? When run on Form it operates correctly but when run via Flow (either scheduled or manually submitted) the following error is returned: Error occurred while opening database reader with server type `MSSQL_ADO', server name `XXXXX', user name `', database name = `' : `Encryption Error: AES Decrypt finalization failed.' If the database connection is embedded into the transformers Flow is able to operate these transformers correctly, however this would then require each transformer to be reconfigured as we migrate between environments. Thanks in advance, Paul.
Hey everyone, I hope I am just missing a very obvious point here. I am trying to compare two SQL input data sourcesOne with these columnsAnd the other with these columns The customer and account number combination is going to be my primary key. I need to extract the email addresses of customers based on that combination. I have tried the feature merger which seemed to be the obvious solution, but I am not getting any matches?Any idea where I am going wrong?
I have found that the feature reader will not accept point data as the initiator. I have since found that in Version 15 a change was made: -Spatial operations will reject initiator features with point geometries to match native reader behaviour.Does anyone know why this was changed and if there is a way to force it to accept points without having to create a very small buffer to it and then recreate the point after the feature reader.
Good afternoon, I am extremely new to FME so apologies in advance if my question comes across as exceedingly simple or unnecessary. Anyways, I am attempting to convert a set of line features that originated in AutoCAD into a GIS formatted polygon layer. To start, I cleaned the layer as best as I could and performed snapping within QGIS. I then have tried using AreaBuilder in combination with other transformers such as LineCloser to obtain a set of polygons, but the output so far has been less than ideal. I have also experimented with Snapper and some other transformers such as LineExtender but those have introduced new errors that then lead to no output from AreaBuilder. Below I have attached an image of my workspace currently, as well as an image of the current output I am receiving. I will also attach a sample of the dataset I am working from! My conclusions are that LineCloser is causing the issue which leads to these slivers and polygons outside of the scope of the data, however I
Hi,I’m trying to put an URL in a table using the new DocumentPDFStyler and I can’t make it work.One of my issue is that the URL breaks because it doesn’t fit in the table box, also it doesn’t show up as an url. I tested many things to make it work: Image Link, add the pdf_url attribute (doesn’t work because this is the documentpdf writer), put quotes around it.I’m trying to make this work without having to use the wkhtmltopdf 😅
Hello, Please see picture above, DateTimeNow is my value i am feeding into DateTime attribute, which matches the preview data format, but the output keeps getting rejected saying the errors above. I’m a bit stumped to as why this is not working. Any ideas?Thanks.
Hi All,I often encounter difficulties when attempting to select specific raster values using FME. I am currently working with a raster dataset that contains two bands, and I need to isolate the following values:Band 0 (GRAY8) = 3 Band 0 (GRAY8) = 4Could you please advise on the appropriate expression to use within the RasterExpressionEvaluator to achieve this selection?Thanks :)
Hello, I think my question has been asked before but I can't find anything on Google.Input Data : One table wothout geometry with : Id Id route measure One table with linestring geometry and : Id Id route (the same) geometry I want to position my point data with the measure field along the line and generate a new Point Geometry
The feature reader does not allow you to make a clip on the initiator geometry. I need to read a fairly large raster (13GB). Input I get some small zone geometries to analyze. The idea was to create a BBOX on the geometry and use the feature "Spatial filter: intersects or bbox intersects" to load only the part of the raster needed for the analysis. Even configuring intersects or bbox on the feature reader, in output there is always and anyway all the raster. This problem is great because it slows me down considerably the server side script. If you add a raster reader instead you can check the "Clip on search envelope" flag and it works. But without FeatureReader i can't give my search envelope by the initiator. Could this be a missing-feature?Does anyone have a workaround? I use the FME Desktop version 2019.1
I’m using the rasterdemgenerator and I can’t get the fme_basename passed it. I have some lidar tiles and I want to make a DTM from them. I can do everything, but I cant get the DTM named like the input las file. It has either no name or it has the name of the transformer. There is an old forum post where Takashi tell’s someone to expose the FME_feauture_type, fill it with the FME_basename, use a group by (using the FME_feauture_type) in the rasterdemgenerator and than use it as the raster file name. It doesn’t work for me… Any other suggestions? I’m on FME 2025.0
Hello Safers, I have a CAD file that has annotations inserted within it that should be one annotation but, for whatever reason, they were created as separate annotations: Above is an example of what I am struggling with. The text should simply read 10.88, but FME reads it as 1, and 0, decimal , 8, 8, and 0. What I would like to do is treat this as one annotation, and be able to round or eliminate extra numbers where needed (i.e. I only need two decimal precision, not three). Please note I already figured out the precision and rounding….I just need help with these multi-part annotations.How would I go about doing this in FME?Thanks!
Hi All,I have tried to implement several suggestions from the community regarding date filtering; however, I have not been successful so far. I am trying to filter dates in a CSV file based on the "last login" within the past three months. The date format in the file is as follows:18/07/2025 09:16 08/07/2025 12:46 01/02/2024 10:07 16/01/2025 10:33I have converted those dates to %Y%m%d resulting ‘20230403’ then add an AttributeManager to change the ‘last_loging’ attribute to ‘date’ and finally used the following expression to filter the "last login" within the past three months:@Evaluate(@DateTimeFormat(@DateTimeSubtract(@DateTimeNow(), '3', 'months'), '%Y%m%d'))...but for some reason doesn’t work,Any guidance or support would be greatly appreciated.
When I create a Custom Transformer in FME, and (manually) create parameters within that custom transformer, it seems that I can't assign an attribute value for these parameters from outside of the custom transformer. So for example, I created 3 distinct parameters (text, number and (single) choide) inside of a custom transformer, all of them with the setting 'Disable Attribute Assignment' unchecked.then outside of the custom transformer I don't get an option to provide an attribute value for each of these parameters;Interestingly, if I expose attributes at the input port of the custom transformer, like so; then a text parameter is automatically created (in this case 'ATTR1'), whose value can be set outside of the custom transformer:It seems like a bit of a bug to me. I'm using FME 2021.2.2.0 (b21806 - win64). I found some ways to work around this, like in case of the text parameter, you can open the Text Editor window, and manually type @Value(attr1) (also i
I’m trying to read a text file with settings in it then, use the settings in the WS. The settings are formatted on lines like name = value. There are lines with other stuff on them like comments that I just want to ignore. The WS that I have seems to work up to the AttributeSplitter. I think it splits right because it shows 30 features created but it doesn’t fully fill the list{}. I think the list{} should have 60 items but it only has 2. The AttributeCreator just creates one attribute for the list{2}. I’m a bit confused how this should be configured. Also, if there is a better way of doing this (reading settings) then, please let me know. I have attached my WS (zipped) and my txt settings file.AttributeCreator: only one attribute gets created ‘APP_EXIT’. AttributeCreator
I’m working through a data cleaning process in a workspace. I have multiple files that are different from each other in schema and attributes, but are essentially all saying similar things. Hence the cleaning. I’m working in one workspace to make re-use of transformers a little easier, but when I’m using the FirenameParkExtractor transformer I need to identify a user parameter source for it to gather up a name to chop up. This is what that dropdown looks like: The names here do not align with how I’ve named the readers and associated files so I’m a little confused about how to make this situation easier to work with. I’d like to be able to rename the source datasets, but I’m not sure where I’d do that. Can you tell me? As an aside, is it a bad idea to process many things in one workspace? Should each file get it’s own? Is there some helpful documentation out there about designing workflows? (I’ll be searching on that just now, but I thought of the question as I was writing the post!) H
Not sure if it’s an issue as such, although I struggle to think of a scenario where you would want this functionality, and it might be obvious to some but just as an FYI If you send multipolygons into a Dissolver with Aggregate Handling set to Deaggregate and choose attributes to sum, the polygons will be deaggregated first, this means that each constituent part inherits the attributes of the original multipolygon feature and this will then be summed to leading to unexpected values. So from thisYou get this
Hello,I have two tables with the same field names. Both tables have 2 date fields, with a start date and a end date and other fields which has the same name in both files. The only thing is that the date segmenst (time between start and end) has a overlap.Example:TABLE 1:DATUM_INGANG DATUM_EINDE ID REPLACER 19921101 20040119 0502010000027183 OWNER 20040119 20160930 0502010000027183 OWNER 20160930 99991231 0502010000027183 OWNER TABLE 2: DATE_START DATE_END ID REPLACER 19921101 20060716 0502010000027183 USER 20060716 20061008 0502010000027183 USER 20061008 20070220 0502010000027183 USER 20070220 20100616 0502010000027183 USER 20100616 20110709 0502010000027183 USER 20110709 20111001 0502010000027183 USER 20111001 20190325 0502010000027183 USER 20190325 20190617 0502010000027183 USER 20190617 99991231 0502010000027183 USER I want to combine them to one table, this should be the outcome: DA
I am processing a large amount of simple data: Points with attributes. I want to filter the data by a specific set of attributes, some of which have wild cards. e.g., "T", "T BASE", "T BENT" should all pass through. For each run, a user will be specifying the valid attributes by putting them into a file (probably text), which will be read in at the start of the process. I mention using a list, but they could go into a table as well if that would work better.
Hi, i am copying files using the FeatureWriter with FileCopy and but some of them are missing but i dont get an attribute telling me which files are missing. All i get is this in the log:File Copy Writer: Skipped 401 features that contained invalid source datasetsBut what i would like is to route those with invalid source data set and have them write to an excel ark or similar so i know which files cant be found.But right now the features all come out of the same port with no distinction of wheter or not the copy was actually succesful. Which is not very useful for me. Any help is very much appriciated :)
Hey guys, So I ran into a problem I shouldn't have. For my workspace I'm trying to subtract two integers from one another. The problem that I'm facing is that the arithmatic expression is not giving me any usable data. This is also the case when slightly change the expression. Below is the most recent attempt. Can anybody point out how I might be able to make this work?I have performed similar expressions in older versions of FME with no problems whatsoeverI I'm currently running FME 2024.2.4.0. The data type is originally Real64 but I converted it to Int32. Any help would appreciated.
I have land parcels that are currently separate features in ArcGIS SDE. Below highlights 2 parcels that that belong to the same property 1st and 2nd floors. (2nd floor is the smaller shape)I want to aggregate these into a multi part single feature grouped by an ID that they share called LANDNO.After using the aggregator transformer, it looks like the below where the second floor has been totally cut out leaving nothing. I haven’t tried a Disslove yet but I reckon that would remove all vectors of the second floor which I still want to keep.Here are the settings in Aggregator. Any suggestions to achieve my objective ?