Using transformers to modify data.
Recently active
Hi All,I'm experiencing a bug in the Excel writer in the new FME 2024.0. I've made a script that outputs multiple data categories I need to process in a particular order to ensure my calculations are fed as desired. The bug causes the attribute names to not be written in the first row in Excel; it just starts with the data in the second row. Whenever I open the exact same script in FME 2023.2, the writer does write the field row names, without me changing anything in the writer settings.For now, my solution is to not use FME 2024, but since my customer does use 2024, it's not desirable. Does anyone have any ideas?Here is a preview of Excel. I can't scroll up to the first row, the data is not hidden, and the navigator also won't allow me to go to row 1.
Currently I have 23 CoG’s in an Azure Blob container and I want to retrieve only the area of those CoG’s covered by a rectangle that I use as the initiator for a FeatureReader.Unfortunately, the FeatureReader is reading first all the CoG’s in before making the decision where the bounding box is within, and then it returns the entire CoG, where I was rather expecting it would return the part the bounding box is covering.The CoG’s originate from the Copernicus DEM coverage GLO-30, contain overviews, etc…It takes almost 3 minutes for the FeatureReader to process the request. The bounding box is within a single CoG.When looking at the parameters for the COG reader, then I can see there is actually the possibility to set a search envelope. I could feed the bounding box to the envelope, which sadly is missing in the FeatureReader. Is there a way to speed things up? I only want to have the parts of the COG’s covered by the bounding box used as initiator, basically performing a range request.
I have a single dataset containing a set of polygons. Some of these polygons are touching each other. I would like to dissolve polygons which are touching (of orverlapping) into one large polygon. However, I would also like the new large polygon to take over the attributes from a specific feature. The feature from which the attributes are to be taken has a specific name in one of the attributes. Let's call this attribute “NAME". Hence, I sorted the features based on “NAME” before feeding to the Dissolver. However, it seems the Dissolver does not choose my first sorted feature to take the attributes from, but it seems to choose the feature (polygon) with the largest surface area. There does not seem to be a setting in the Dissolver which allows me to choose how the attributes are handled and how it chooses from which feature to take the attritubes. How do I dissolve my polygons, taking the attributes from the polygon where “NAME” has the value lowest in the alphabet? I don't know on bef
Hi everyone,I'm seeing some unexpected behaviour when writing repaired geometries to a GeoPackage.My workflow is:GeometryValidator (Attempt Repair = Yes) → GeoPackage Writer → GeoPackage Reader → GeometryValidatorBefore writing:Input: 32,572 Passed: 10,720 Repaired: 21,852 Failed: 0After reading the GeoPackage back:Input: 32,572 Passed: 31,789 Failed: 783 (Invalid Parts)I also noticed another behaviour:When Spatial Standard Compliance is included in the first GeometryValidator, the written GeoPackage appears to preserve more polygon coverage. When I disable Spatial Standard Compliance, all features still pass after repair, but after writing and reading the GeoPackage back, more features fail validation.Has anyone experienced this before?Is this expected behaviour of GeometryValidator/GeoPackage, or should the repaired geometries remain valid after being written and read back?Before writingAfter writing
My org recently upgraded Flow and Form from 2025.1 to 2026.1 We have heaps of translations that involve both Enterprise Portal and ArcGIS online. The web connections and services had all been upgraded to use the newer version of the ArcGIS Connector package (the safe.esri-agol versions). I’ve re-used all the safe.esri-agol web services built in Form 2025 in 2026. Everything authenticates and grabs a token as it should in testing the connections.Actually using the ArcGIS OnlineConnector is a different story. It works great in 2025 still, and reads everything available to the account: In 2026 however: 2026 version is trying to use a proxy to connect and eventually just times out without reading anything.Is anyone else seeing this behavior, and if so how to correct it? The Proxy settings in both versions of Form are both the same (use system settings).Thanks!Chad
Hello everyone,The funny thing is, I am trying to read .docx files which apparently I have never done until now in FME Form I am trying to convert several .docx files to html pages.I tried reading the help page of the Word reader, but unfortunately I don't get much wiser. It says to use the Word reader in conjunction with the transformer MSWordStyler. I looked into the MSWordStyler, but I also don't get much wiser. When I just connect a word reader with a html writer, I don't get any output (which I kind of expected). However, I really have no clue how to get from .docx → htmlIf I import all docx files in FME form, I kind of get a mess of all word pages meshed together in the Data Inspector
I have a bathymetric shapefile that I’ve adapted for eventual 3D printing. Part of my challenge is the sparsity of contour lines, which creates substantial space between contours. I previously tried GRASS/QGIS/SAGA/etc with limited success. Now I’m trying FME. FME processing is much easier, but the issue I’m trying to solve now is roughness at contour edges. This is the workflow I’m using:It produces a reasonable DEM output that I’m processing through QGIS with DEMto3D:Banding from contours:A closer look at the .stl shows hard contour line edges instead of smoother transitions:I’ve read some about using PointCloudCombiner and NumericRasterizer, but don’t know if that will address this situation. I also tried a workflow with NumericRasterizer, but the results were similar. In the past I’ve tried gaussian filters, or other smoothing techniques, but that really disrupts the shorelines. Feedback is appreciated.
I have a fairly complex shapefile/contour source that I’m converting to a DEM raster. It involves a lake bathy that has large islands. This process is complicated by the lack of good smoothing for widely separated contours and also islands within the lake.With the lake bathy I’ve created very smoothed rasters, but for the land I need to have a sharp edge to represent the shoreline. I have 2 separate raster generators for this. I clip the rasters to isolate lakebed, land around the lake and land on islands.The last complexity is inputing 2 rasters into a RasterMosaicker (both have alpha channels) and have the island rasters bands 0,1,2 set to RGBs of 255:255:255 while retaining the alpha channels for overlaying.I tried setting the RBG bands for the islands to 255:255:255 prior to the RasterMosaicker, (since islands are lost after the RM), but after removing the alpha channel with a RasterInterpretationCoercer the island RGBs are reset to either 0:0:0 or arbitrary values (such as 113:113
I've found not documentation around any name formatting limitations for Attributes for the Hyper file Writer. When I work in Tableau Prep, I have no issues writing a file with a field name like "Budget$" to a hyper file. I've found in FME that when writing to an Excel file, it also takes such a name, but when using the Hyper writer, it drops the "$" and replaces it with underscore "_". Why is it doing this? Is this a mistake in creating the code for the Writer or is it a Necessity and if it is a necessity, shouldn't this be documented?
Hello All,There may be a bug (or least a less user-friendly transformer) in Form 2026.1.2Choosing specifically the Esri ArcGIS Feature Service as the Format, the Dataset parameter is by default disabled: I’m unable to determine what the “related parameter” is that is *disabled.I can setup my feature types by importing the schema of my intended target data, but saving all the changes in the transformer puts it in an error state.If you visit the navigator window you can see where the “Dataset” parameter is in error.The only way I’ve found so far to get around this issue is to go into the Manage User Parameters setting and create a new user parameter for Dataset which needs to be the feature id of the online feature, inclusive of the parentheses around the id number. This is definitely adding more configuration steps to the Feature Writer than before as the Dataset used to be configurable directly inside the transformer and you didn’t have to remember to copy the feature id from Esri.Any
Hello, I have a question regarding the DGN Reader/Writer about reading and writing external reference files.I am using the DGN Reader that contains a reference to another DGN file. In that referenced file there is a rectangle (an igds_shape element). In the DGN Reader parameters I enable the options "Read Elements From Reference Files" and "Keep Elements That Represent Reference Files".My goal is to move that rectangle to a different location and save it into a DGN file in such a way that:the rectangle appears at the new (correct) position - this part is not a problem; I already have a workbench for moving the geometry but it still keeps the link to the original referenced DGN file, and the referenced DGN file itself remains unchanged.In other words, I want to move the geometry in the main DGN while keeping the external reference link attached to it, so that any future changes in the referenced file (e.g., adding an image inside that rectangle) automatically appear in the main DGN at t
https://support.safe.com/hc/en-us/articles/25407427123597-Reading-and-Writing-SharePoint-Lists-with-FMEGuidance states: “1. Add the SharePoint List ReaderAdd the SharePoint List Reader to your Canvas, in the Dataset parameter enter the domain of your SharePoint site (for example, https://safesoftware.sharepoint.com). Click Parameters. Select your desired Authentication Method. In this tutorial we are using the Microsoft SharePoint Online (Template) Web Service configured to Safe Software’s SharePoint. You can choose either Basic, Web Connection, NTLM, and Kerberos. “However, I get error message when selecting The Microsoft SharePoint Online (Template) option; doesn’t this need to be configured in a certain way..?
Hi everyone,I just started using FME and am already getting stuck. In my workspace, I import an excel sheet that contains a list of column names in one of it's cells. The list is in the following format: [“Column1”,“Column2,”Column3”].I also import a larger dataframe from a .csv file that contains a lot of columns, more than there are in the list of column names.Now I’d like to have a transformer completely remove all the columns in the larger dataframe that aren’t also in the list of names. I’ve already worked with AttributeKeepers and AttributeMappers, yet these can’t seem to receive a dynamic input.If anyone has an idea on how to solve this problem (Preferably using solely transformers and without PythonCallers) I'd love to know!
Hey there,I tried to pass on the wfs url as well as the feature types to read both as an attribute value in order to get fetched via a FeatureReader-transformer. Although the output contains the geometry, it contains a lot of unexposed features. So far so good.My question is if there is a simple way to generically expose these attributes and assign it to the geometry again? I do not want to manually expose them in the aftermath.Many thanks!
Hi everyone,While reviewing one of our workspaces, I noticed that one of my developers used the SystemCaller to launch a Python script as an external process instead of using the PythonCaller transformer. The workspace runs fine today, but I'm worried about unforeseen consequences down the road, and I'd like to hear from people who have run both approaches in production.I'm wondering about maintainability (the scripts live outside of FME), Error handling and logging and versioning.If you've dealt with this situation, I'd really appreciate hearing how it played out.
I have 400 rasters i would like to convert to a single combined pointcloud for more efficient processing. Each raster has a specific piece of information about the hydrology of the subsoil (horizontal resistance, top of geologic layer, bottom of geologic layer, top of aquifer, bottom of aquifer, etc). To preserve the meaning of the individual values i would like to keep the name and type of the source raster as component values. This is where my problem/challenge lies. I can rename the original rater bands to a meaningful name, but because each raster only has a single band, the band value is by default used as the z-value. If I set the attributes to keep as component to an attribute containing the layer name, these are not kept on the pointcloud. I think this is because they contain string values and components in a pointcloud usually only contain numeric values , but then why can i configure it as being a string datatype? The rasters are 2800 x 3250 Pixels with each pixel 100 x 100 m
Using FME Form 2025.1.3.2 (20251029 - Build 25646 - WIN64), when using MDB_ADO database connections, either in a Reader, Writer, or a FeatureReader, FME crashes at the end of it’s process. The log screen saysTranslation was SUCCESSFULFME Session Duration: 2.7 seconds. (CPU: 1.3s user, 0.4s system)END - ProcessID: 9984, peak process memory usage: 89716 kB, current process memory usage: 88552 kBso the translation is actually finished it seems, but the underlying fme.exe process crashes and never returns. So the UI never changes the red square Stop Translation button into the green triangle Run Traslation, and the Data Explorer is not started. In the Task Manager a Crashpad.exe can be seen, along with an FME Objects Worker.This only happens if there is an MDB_ADO connection in use. Other workspaces using all sorts of Readers/Writers run fine without any issues. It seems to have started about a week ago, before that this worked fine.Does anybody have any idea if there have been any Windows
I’m using FME Form 2026.1. I have 5 MB Excel file with 4 sheets. Every year I need to update my solution with an updated Excel file. In the past, the Excel reader has been able to read this Excel file without an issue. This time, the Excel reader can’t read the file.Initially, I received this error in my log: Excel Reader: Reading sheet .../_xlnm.Print_TitlesI figured out that I can avoid that by using the Parameters editor, but only 2 of the 4 sheets were available and one of the sheet names was repeated about 100 times. I need to read 3 of the 4 sheets.I discovered that I can export sheets as csv then create a csv reader. This appears to work, but it takes a few extra steps. I don’t think that I can share the Excel file publicly, but I could share it with someone from Safe Software if they want a case of an Excel file not being able to be read in. I could share my findings with the organization that distributes the Excel file.Thanks
I have a spreadsheet that has 50 rows of data including Lat/Longs. Each row is considered a pipeline segment. I would like to create a segmented line. I found a post that recommended NeighborFinder, ListExploder and VertexCreator to accomplish this. My line comes out with gaps. I have tried all options I can think of for the LineBuilder, but I only get one line or it still outputs points.Output: What am I missing?
Hi there,Below illustrates a conceptual level of diagram (of a customer transformer), which ideally should be able to intake new (or old) addresses, check if the addresses are already in the “Geocoded Addresses” table; if not, go to a Geocoder, get the address geocoded and then write it back to the same “Geocoded Addresses” table. The challenging part is that the newly geocoded addresses that just got entered into the “Geocoded Addresses” table or list should be reflected on the “Geocoded Addresses” reader on the left hand side so that when next address is being checked, the “Geocoded Addresses” table should have gotten refreshed with the new values (the addresses that just got entered). Is there any better way to do this? Thanks in advance.
To put it simply, I have created a model which takes a single candidate polygon and compares with a number of potentially overlapping clipper polygons from a database. This has run on FME Flow for a few months now without issue, however a recent combination of polygons has caused an output I cannot get my head around.I have isolated the issue to a very small model, consisting of one shapefile with three Clipping polygons and another shapefile of a single candidate polygon (see data attached).Model:Candidate Polygon:Clipper polygons (note the smaller polygons overlapping the larger one, totalling three):When fed into a Clipper transformer, I would expect three results. One for each clipper where it overlaps with the candidate. Instead I get the following:Result 1:Result 2:Result 3 (a donut is formed with the middle polygon by the smallest clipper polygon):The first and second of the above outputs are expected, but the third forms a donut with the smallest polygon. I’ve tried many differ
I am creating a table for my PDF report which is sorted on months of the year, I have a sorter just before my DocumentPDFStyler table that feeds it. It sorts the months chronologically, however in the pdf output the order is not respected. I am sorting on the month number ascending, everything in my workspace and the outputs look correct, and then the output is sorted months 1-12 but June appears at the end after December.
Hi, I have a regular grid of 50 x 50 cells (polygon features). These cells cover an overall area which can vary each time the workbench is run resulting in a different number of cells generated. Within each cell I want to place points at specific locations (the same relative locations in each 50 x 50 cell but not themselves arranged in a regular grid). Currently I utilise the bounding box of the overall area to define the point locations for the grid cell in the bottom left corner (point locations based on x_min+number, y_min+number). What is the best way to insert points in the other cells? I can use an offsetter to move the points in each direction but there might be a significant number of other cells and the number of cells isn't known. Thanks
Hi,I have a file geodatabase (.gdb) containing feature classes, along with an Excel file that includes ArcGIS Pro SQL definition queries intended for specific feature classes.Example: gdb with feature classes ArcPro definition querySchema = '1' And Rodzaj NOT LIKE '%B%' I’d like to understand how I can automatically convert these ArcGIS Pro SQL queries into FME SQL syntax. The queries will vary each time and are tailored to individual feature classes. This SQL works in FeatureReader but it requires a lot of manual work
Hi, I get an error “unable to open primary document entity” if I have a XML-file with a space-character “ “ in the filename of the XMLfile I want to validate in XMLValidator. (2024.2) My questions: is there a work around to set up “Manage User Parameters”, so I can’t upload XML-files with a space in the filename? Best regards,Inka