A space to discuss FME Form
Recently active
Hi, I have many LAS tiles with gps_time component. Gps time values are in standard GPS Time : ex 363439432.1942503 I would like to display the minimum and maximum times in DD/MM/YYYY HH:MM:SS format. I can use the PointCloudStatisticsCalculator to get the minimum and maximum values, but I can't work out how to convert 363439432.1942503 to the required format. Any idea? Thanks u !
Hi everyone,I am working in FME and would like to orient the flow direction of a gas network.Data: main supply lines service lines connected to gas connections Destination points – representing the gas service connection locations Objective:My goal is to ensure that all Service lines are oriented towards the Gas Service connection points.If a line is digitized in the opposite direction, it should be automatically reversed.Additionally, some lines connected to Service Connection points are split into multiple segments. I need all connected segments to have a consistent direction towards the same Service Connection points .What I tried: I used the NetworkFlowOrientor transformer I applied a Anchoredsnapper beforehand to ensure that each Service connections point lies exactly on the endpoint of the corresponding Service lines Problem: The NetworkFlowOrientor returns no output Questions: What is the correct workflow to ensure that all Service line segments are consistently orien
Hi, I want to import the WFS service from Digitaal Vlaanderen, specifically the address registry, but my FME only imports a maximum of 10,000 features.I had found that it was possible via paging, but apparently that is no longer supported, or at least I can’t find it. It should then be done via loops, but I’m stuck. I found that it should be possible using an HTTP caller and JSON fragmenter, but I’m already stuck with my HTTP caller. Could someone help me set this up correctly? The URL is https://geo.api.vlaanderen.be/Adressenregister/wfs?REQUEST=GetCapabilities&SERVICE=WFS
I have attempted to use the NeighborFinder transformer to achieve a one-to-many join; however, it is not producing the expected results.In my case, the base dataset contains values such as 30,511 and 55,867, and my expectation is to match all records where the base value is greater than 30,511.Since NeighborFinder does not seem suitable for this requirement, could you please suggest an alternative transformer or approach to achieve this condition-based matching?Thank you.
Hi FME gurus. I am trying to extract values from a list to populate columns with the associated values in the fields. In my list (called _columns) I have a caption field which has the name of the column I want to create and the date value I want to populate into the field so the example I have in the screenshot I want to look like this: Application ID Last Inspection Next Inspn Due 648343 2025-06-23 2026-06-16 15456.. 2025…. 2026…. The list exploding only brings out the name of the original column ‘caption’ but I am looking to use the values in the list itself to build the attributes and populate the values. There are records with more than 2 elements in the list and I still will need to figure out how to expose the attributes (schema scanner?) once it is done but this is the first step. Any suggestions would be amazing, Thank you.Michael.
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