A space to discuss FME Form
Recently active
Moving this to FME Form Q/A.
Good day,I have a table with a couple of records.I would like to keep one record per category and this record should be the record which has the less attributes with a null (missing) value (I highlighted them in green on the screenshot.). How can I automatically calculate which record per category I should keep?
Within the new ArcGIS Feature Service reader (part of the Esri ArcGIS Connector Package) if you choose a source type of Enterprise it’s not possible to connect to a feature service that is shared across an entire organisation and not in a group.This can be done if you use a Source Type of Standalone Server (but it’s not obvious).It would be nice to have and Item Source of Organisation which would allow connection without specifying a Group
When using ArcGIS Feature Service (reader, writer, featurereader, featurewriter) I am only able to reference items using Folder and then featureservice name + itemid (in paranthesis after the name). Is it possible to directly refer to a service using only itemid?(for my case the data is hosted on my institution’s AGOL)
I’m creating a workspace that reads 7-8 tables from a file geodatabase and then writes them into tables in a SQL database. One of the tables is sometimes present and sometimes missing (that is expected). I need to create a workflow where when the table is present we write the data into the SQL table and when it is not present we just truncate that same table in the SQL database. I currently have a gdb reader connected to a tester that passes when fme_feature_type Like MSAG_To_RCL_Synchronization. This works when the table is there but when it’s missing the reader just closes and gives the message “The table name 'MSAG_To_RCL_Synchronization' could not be found in the Geodatabase as either a feature class or a table” and closes before any input gets to the tester. Any ideas on how to conditionally test if a table exist or not and then either write the data or truncate a SQL table.
It seems I have no place to force FME to include the code_verifier parameter in the request body to obtain a token (see requirements below). Any ideas of how to work around this in FME? The postman equivalent is selecting the grant type as "Authorization Code (with PKCE)". I can use the same challenge and verifier more than once, just need to include it in the body rather than a querystring. Per the platform's API docs: Parameters sent in Request Body, Form-URL Encoded. (cannot use JSON or querystring)code=<code received in callback url>client_id=<Application OAuth Client ID>client_secret=<Application OAuth Client Secret>grant_type=authorization_coderedirect_uri=<User redirect URL (from step 4)>code_verifier=<User Generated Code Verifier>
Hi all.I just experimented with a small workflow, that scans a folder for files, and attempts to read those files using the generic format.I tried with CSV and DGN, and both worked well.I then tried with Geopackage, and then it blew up.First because FME’s guess using the extension was wrong, so I had to parametricize the format used.Then it blew up with an internal error message (“Too many recursive macro substitutions”):2026-03-03 15:14:24| 2.6| 0.0|WARN |UniversalReader -- readSchema resulted in 0 schema features being returned2026-03-03 15:14:24| 2.6| 0.0|ERROR |Too many recursive macro substitutions -- line currently is: `SOURCE_READER GENERIC REAL_FORMAT "$(REAL_FORMAT)" EXPOSED_ATTRS "$($(FORMAT_SHORT_NAME)_EXPOSE_FORMAT_ATTRS)"'2026-03-03 15:14:24| 2.6| 0.0|ERROR |class stk::ex::UString<0> __cdecl tabrdr::ClassicTableReader::macroSubstitute(const class stk::ex::UString<0> &,int)(C:\code\fme\foundation\framework\engine\tabrdr\tabrd
As the title suggests, I’m having an issue when running FME (2022.2) from the command line. I’m clipping several LAZ files with a polygon grid, and FME automatically puts the output files in one folder per LAZ file. I’m technically fine with this behavior as I was going to fan it out anyway, but the extension is included in the folder name (e.g. FILENAME_1.laz), which the following processing step in my pipeline cannot handle. The problem only occurs when run in the command line. Is there any setting anywhere so that I can get rid of the file extension in the folder names?
I have the exact same issue as is described here: That topic is closed, so I'm starting a new one over here. I got the error “Check the geometry of such feature is valid and is not too small for the resolution”, while updating a feature. I use FME Form and Flow 2025.1.2 and ArcGIS Pro 3.3.1 with ArcGIS Enterprise 11.3.At first I also thought the issue only occurred in FME Flow, not in FME Form. But now I'm checking the issue again and it is also in Form.In my case I use the ChangeDetector to check if the feature exists and if so if it is changed. If it existed and is changed, I'm also using the Update Mode in a FeatureWriter. I tested with not updating the spatial column, but that didn't make any difference. I still got the error. And I am positive the geometry didn't even change: setting the ChangeDetector to only check geometry sends the feature to the Unchanged port.I don't really understand the solution in the other topic, but it seems I have to delete some data. But that sort of d
Hi everybody, I have a similar issue to the one the creator of this thread has: The difference is that I'm dealing with donuts. The workaround from Takashi (buffer issue location → dissolve → aggregate) doesn’t work with donuts. The reason why this doesn't work is explained here: The GeometryValidator reports self-intersections in the wrong place for donuts. If I buffer the issue location, part of the donut that doesn’t need to be buffered gets buffered, and the actual issue location remains a problem. I also tried the GeometryValidator repair function, but this didn’t work either. Attached is an example workflow which uses some public data that I use in the real workflow. You can download this data here (to big to attach): https://daten.gdz.bkg.bund.de/produkte/vg/vg250_ebenen_0101/aktuell/vg250_01-01.utm32s.shape.ebenen.zipThe workflow shows one example of the problem and my current workaround. Unfortunately, I can’t share the real workflow. In the real workflow, however, many geome
I have a donut geometry (see WKT below) which I am trying to validate. Using the GeometryValidator only looking for self intersections I get an error on the start/end point of the outer ring: Error report:Coordinates from the inspector: I would expect this to not be reported as a self intersection since polygons normally require intersection at exactly that point. Why is FME reporting this? I have tried using both FME Desktop 2021.2 and 2022 beta. Geometry WKT: POLYGON Z ((558000 6142955.0838 0,558000 6142917.0404 0,557997.11 6142919.37 0,557989.1699999999 6142921.13 0,557985.12 6142922 0,557980.8300000001 6142923.23 0,557976.28 6142926.07 0,557969.0900000001 6142930.65 0,557964.65 6142933.45 0,557957.52 6142934.96 0,557954.37 6142937.05 0,557952.6699999999 6142938.1 0,557951.45 6142938.28 0,557950.3 6142937.8 0,557949 6142936.3 0,557948.13 6142930.34 0,557949.23 6142924.47 0,557953.26 6142917.84 0,557961.4 6142913.23 0,557968.81 6142907.49 0,557974.75 6142903.11 0,557980.95 6142900.5
Hello everyone,I am seeking confirmation on whether GeometryValidator supports 3D geometry validation (such as solids, meshes, point clouds, etc.) in version 2025.0I noticed that GeometryValidator includes an issue type called “Self-Intersection in 2D”, which suggests that this one specifically built for 2D geometry. However, I would like to understand whether the other issue types - such as Missing Vertex Normals, Missing Texture Coordinates, Invalid Solid Boundaries, Invalid Solid Voids, Contains Non-Planar Surfaces, Invalid Area Orientation, Surface Orientation, and others - are applicable to and capable of validating 3D data.Could you please clarify which of these validations support 3D geometries?Thanks in advanced!
In Form v2026.1, what exactly does the new option “Read Best Fit View if Selected view is Missing” do? The “Help” says:“This parameter controls reader behavior if a selected view is missing.By default, if a view specified in the Specify View to Read parameter is missing, the reader selects the next available view.”Does it select the very first view that pops up when clicking the 3 ellipses (...) or is it referring to something else?Was that option a hidden feature in previous versions that got exposed as a parameter in 2026.1?
Hello I have FME 2022.2 version and i also could upgrade it to 2025 if it helps but i would like to extract data Input data : *.pts or *.e57 file format (about 2 to 5 room point cloud data in One *.pts file/*.e57file)Desired output data : *.pts file format (ONLY 1 room to be extracted in *.pts file format)Other supporting data : Sitewide room model in *.ifc format (federated model having about 20+ rooms in 1 IFC format) TASK : Using IFC room model for any give Room for example (Room1), i would like to clip the input data set i.e. in *.pts/*.e57 file format and out only that particular room (Room1) *.pts format data. Am not sure how to set / which reader and writer / transformer to use to get it right . I understand i will have to use Clipper to clip *.pts file using IFC file somewhere. Highly appreciate and obliged with workflow for your support and know-how.
Hi all, I regularly setup workspaces with quite a few feature readers & writers that need a lot of parameters changed when moving between environments. I make use of scripted parameters to make this easy based on an initial Environment selection.The one parameter I can’t get to update correctly with a scripted parameter is the web connection, does anyone know if this is possible?
Has anyone else experienced this? I'm using FME 2022.2. If I pick an attribute from the arrow drop down menu, it inserts it in the DateTime Attributes field as @Value(CREATETIMESTAMP). When the transformer runs, it doesn't convert the value. But if I select the attribute from the 3 dots menu, it's fineIn the 3 dots menu chooser, there are sort of two sets of the attributes....
Hello everyone,I am having difficulty correctly assigning a spatial reference to GOES satellite imagery (Band 13) stored in NetCDF (.nc) format when working with FME Flow 4.0 / FME Workbench.Environment•Product: FME Flow 4.0•Workbench: Yes•Data type: GOES satellite imagery (ABI sensor)•Band: Band 13 (Infrared – Brightness Temperature) Full Disk•Format: NetCDF (.nc)•Satellite: GOES (GOES‑16/18/19 – ABI)Problem descriptionThe NetCDF file opens correctly in FME, and the raster data for Band 13 is read without errors. However, no coordinate system is automatically assigned, and I am unable to manually define the correct projection in a way that allows proper georeferencing.I understand that GOES ABI imagery does not use a traditional map projection (such as EPSG:4326, Mercator, or UTM). Instead, the data is provided in the so‑called ABI Fixed Grid / Geostationary projection, where pixel positions are defined by scan angles (x, y) and navigation parameters.The NetCDF file contains metadata
Hi all,I am experiencing an issue with dataset fanout in my workbench after upgrading to 2025.2.0.0 with Build 25810 (WIN64). The workbench worked perfectly in 2024.2.The workbench reads in a FGDB file 30,000,000 features using a reader, then performs spatial filtering with coordinate grid tiles and fanout into geopackage files according to the tile names using a writer. The workbench always stopped while outputting the first geopackage file with the following error message. Insufficient memory available -- error code was 2 - please read the FME Help section 'Adjusting Memory Resources' for workarounds.The workbench worked fine when I set the max features to read in the reader as 100,000, but the writer failed once the reader read all 30,000,000 features. I tried lowering the number of features per transaction in the writer but it did not work. Is anyone else experiencing a similar memory issue with dataset fanout in 2025.2?Thank you for your help in advance.
Hello everyone,I have a workspace app that converts a .dgn file to a .gpkg An user tied to run the tool with a dgn file, but he received a failure message. I looked at the job and I saw the following errors 464 OGCGEOPACKAGE writer: Invalid curve: not enough points 754 OGCGEOPACKAGE writer: Invalid curve: not enough points 872 OGCGEOPACKAGE writer: Invalid curve: not enough points 957 OGCGEOPACKAGE writer: Invalid curve: not enough points 1051 OGCGEOPACKAGE writer: Invalid curve: not enough points Did anyone have similar errors and what can I do to solve these errors?
I believe there’s an issue with the tolerance values greater than 0.5 not being respected when using the NumericRasterizer transformer.With tolerances like 0 and 0.5, I can see a difference in output. However, a tolerance value of 1.0 has no change in the output. Output from NumericRasterizer with tolerance set to 0.0, with the input vector overlayed Output from NumericRasterizer with tolerance set to 0.5, with the input vector overlayed Output from NumericRasterizer with tolerance set to 1.0, with the input vector overlayed Going by the documentation, it explicitly states that a tolerance of 1.0 will draw all pixels touched by the input vector line, which can been seen above as not being seen in the output. Work flow and NumericRasterizer parameters Documentation of the tolerance parameter from the corresponding version of FME Flow I have test values such as 0.7 0.8, 0.9, and 0.999 with no luck. Does anyone know if this is intentional or a bu
I know I’m using an older version but upgrading is not an option. I was using a background map that is no longer supported so trying other ones. I have a Bing API key but get this error when attempting to display the background:“(1):Python Exception <IndexError>: list index out of rangeAn error has occurred. Check the logfile above for details(2):Python Exception <IndexError>: list index out of rangeAn error has occurred. Check the logfile above for details”And I can’t find anything in the log file about it. This error message is listed as a known error for later versions of FME Desktop and Flow, but not for 2022.Can anyone offer any advice or assistance in getting a simple background map to work?
How can one rasterize a vector where all cells touched by a polygon/vector get drawn during rasterization?I have tried the NumericRasterizer, but I believe there’s an issue with tolerance values greater than 0.5 not being respected when using the NumericRasterizer transformer.With tolerances like 0 and 0.5, I can see a difference in output. However, a tolerance value of 1.0 has no change in the output (see below). Output from NumericRasterizer with tolerance set to 0.0, with the input vector overlayed Output from NumericRasterizer with tolerance set to 0.5, with the input vector overlayed Output from NumericRasterizer with tolerance set to 1.0, with the input vector overlayed Going by the documentation, it explicitly states that a tolerance of 1.0 will draw all pixels touched by the input vector line, which can been seen above as not being seen in the output. Work flow and NumericRasterizer parameters Documentation of the tolerance parameter from th
Hi! I’m new with FME Workbench. I’m used to using QGIS or ArcGIS, in where you can easily find and configure a map layer for your vector layer. In this case, I found Workbench 2025 doesn’t come with background maps pre configurated, so I came up with a simpler way of having one, without the need of a token.As you may know WMS stands for Web Map Service. It's an OGC standard for serving up map images over HTTP. Fo adding a new background map: In this particular case I’m using Terrestris free WMS map, beacuse they offer free access (depending on the scale you need) to the WMS service. https://terrestris.de/en/products/free-osm-wms/Color: https://ows.terrestris.de/osm/service?Grayscale: https://ows.terrestris.de/osm-gray/service? You can find more free options avaliable at the following link:https://wiki.openstreetmap.org/wiki/WMS#OSM_WMS_Servers
I need to use a Oauth2 token as password to connect to a PostgreSQL database. The problem is that when I try to paste a stringline over 245 characters the connection fails. When reopening the connection parameters the password is red and says ‘Value not allowed’. On another laptop (FME 2022.2) it all works fine. Any idea what causes this problem?
This seems like is should be so simple, but I can’t get it to work! I want to take a CSV file that has Feature Class Names, FieldPrefixs, and Feature types. For example:FeatureClass, Prefix, FeatureTypeRoads, Road, LineWildLandUrbanInterface, WUI, Polygon. This CSV file will be dynamic, meaning that the Feature Classes that will be summarized will change.I then have a SummaryPolygon Feature Class which defines the polygons on which to summarize. I want to iterate through the CSV file, summarize the data for each CSV record, and then add two fields with the prefixs (ie Road_Miles, Road_MilesPerAcre or WUI_Acres and WUI_PercentArea) to the SummaryPolygon. I thought the workspace runner would work well for this, but the Child workspace isn’t updating/showing the new fields that were created after each iteration. Meaning the schema isn’t dynamically updating with the two new fields on the next iteration. In my Reader, I have Workflow Options set to Single Merged Feature and Merge Feature T