A space to discuss FME Form
Recently active
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?
There are a series of similar posts but still not seeing a way to expose attributes dynamically.I have a a large number of geodatabases which have multiple layers and different attributes, which I am merging with a geometry layer so I end up with a single layers with lots of attributes.The geodatabases have a series of tables and a geometry layer, but there is no consistency in attributes between the geodatabases.How do I expose and have these exposed attributes output to a merged dataset?
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
I have opened an old workspace and all of the transformers in that workspace look like the first AttributeCreate in my screenshot. The Input port is hidden.When I copy the AttributeCreator, it looks different. The Input port becomes visible. It looks like the second AttributeCreator in my screenshot. When I add new transformers, they all have a visible Input port. When I open a completely new workspace and add transformers, they also have a visible Input port.How can I hide the Input port like on the first AttributeCreator in my screenshot?It seems like this cannot be achieved for any newly created transformers and workspaces. It only looks like this in this one old workspace of mine.There is an option under View that makes the Input ports visible on all of my Transformers. But it’s impossible to reverse that action. The option to make the Input ports visible disappears, once they are visible on all transformers. There is no option to reverse that. It can be reversed only by clicking t
Hi, I have a query that reads data from a view. When I run the workspace that executes the query locally, it executes.If I then set the workspace to FMEflow, the query no longer works. Local and FMEflow use the same Oracle client version.The error message is meaningless: SQLCreator_11_<Rejected>: Termination Message: 'SQLCreator_11 output a <Rejected> feature. To continue translation when features are rejected, change 'Workspace Parameters' > Translation > 'Rejected Feature Handling' to 'Continue Translation''The query does an select with a group by on a view. The same query runs in SQLdeveloper without errors.The only strange thing i see is when i skip the 'group by' that there are fields with the value "<Missing>" Normally i see Null.
I want to embed a DB connection in my workspace without the password being saved in the workspace.A password should not be saved in an FME workspace file. But I want the connection details to be saved in the workspace file.What I've tried:- If I leave the password blank, the workspace does not run because the connection requires a password. I could save the workspace with a blank password. But if I want to run the workspace, I need to edit the Reader/Writer or Transformer properties and enter a password. FME detects this as unsaved changes in my workspace and it could easily happen that the workspace gets saved with the password by accident. This is a stupid solution.- I could create a user paramter for the password field. When I run the workspace, I have to make sure that the "Save As Parameter Default Values" option in the parameters dialogue is disabled. To ensure that, I could add a custom message to the parameters dialogue telling the user to be careful and not to save the paramet
Hello, I’m trying to convert decimal coordinates into a DMS format with hemisphere indication. Example : 1.4861803 ; 43.5713123 Target format : 1°29’10.2491” E ; 43°34’16.7243” NIn my workflow, i used DMSCalculator transformer to split the coordinates into degrees, minutes and seconds. This part works correctly.However, I am now stuck when trying to reconstruct the final formatted string. Does anyone know the best approach to rebuild this format ?Thanks advanced,
I’m writing data from FME into an existing Excel sheet (XLSX writer) that is later edited by others in Google Sheets. Some columns are manually updated after the file is generated.When the workspace runs again, FME starts writing at Start Row = 2, which overwrites the existing rows and removes those manual edits.Is there a recommended way to append new rows to the bottom of an existing worksheet in FME while preserving existing rows and user edits? I saw a somewhat similar question in a different post, but didn’t know if there was an easier way?
I am working on a project creating building footprints from a lidar point cloud. However, the original lidar point cloud being used has some portions of buildings classified with “unassigned” values which has created incomplete building footprints. Are there any suggestions how I could identify these “unassigned” building values to fix the building footprint?
I need to connect to a PostgreSQL database via an SSH connection. How can I do that ?Thank you
Hello,I am trying to convert decimal coordinates into a DMS format with hemisphere indication.Example:Decimal format:1.4861803 ; 43.5713123Target format:1°29'10.2491" E ; 43°34'16.7243" NIn my workflow, I used the DMSCalculator transformer to split the coordinates into degrees, minutes and seconds. This part works correctly.However, I am now stuck when trying to reconstruct the final formatted string. I am not sure what is the best way to: concatenate degrees, minutes and seconds into a single formatted value add the correct hemisphere suffix (E/W for longitude and N/S for latitude) My goal is to automatically produce a final attribute formatted like:1°29'10.2491" Eand43°34'16.7243" NDoes anyone know the best approach in FME to rebuild this format after using the DMSCalculator?Thanks in advance for your help.