Using transformers to modify data.
Recently active
The FeatureReader for Esri ArcGIS Server Feature Service seems broken in 2024.0. I try to read the following feature type : "Zones de gestion intégrée eau par bassin versant - ZGIEBV";and I get the following error message : ArcGIS Feature Service Reader: Could not find a layer/table matching feature type 'Zones'Python Exception <FeatureTypeNotFoundException>: FMEException: 928219: ArcGIS Feature Service Reader: Could not find a layer/table matching feature type 'Zones' It seems to me like the feature type cannot contain spaces. This worked fine in FME 2023.
I'm using a FeatureReader to read an ArcGIS Server Map Service. The map service has a lot of layers (AKA: Feature Types) which I can choose from to read.If I choose a feature type name which doesn't have a space then it works but if I choose one with a space then FME Desktop errors saying it can't find the feature type with the truncated feature type name at the first space. Here is an extract from the logs below for "Fish habitat areas" as an example of it incorrectly reading "fish" as the feature type name ArcGIS Feature Service Reader: Could not find a layer/table matching feature type 'Fish'A fatal error has occurred. Check the logfile above for detailsStoring feature(s) to FME feature store file `C:\\tempDir\\wb-cache-DownloadFishHabitats-C19216\\Main_map_service_-_FeatureReader -1 3 fo 633 _lt_REJECTED_gt_ 0 85bd7267ad00c49a5eda9b6f99fe095bbe050483.ffsupdating' Is there a way I can get around this? (I can't remove the spaces in the
Hi All,I am working on data with Line Geometry and would require some help to solve the below scenario,While plotting them on map, I see there is small gap between lines in some scenarios and would like to join them together if the distance between two lines is less.(Reason for this gap - There is an asset in between the lines which has Point geometry.- Not sure if this statement will help, JFYI)Below is an example of different line geometries joining with each other, and there are small gap in some scenariosI would like to join gap between Line 3 and Line 4.gap between Line 5 and Line 6I am not interested in joining parallel line, as they are far from each otherAny help regarding the above would be much appreciated. Thanks
I’m seeing some weird behaviour on FME Flow (2024.2.2)I’m trying to debug a process on FME Flow which isn’t working properly. I wanted to see what was going on so I threw down a logger, republished, reran.To my surprise the feature never made it to the logger...now I know what you’re thinking. “oh you must be doing something wrong”. Well maybe.But the workspace is so simple. Creator>AttributeManager>Logger>File Copy Writer Here’s a snippet of the log:2025-08-22 12:19:45| 0.0| 0.0|INFORM|Creating writer for format: 2025-08-22 12:19:45| 0.0| 0.0|INFORM|Creating reader for format: 2025-08-22 12:19:45| 0.0| 0.0|INFORM|MULTI_READER(MULTI_READER): Will fail with first member reader failure2025-08-22 12:19:45| 0.0| 0.0|INFORM|Using Multi Reader with keyword `MULTI_READER' to read multiple datasets2025-08-22 12:19:45| 0.0| 0.0|INFORM|Using MultiWriter with keyword `PRIMARY_DEST' to output data (ID_ATTRIBUTE is `multi_writer_id')2025-08-22 12:19:45| 0.0| 0.0|INFORM|Wr
I have a texture embedded in a binary file. I’m trying to extract the textures and apply them to the geometry I’m loading. I figured the easiest way to do this is to read the textures in with the FMEUniversalReader. I quickly found out that I need to pass the input file as a string (filename). Ideally I’d pass this as just a BytesIO object as the library I’m working with already loads the data as a PIL object.At this point I don’r really see a way around writing out the textures to disk and then reading them again with FME. Any other ideas?
HiI have an attribute value derived from an Excel sheet. The input attribute name is “Vægt”. FME data type is number(20,2). An example value for a feature is “2.95”. I’m trying to retrieve this value using the xml templater using <Cell><Data Type="Number">{fme:get-attribute("Vægt")}</Data></Cell> But the output value in the xml is 2.9500000000000002 Could anyone explain why this is happening and suggest a fix? I have tried attribute rounding and changing the input Data Type but nothing seems to work. Thanks
I am using a python caller to read paths for files from my Input folder. Files in the input folder are ordered in a ClassName and AssetName folders. There is a variable number of AssetName folders under each class name folder. I am transforming data and using a schema mapper to read transformed schema A series of shapefiles is written with a dynamic writer.How can I copy the input ClassName and Asset Name folder structure when writing the output ? I tried using shp dataset fanout but I can’t get the configuration right.
I'm doing a relatively simple task using a RasterCellValueReplacer, im filtering a few rasters by a defined filter parameter.However, if the filter value is typed into the transformer it works fine, if i try and pass the filter value by either user parameter or attribute the result is completely different and incorrect.What's a bit more of a concern, when i use an attribute or a parameter, the process seems to be making its own filter value out of thin air, the raster passes through as if filtered randomly
I am trying to use the ChangeDectector to compare datasets before loading. First set is AGOL data, new set is SDE data. Every features is considered “changed” because of unexposed attributes that I don’t want to compare. When I have it set to “compare all except”, I am excluding attributes like “last_edit_user” and “last_edit_date”. There are only 4 to exclude and they are the same 4 for all the datasets so I am able to duplicate the transformer. But all records are exiting the “Updated” port because of these unexposed attributes: geodb_type, multi_reader_type, geodb_oid, etc. I dont want to compare these and I also don’t want to expose them first becuse the AGO layers don’t have some of them so I would have to create them and then exclude them. Alternatively, I could use “Only compare these attributes”, but because each set of data to compare have different attributes, I would have to fix the ChangeDetector transformer for each set. Is there a way to discard attributes that are NOT ex
Hello, The goal is to convert a large amount of DWG CAD files to SHP files.Each DWG file is located in a specific folder and subfolder corresponding to it’s location and level. Each DWG name has a prefix component indicating the plan’s specific location and a basename indicating it’s feature type. The prefix component is identical in SHPs and DWGs The basemap depends on a combination of layer(s) and geometry type. There is also a conversion matrix identifying which combination of DWG basename, layer and geometry type result in which SHP basename.Schema mapper & scanner are used to convert schemas based on basename only.I can output the corresponding shapefiles as Prefix_Basename.SHP in one global output folder.However when I try to set the dataset fanout, the folders are created but the files aren’t. I created two separate shapefile writer for comparison. The general parameters are exactly the same, on the writer parameters change.For the dynamic output folderFanout Directory= \o
Guys, I need some help with my XML. In some parts of my document, characters like "&gt" and "&lt" appear. Specifically inside the <data_dictionary></data_dictionary> tag, where I perform an update using the xmlUpdater transformer. What could be causing this?
Good day, I have some line segments that I aggregate based on an attribute in common. After the aggregation I would like to extract the coordinates of the first and the last vertex of the aggregated line (in green). I am using the coordinate extractor at coordinate index -1 and 0. The coordinate values I get as the result are not the first and last vertex of the combined line. I think the problem is that the new line is a multi curve. How can I extract these coordinates (in green) ?
Hello everyone,I am using an XML template like the one below to generate fields dynamically in FME Workbench:<field> <name>cod_imovel</name> <description>{fme:get-attribute("cod_imovel")}</description> </field> <field> <name>tema</name> <description>{fme:get-attribute("tema")}</description> </field> <field> <name>dat_atuali</name> <description>{fme:get-attribute("dat_atuali")}</description> </field> My question is: if a new attribute appears in my source data (for example, atrr_1), is FME able to automatically add a corresponding field like this in the template:<field> <name>atrr_1</name> <description>{fme:get-attribute("atrr_1")}</description> </field> Or do I need to manually edit the template each time a new attribute is added?
Hi all, I’m new to FME and would like to know if there is a way to generate a v5 UUID in FME 2024? From what I have read I can’t see a method for this. Thanks.
Prior to Desktop Version 2022. I could read an AGOL service with attachments relatively fast. Now with 2022, it doesn't seem to work at all. I can view the source from the workbench ok, I can read the features in if I disable read attachments. But it doesn't seem to work with read attachments set to Yes any more. The log gets stuck at 'Updating Access Token for..." Updating the token doesn't help either. Has anyone else had this issue? Thanks
Hi everyone,I’m having some trouble with the XMLQueryExtractor. I need to extract from the xml_fragment field the values inside the <name> and <description> tags.Currently, the output from FeatureJoiner is in the format: Theme | ID | xml_fragment What I need is for the extraction to produce the following table: Theme | ID | xml_fragment | name | description
i am trying separate stacked point data in to individual points, can suggest in FME or ArcMap
Hi all I have a list like somelist{0}.val = 'apple'somelist{1}.val = 'donut'somelist{2}.val = 'aardvark'somelist{3}.val = 'apple'somelist{4}.val = 'aardvark'somelist{5}.val = 'apple' the list histogrammer transforms it into _histogram{0}.value = 'apple'_histogram{0}.count = 3_histogram{1}.value = 'aardvark'_histogram{1}.count = 2_histogram{2}.value = 'donut'_histogram{2}.count = 1 now I want this information as attribute pairs like attribute_name attribute_valueapple 3aardvark 2donut 1 any Ideas how to do this in FME without fancy scripting or looping are much appreciated!
I’m using FeatureWriter to write data using dynamic schemas to multiple worksheets of an Excel file. In the particular case where I detected the issue, the data meant for the last worksheet contain just one row and value in just one of the columns. This value is ‘No’.As you can see, the native_data_type of the respective schema attribute for this value is ‘string’.In the result excel file, however, the ‘No’ value is changed to FALSE. I can’t figure out why this happens.The Writer writes other ‘No’ values to other worksheets and all of them appear to written correctly as ‘No’. This is the FeatureWriter setup: Have I made a mistake somewhere, or is it a bug in the Excel Writer?
Dear FME Community,I’m using a dynamic writer in my workspace and have run into an issue with newly added attributes.In my workflow, I added a transformer to perform an analysis and wrote the result to a new attribute field. However, this new attribute is not appearing in the output file.I understand that the dynamic writer uses the schema from the reader, and since this new attribute doesn’t exist in the original schema, it seems to be excluded from the final result.How can I ensure that this new attribute is included in the output when using a dynamic writer?Is there a recommended way to update or override the schema dynamically?Thanks in advance for your help!
I need to run a mapinfo data converter to convert tab file to map info bin. Wondering how to configure SystemCaller to run MapInfoDataconverter.exeI’m using version 2025.1 of FME. MapInfoDataConverter is an executable specifically aiming at RouteFinder / Drivetime BIN routing files, which is different from normal TAB export when using FME to write standard MapInfo TAB/BIN files (NativeX format).
Hello!Has anyone successfully used the ArcGISBranchVersionManager transformer to automate reconcile and post operations for branch versioned layers? I created the web connection to our enterprise portal and tested it as specified in this article and even connected to my version, so I know the web connection works but when I configure the ArcGISBranchVersionManager transformer to use the same feature layer with my version I get a rejected feature with this message: “`fme_rejection_message' has value `stopEditing failed for session {xxxxxxxxxxx}: The ArcGIS REST API returned an error: HTTP Error Code: : 'The workspace is not being edited.' Message Code . Further details: '[]''”. It seems like maybe I’m not configuring the workspace correctly but I don’t see any option to start an edit session. Below is the screenshot of my workspace. I am at FME(R) 2024.2.2.0 (20250114 - Build 24820 - WIN64) .Thanks!
When running an old script in FME 2024.1.1.0 we get 58 errors “The object at location ___ was previously deleted and cannot be retrieved from the Object Stash” (see attached log file). It doesn’t appear to affect the output, the log file says “Translation was SUCCESSFUL” and CPU and Memory usage don’t get close to 100%. Can we ignore these errors?This is part of a much larger script but only this part is producing the errors. We updated the transformers and saved the script to FME 2024 but still get the errors at the transformer FeatureJoiner_13. The only way to not get the errors is to run the script up to the 2 preceding transformers (“Run to this”) and then run FeatureJoiner_13. The output appears to be the same as when we were getting the errors. We tried adding in FeatureHolders before FeatureJoiner_13 but still got the errors. ByeDoug
Hi,Newbie type question. I am currently loading in files to a output on a weekly basis. Issue has been I have to edit the file in the workbench with the new filename. The file I upload changes on a daily basis with its name. How can FME pick up the latest file that has been updated without having to change the file path on a daily basis?I have tried to use this https://knowledge.safe.com/questions/65203/read-only-the-newest-file-from-a-directory.html method but unfortunately I am not getting it to work. I also do not need to generate any further data to my existing table, just was interested in the function where it can automatically pick up the latest file at folder level by date modified. Thank You
What transformer could be used to identify if a townland border which is lines, is supported by an underlying line feature and any areas that are supported to be extracted.