Using transformers to modify data.
Recently active
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’ve created an FME workflow which successfully creates a csv and zipped shapefile and emails a recipient. However, I want to use the TempPathnameCreator so that the output files are wiped after emailing. I’ve adapted the workflow but it fails to create the files. On inspecting the rejected email output it couldn’t find the files in the temp folder, but when testing with just the writer 0 features are output. I assume I need a separate TempPathnameCreator for both zip and csv file or can they be in the same folder? Here is the final part of my workflow. Is my configuration wrong? Josh
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
Hi,I want to tile LiDAR data. My project contains about 550 tiles (1 km × 1 km), so processing everything at once in a standard FME workspace is not practical, as my PC would struggle with the memory requirements.At the moment, I use a shapefile that contains a "to_run" attribute. In QGIS, I select a group of tiles and update this attribute. In FME, I use a Tester together with a Feature Reader so that only the selected tiles are processed.While this works, the workspace still consumes a lot of memory, and I have to monitor the process more closely than I would like.I think a solution using WorkspaceRunner could be more efficient, as it would allow FME to process one tile at a time instead of loading a large batch at once.I have:A shapefile containing all tiles that need to be generated. The LiDAR source data.What I am struggling with is that I don’t know how to do it exactly. I feed the workspacerunner the shapefile with tiles but then in the bench that needs to run I also load in the
This enhancement will allow full automation of attachment backup workflows using ESRI ArcGIS feature services or geodatabase attachments being backed up to ArcGIS feature services.Currently, even with the ESRI ArcGIS package, you need to manually configure the feature service feature URL on a FeatureReader so that the features’ featureID can be passed to the ArcGISAttachment connector.Implementation would be sinmilar to the Publish Action item of the ArcGISOnlineConnector which exposes the _webservice_url
When I attempted to upgrade to StringPairReplacer, Show Changes displays:StringPairReplacer Version 2 replaced by StringReplacer Version 6StringReplacer Change Log, version 6Added multi-attribute string replace support.My Replacement Pairs in StringPairReplacer v2 has multiple lines and quotes. This has worked great for years, and now I can’t upgrade. My first impression is that StringPairReplacer was changed so dramatically that it might have been better to leave it alone (and not replace it with StringReplacer). Here’s what my old StringPairReplacer looked like. And here are my Replacement Pairs (using the Open Text Editor). I use multiple lines and quotes, and it works great.Apparently, the upgrader is not expecting multiple lines or quotes. It’s a mess.I tried creating a csv file but, I couldn’t figure out the proper format.Finally, I removed the quotes (replacing spaces with underscores) and put it on a single line. Now, the upgrade works. I wouldn’t call this success. It will be
I got this error when trying to add attachments to AGO: The ArcGIS REST API returned an error: HTTP Error Code: 413 : '' Message Code . Further details: 'The page was not displayed because the request entity is too large.'Esri community has a solution to edit the header, but there’s no option to edit header on transformer?
.