Using transformers to modify data.
Recently active
Hi,Pretty new to FME, so hopefully I have all the terminology right and I’m asking the right sort of questions. I have a feature set from Freshservice API of the available products in their asset system.It’s mostly the Latitude and OptiPlex products I need to work with so the solution can work just for them.I need to match the freshservice_product_name to a feature set that I don’t control and isn’t consistent.As you can see the tesma-description is a bit of a mess but it’s all I have to try match up the freshservice_product_name to.Can someone point me in the right track of how they would tackle this?Thanks,
Hello all, Complete FME newbie hereI need to transform the data compiled by a different department as an excel spreadsheet to look like this:From Initial structure To Final structureBasically the idea is to pair each of the projects with each of the areas in order to then join the final table to a different spatial table on the ‘AREA’ attribute, ideally without manual input into transformers. The project attribute will have new entries added to it, with corresponding counts, the areas will remain the same.Thank you.
I'm trying to join two Excel files that share a common column called "ID".File (A), which I consider the main file, has 7 columns. File (B) has 16 columns, but I only need one column from it, called "NON", to be added to file (A).I tried using the FeatureJoiner, but it didn’t work. I also used the AttributeKeeper to filter the data, but the result is always null.Note: The column titles in both Excel files are written in Arabic. is this could be the reason?
Hello ,I have four tables. Each table includes an attribute called result, which contains fields value string string number. (Hello Community 30 ) ,all tables share a common attribute id I would like to combine the output from all four tables into a single attribute called result String String String StringString number String number String number. String no. I would like the first string from each table to always appear above and the second string and number written on the next line and All values should be combined into the same field.Thanks on advance
I am using SystemCaller to run a pyton script (uses conda env) that creates a bunch of files and I am trying to figure out how I can get FME to then read the folder location and serve that to the user as a .zip file. The folder location is an attribute that I use to pass to SystemCaller but I cant figure out how to pass this attribute value to say a FileCopy or even a FeatureReader. The output folder is a concatonated path $(FME_WORKSPACE_DIR) + _output that I made as a new attribute value (_output_folder).In the pic below, I tried to connect the Logger to FileCopy but that doesnt seem to do anythinghere is the FileCopy settings i am using. Am I doing this correctly or any other suggestions?
Hello ,Is it possible to control the position of Upper left x and Upper left y in a PDF formatter by setting their values in an attribute beforehand, so that the PDF formatter reads and uses them directly?I don’t want to keep adjusting the x and y positions directly inside the PDF page formatter every time I find that the output is not properly aligned. Do you have any tricks or suggestions to help me arrange my PDF layout more quickly?It takes a long time to design the PDF layout . Thanks in advance .
Hi all, I am querying an API to download a large number of tables (50+) as CSVs that will be written into a DB. I have automated the process of downloading the tables and dynamically writing them to the DB, but the default/source attributes the tables come with when downloaded are messy/poor quality.One attempt at this I’ve tried is to set up a mapping spreadsheet for each table with an example shown below. I have been able to use a SchemaMapper and dynamic CSV writer to write a single table with the updated attribute names, but I am wanting to do this dynamically using a WorkspaceRunner to automate updating the attribute names for all the tables, while also reading and writing records to the DB.Does anyone have any advice for this? The SchemaMapper is not able to take parameters/attributes to read the mapping spreadsheets so it does not seem like an option.
I would like to open and read a .accdb file which contains multiple named tables. Instead of reading all tables I just want to select the ones which names match the ID criteria.The example below works fine by using a Microsoft Access reader which compiles all tables into one single merged feature type. After that I compare the source CSV file name against one of the listed attributes and pass forward only the matched lines. That method worked well and served its purpose, but the downside is that it is way too slow since it is reading the whole accdb and this file is constantly growing because we keep on adding tables over time.I have tried to use the Feature Reader with an initiator which provides the route ID as a key to search an open table if name contains the ID but with no luck. I have tried to add a SQL WHERE statement but still no luck. Once again, my simple aim is to pull out tables from a accdb which names meet the ID criteria.
I need to transpose an attribute table and tried so far the StatisticsCalculator as well as the AttributePivoter, but do not get the result I need. In addition I was following the advice of Mark (@mark2atsafe ) in this posting at StackExchange. While the advice from mark looks 'straight' forward, I struggle with the reader-as-resource since the data are produce through analysis within the workspace where I need to transpose the attributes. After sorting my results I get the following attribute tableand what I need is a structure like So, the attribute values from the 'label' column have the provide colum names, while 'Area_perc' has to provide the corresponding values for these columns, and everything is grouped by 'Sectorname'. How can I achieve that within FME?
Currently I am testing the upgrade of FME Form 2024 (from FME form 2022) for my electrical company. When doing auto-update I found out that my stringcasechanger set on lowercase were updated to UPPERCASE. The same behaviour occurs when you update the transformer manually and choosing the default setting. It would be better if it can take over the old setting.
I have been able to extract polylines from esri fgdb, combine the lines into one record but I cannot seem to figure out how to now recalculate all the M-measures in that line. In arcmap I would manually use the Route Measure editing tools, Set As Distance to 0 and Apply Factor of 0.00018939 to recalculate the line M-measures in miles for the line. I couldn’t seem to get the measure transformers to get the result I was looking for. This was probably user error. Thanks,Ryan
Hello, I need your help. I'm looking for a workflow to transform my keys and values into a list. Here is an example:I have this table:Key Value a 1 b 2 c 3 a 4 b 5 c 6 a 7 b 8 c 9 and I wanna transform it toa b c 1 2 3 4 5 6 7 8 9 Thank you
I need to transform XYZ data from the currently used DHHN2016 height (EPSG:7837) to the older DHHN12 height (EPSG:7699). Unfortunately, the various transforming options don't seem to be able to do this. E. g. EsriReprojector, with "Use Vertical Transformation" checked, only lists <None> as option under "Vertical Transformation". To complicate things further, the switch to DHHN2016 did not happen directly from DHHN12, but first to DHHN92. So the transformation might need to be done with an extra step: DHHN2016 height (EPSG:7837) -> DHHN92 height (EPSG:5783) -> DHHN12 height (EPSG:7699). However there is no option for this way either.Perhaps a combination is necessary? In this case it would be 25832+7837 to 31468+7699 (or 25832+7837 -> 31468+5783 -> 31468+7699). I added the Reproject files to the install directory but that had no effect. I also don't have "PROJReprojector" available for some reason(?).Version:Data Interoperability Fixed OEM LicenseFME(R) 2024.1.2.1 (202
Hello, I have a table with 3 records per house. The table includes hundreds of houses. I want to create a new attribute called Type. There are two types only : A and B.For Type A: two values of attribute a1 per house equal the value of attribute a2 of another record of the same house.For Type B: two values of attribute a2 per house equal the value of attribute a1 of another record of the same house.How can I automatically assign the type to each record of any given house? Thx.
I am downloadning data by several url from different organisation webpages that I later import to tables in a Microsoft SQL server database.I want to get the information if all the attributes that I exposed for a datasorce isn’t containing any values (the value is missing).Is it a way too choose all or multiple attribute at the same time and test if they contain any values?I have data that has like 50 attributes and it is going to take a long time to manually set like a test for each of this attribute individually.
I am fairly new to FME and I am trying to pass an Excel file pathname to systemCaller so I can use it in a Python script. I need to use the SystemCaller as I am using a bat file to change virtual environment and then call Python.What I am trying to do is get FME to just pass the Excel filename via a user parameter to SystemCaller using this statement"C:\temp\Excel_processing.bat" --input "$(excel_infil)"where excel_infil = “C:\temp\Excel_processing\infile.xls”But I get a “File path is incorrect” error in the logger (not in english, so the error is a translation). I have even tried to just hardcode the input filename to the statement but get the same error. I tried this:"C:\temp\Excel_processing.bat" --input “C:\temp\Excel_processing\infile.xls” If i just use the statement "C:\temp\Excel_processing.bat" in SystemCaller, then I dont have any issues and the .bat/python script works as expected but I need FME to pass the filename along. I have a bunch of echo statements in the .bat file bu
I have a file A from which I am reading the creation date through a “Directory and File Pathnames Reader”.Now I want to add the date as data in a column of file B.It should look like this:ID path_created_date 1 2025-04-04 2 2025-04-04 I tried using AttributeManager, but what I get is this:ID path_created_date <missing> 2025-04-04 1 <missing> 2 <missing> I am very thankful for any other ideas or solutions.
I’ve been trying to process IFC data and convert it into a GDB format, however when running it will just stop processing at 19%. The workspace as worked with other IFC datasets but with a few of them it will stop at random arbitrary percentages too.Has anyone run into this issue before and is there a solution?
Hello everyone I've been designing a new custom transformer to sum up part of my workflow (in FME Form 2025.0). The issue is that I can't add any of my attributes to the text editor even though all attributes are selected to be exposed in the input parametres.Moreso, If I edit it individually, no attributes appear (as obvious), but if I edit them inside a workbench session and I choose specific attributes to expose, they are still not availaible in the text editor, but they get instead automatically added as user parametres for the custom transformer. Can anyone explain me how this works? I don't get a clear answer from looking at https://docs.safe.com/fme/2025.0/html/FME-Form-Documentation/FME-Form/Workbench/Using_Custom_Transformers.htm#Editing_Input_Output_PortsIt also irritates me that it’s theoretically a copy of another transformer with a couple of changes (only adding transformers or changing their parametres, none with the inputs) and that transformer allows to add feature att
FME Form 2024.2.4 on Windows Server 2016 I’ve been using the SlackConnector transformer for quite some time to send messages when jobs have finished in both FME Form and Flow. It’s been working without fail for the past two years.Just recently we had to reinstall a few things on our VM which caused our user accounts to be wiped. This meant all our existing connections had to be recreated.Unfortunately I’m no longer able to create the webconnection in FME for Slack as it keeps failing on the authentication step telling me “your browser is not supported”. Slack stopped supporting older browser on 15 March 2025I initially thought the default browser was causing issues so I set it again to Chrome, but I think FME Form must be running an in-built version of IE or something. I’ve also tried recreating to connection of various other machines running windows, but same issue. I can’t seem to find any way of forcing FME to use another browser. I saw on the FME known issues page a workaround by
Hi everyone, can you please help me out with this one? I have a vector layer with canopy heights. For example:name, index0-1m, 01-2m, 12-3m, 23-4m, 34-5m, 4As the features had been captured by LiDAR, they overlap each other. I am trying to clip the features to show max canopy heights, if that makes sense. 0-1m will be clipped by canopy heights >1m, 1-2m will be clipped by canopy heights >2m, 2-3m will be clipped by canopy heights >3m, etc.I don't understand how to set up a loop in a way that can filter and dissolve higher canopy heights. All feedback and suggestions are appreciated.
I am using the CoordinateSystemExtractor to extract CRS from shape files. The output attribute _coordsys is an abbreviated name and hard to make use of it downstream. For example. the shape file prj file has the name “NAD_1927_BLM_Zone_15N”, which is an ESRI standard name. But the _coordsys value is _NAD27.BLM-15N.ft_0. I would hope the output is NAD_1927_BLM_Zone_15N so that I can use it directly in EsriReprojector. Any idea to achieve this? I have an excel file with over 150 global CRSs that need to reprojected to WGS 84. Both the sources and transformations in this excel file use standard ESRI names. Want to use this excel file to reproject all source datasets (shape files) into WGS 84 using just one EsriReprojector for which both the source and destination CRS parameters are set directly from the excel file. If you know a solution, please send reply to my work email - allen.guan@woodside.com. Appreciate the help.
I have a workspace that is moving 18million records between databases. Part of the translation involves updating geometry and reprojecting. I am running the workspace WITHOUT the option to cache features; however the GeometryReplacer transformer seems to be writing quite a bit of data to memory (expected) and that is not purged (reading 100k features at a time). Because it’s not cleaning up itself, the workspace is just erroring out because it’s running out of disk space. I can stop the translation and update the start feature number to continue, but this is cumbersome. Any ideas how to fix this so I can run this unattended?
Hi,The TesseractCaller appears to be partially broken at the moment. It sometimes doesn’t return all words from the OCR process and the results aren’t transformed correctly to fit on the page. I suspect that this is the results from Tesseract having been updated since the release of the transformer. See the images below as documentation. Where the existing TesseractCaller produces 38 word results from my input image and the fix produces 81. (This difference is the result of a listexploder rejecting features not containing a list, so nothing has been changed about how FME interacts with Tesseract) The results are also correctly flipped and scaled in FME to match the input image. I have supplied the fixed transformer as a zip to this post. Differences:Before, text is missing, scaled incorrectly and flipped from the imageAfter, all text is included and correctly aligned with the image
Hello Sir/ Madam, So I have a .txt file with Points Name, X, Y, Z. So I would like to create points and import in 3ds Max. My .txt table is as follow Point X Y ZA 822041.761 833958.234 13.519B 821997.708 833954.943 16.341 I create points by using vertex creator transformer. Then I convert to .dxf and import to 3ds Max. It works fine. However, all the points are named "Point" in 3ds Max. Is there anyway that I can use the Point name "A", "B", etc instead of point? Other formats is fine, as long as I can get the coordinates and point name. Hope somebody can give me a hand. Thank you.