A space to discuss FME Form
Recently active
I need to get from an Excel configuration file a parameter for the Buffer distance of a Bufferer transformer.What’s the best way to do this in order for the parameter to be accessible by the Bufferer transformer ?I have tried the VariableSetter and VariableRetriever transformers but what I don’t like about it is that I give the value to every feature that passes through VariableRetriever.Plus the VariableSetter/Retriever method doesn’t work well with cache.
I want to publish feature services to arcgis enterprise portal not using ArcGIS Pro [Share ribbon] tools. Is FME an appropriate tool for this or is it better to use arcpy and the arcgis python API?The source feature classes are in SQL Server in Enterprise Geodatabase. The GDB is registered with Portal as a datastore. We do not want to copy the data to Portal (the resulting feature services should not be hosted).
I was extracting tables from a PDF file by following the steps in https://support.safe.com/hc/en-us/articles/25407564475277-Extracting-Text-and-Tabular-Data-from-PDF#h_01HW3Z9Z37Q33NQQ7R0XBGEVB0. However, I encountered a challenge some words are misspelled or broken when extracted, even though they appear correctly in the PDF viewer. I suspect this is because the PDF was exported from a graphic design app such as Adobe Illustrator. I realized this when I copied text from the PDF and pasted it into a Word document the same issue occurred (correct me if I’m wrong) is there a transformer can help fix or reconstruct the text?
We need a way to detect/test for Arcs in our Esri SDE database. We manage a large road line segment. The system that uses this data does not accept Arcs, just polylines. Previously, we edited our data in ArcMap, then run a nightly job to check our data in FME. Using the PathSplitter, followed by the GeometryFilter we could then find any Arcs that had been introduced into our data. Now that we are editing our data within ArcGIS Pro, it seems that Arcs show up as an Arc within Pro, but in FME, the segments show up as Lines and are not flagged with the workflow, mentioned above, using PathSplitter and GeometryFilter. How can we filter/test to find the Arcs in our data?UsingFME 2024.1ArcPro 3.2.3ESRI SQL SDE 10.9.1Example Arc attached in FGDB. Then the Feature is opened in ArcPro, and an edit session is started to ‘Edit Vertices’, we can see that there is a verity that controls the curve of the line.
Hello, I want to replace the list of attributes of the ChangeDetector with a user parameter. The attributes of the original and revised features are not exposed. The user parameter is in Python: it's a string derived from another parameter (example: 'field1 field2 field3'). I don't get any error but I guess values are not considered.I have the same problem with other transformers based on the same attribute list type (AttributeExposer).It is an issue or a problem with the string? Thank you
Hello, I am having difficulties creating a spreadsheet with 2 sheets. In the screenshots included I have 2 Excel Writers. I have chosen Fanout Dataset since I want the file name to include a timestamp. The workspace runs successfully. But only a single sheet in the spreadsheet is written. Daily Totals is included as a sheet in the spreadsheet, and Running Total is not. What do I need to do in order to include both sheets: Daily Totals and Running Total (seen as two Writers in the screenshots below). When I do not choose Fanout Dataset, the two sheets are written to the spreadsheet, but the file name has no timestamp. When I use Fanout Dataset one sheet is written to the spreadsheet and the file name has the timestamp. My workspace includes the DateTimeStamper Transformer that creates the _timestamp attribute..
I need to transfer a PG table that has a geometry (line) field in below format, to another PG table on another database using FME. I know it’s already in the workable final format. If I just run queries as below and save results directly to the target database using DBeaver, it works fine. geomfromewkt(comm_path_line_geo)::geometry as sp_geometry But somehow it’s not working on FME to transfer from one to the other. I tried SQLExecutor alone and also with GeometryReplacer.I tried queries inside SQLExecutor this way:select geomfromewkt(comm_path_line_geo)::geometry as geometry from my_table and this way:select comm_path_line_geo::text from my_table and then to process with GeometryReplacer and also this way:select comm_path_line_geo as sp_geometry with this, the FME transformer would convert automatically convert it to binary geometry format but it’s not usable at the end tool. They all didn’t work. Can someone please help? I know this shouldn’t be that difficult be
Hi,I am facing the problem mentioned in the title, especially when I want to detect Self-Intersections in 2D. FME detects a lot more Self-Intersections while PostGIS is fine with the geometry.What are the reasons?As we want to build up a standard quality gate for our data, I need to be certain that both ways - either using PostGIS or FME - act in the same way. What is the configuration then for FME to match the behaviour of PostGIS’s ST_IsValid function?Thanks in advance! :-)
I have 7 features, which each represents a route with unique trip_id. Each of these features have a list, containing buss_stop_id along the route and element index, as well as next sequence value. I want to add, either in the list or in the features after list exploder, the value for the buss_stop_id for the next one. I played around with list builder and exploader for a long time and cant figure it out. Tried some ugly solution @Value(_list{@Value(_list{0}.next_sequence)}.buss_stop_id) but did not worka s intended So in my example I want the end result to be something like next_buss_stop_id an attribute in _list{1} which is the buss_stop_id from _list{2}Meaning _list{2} = buss_stop_id = 363, next_buss_stop_id 364
I have installed a FME Form server 2025 on Windows Server 2022 and having troubles in getting OSGeo supplied plugin files for FDO / SDF to work. When running the job it fails with really no good error message in the job log, but when looking in the server’s event viewer this error occurs:Application: FMEEngine.exeFramework Version: v4.0.30319Description: The process was terminated due to an unhandled exception.Exception Info: exception code c06d007e, exception address 00007FFE2A20F47CStack:Faulting application name: FMEEngine.exe, version: 2025.7.52.25208, time stamp: 0x67c2777bFaulting module name: KERNELBASE.dll, version: 10.0.20348.3451, time stamp: 0x11df78b1Exception code: 0xc06d007eFault offset: 0x000000000003f47cFaulting process id: 0x1958Faulting application start time: 0x01dbc0def35d329dFaulting application path: D:\Program Files\FMEFlow\Server\fme\FMEEngine.exeFaulting module path: C:\Windows\System32\KERNELBASE.dllReport Id: 4d6be8b7-3bc4-4041-b7ba-99637ee48fc7Faulting packa
I’m seeking other users experience with Background Maps in FME Workbench/Form. I use OpenStreetMap.org tiles (and sometimes MapBox tiles) as background maps when following data through a workspace. But more often than not maps take more than 30 seconds to appear, or not all.I originally assumed it was my organisations VPN, or security software agents, or network bottlenecks, but my independent tests on other external systems ruled these out.So I explored other possibilities.Here is a view of network traffic on my machine with a map at the town level. Not much happening.But look what happens when I then Zoom to Extents so the maps scales to all of Australia. Look at the spike in network traffic - some 6MB to draw a map?From what I can estimate FME is requesting hundreds and possibly thousands of map tiles for any given zoom request.What happens next is that OSM will either block or possibly throttle my IP for a period of time.Mapbox seems to perform better, but looking at my stats I’m c
Hi,I split a line at two points using PointOnLineOverlayer, which generated three segments. I extracted the coordinates before breaking the line and again after the splits. I was expecting the start coordinates of the second and third segments to be different from the original line's start coordinates, but all three segments appear to have the same start x and y in both split and original coordinates. Is it something with the split that went wrong because i had only one case in which coordinates were different but rest of the examples are showing this, which is not helping. Any feedback would be greatly appreciated! Thanks.
Hi All. I’m fairly new still to FME - so I hope this isn’t a silly question! Is it possible in FME to set user privileges (full editing rights) on feature classes, tables, etc in an ArcGIS sde? In ArcGIS Pro, typically I’d use the Change Privileges GP tool to do this, however one of the limitations is you can only seem to do it at the dataset level. I have several feature classes, and attachments which sit at the top level (not under a dataset), and I do not want to be assigning access manually. Previously we have used a python script which grants privileges to a SDE user based on a layers listed in a csv file. Just wondering if I could do this in FME? And if so, how? Thanks,Leanne
I have a workflow that:Takes a feature class from an ESRI Geodatabase (ArcSDE) Removes some attributes via AttributeRemover Writes to several different formatsI want to change Step 2 to use an external list (for example, a TXT file or CSV - the format is flexible), because other users will be regularly updating the list of attributes to remove.It seems like AttributeRemover only takes a single string or manual selection of attributes, so I decided to try BulkAttributeRemover, since it can take an attribute value. However, I ran into this problem:Let’s say I want to remove all attributes that contain the string PRIVATE.When I type the string PRIVATE into BulkAttributeRemover: Expression to Remove, the transformer functions as expected. It removes all attributes that contain the string PRIVATE.However, if I create an attribute called “regex” and set its value to PRIVATE, and then use the attribute “regex” as the Expression to Remove in BulkAttributeRemover, the transformer removes all va
I have an attribute called “month” from an imported CSV. I’ve formatted the value to be in the format “September 1 2024”.Now I want to convert the “month” attribute to a usable date format such as ISO YYYY-MM-DD.If I use the dropdown to select the attribute, the value of the DateTime Attributes becomes “@Value(month)”.When run, the workspace sends all rows to the Rejected port with fme_rejection_code. = MISSING_ATTRIBUTE_DATETIME and fme_rejection_message = Null, empty, or missing datetime was found. Enable the passthrough parameter to disable this However, if I manually type in “month” into Datetime Attributes:I get the expected results: Version: FME(R) 2024.2.1.0 (20241202 - Build 24801 - macosx-aarch64)I’ve tested it on FME(R) 2025.0.2.0 (20250512 - Build 25237 - macosx-aarch64) with the same result.
Hi, I have the following problem: a specific fmw file cannot be opened in the FME workspace. Clicking on it in the list in the FME Workbench tab “Start” gave no response at all. Hoving the mouse on the file in the list showed a popup with the contents of the file. Dragging and dropping the fmw file to the empty workspace did not work. Other files can be opened without issue. How can I restore the fmw file? I have FME Workbench 2024.0.
I am trying to concatenate 6-7 fields to create single field with spaces in-between different field values to create a address like string, no commas needed. Can I do it in text editor? Field1 Field2 Field3 original: 123 ABC Street Filed Combined Target: 123 ABC Street
Hi all, I am very much an FME rookie, so I’m hoping someone may have some insight as I’m at a loss. I’ve received a .JSON dataset of point locations with a number of attributes. It is not in a form of GeoJSON that I recognize, and so basic Esri/GIS toolsets won’t help with conversion. I’d like to use FME Form Workbench to help me clean up the data and ultimately convert it to Shapefile or Esri File Geodatabase Feature Class.Below is the format of the .json that I’m working with:[ { "id": 1, "address_number": "1234", "street_name": "IMAGINARY", "street_type": "WAY", "unit_number": "", "country": "CAN", "province": "BC", "region": "CVRD", "locality": "Mill Bay", "postal_code": "V8H 1B8", "pid": "", "administration": "", "building_name": null, "code": "Residential", "comments": null, "geom": { "type": "Point", "coordinates": [ -123, 48.6 ] }, "created_at": "2024-03-27T17:00:00-07:00", "updated_at": "202
I just returned to work from the Peak Of Data and AI in Seattle and am trying new things. In existing workspaces, I have added two creators to my workspace where I am adding a DateTimeStamp >DateTimeConverter - then writing to a new tab (Information) in my excel worksheetthe Second creator I am utilizing a FilePathExtractor and writing to the same new tab in excel. Essentially I am creating metadata to make my job easier to rerun projects year after year. The question I have is : is there an easier way to extract the File Path of where I have the .fmw saved without needing to navigate to it within the FilePathExtractor? My ultimate goal is to create a custom transformer that I can share with co-workers that can help them add the date created and the fmw’s file path to their excel writers.
Hello everyone I’m very new FME but I have been using chatGPT to guide me through to achieve the outcomes of my goals so my apologies if I have done something or missed something very simple.What I am trying to achieve in the graph I have attached is to convert 2D mapping data which is in EPSG 27700 into a 3D Object in EPSG 3978 so that it will align with mapping data in Unreal engine from the Cesium plug-in.As you can see from the graph I am adding height data from a point cloud then reprojecting to 4326 and then to 4978 (I don’t think the double reprojection does anything but chatGPT said to give it a go), after this I then shift the map based on a georeferenced point that I have centred my Unreal project around.Most of this all works perfectly fine and expected (this is a great piece of software!) but the result has the reprojected map not perfectly flat on ground and facing the wrong direction. This makes me think I am missing something obvious or simple.I really appreciate any hel
Hello,I am aiming to customise the FME Flow map interface by integrating a bespoke ArcGIS Online (AGOL) web map. The objective is to allow users to delineate an Area of Interest (AOI) and subsequently export relevant data directly from the application.The intended FME Flow map should utilise a basic AGOL web map that includes basic features layers (e.g. polygon) which are intended to assist users in understanding the extends of the dataset.I attempted to modify the basemap URL (Map Configuration) by embedding the public AGOL web map URL; however, this approach was unsuccessful.Would you happen to have any guidance or suggestions on how to properly embed an AGOL web map into the FME Flow ‘Draw an Area of Interest’ interface? Thanks:)
Hi everyone,I have struck a roadblock in the creation of a particular FME Workbench that I now require help with. I appreciate your time in advance.I have multiple csv files that contains a table of data that I would like to process into a single csv file table. Lines 1-26 of these files contains general informationLine 27 contains headers for a table belowLine 28 onwards contains the data for the table. In Line 2 Row 2 there is a “cell” (B2) which contains text which I would like to add into a new column in the table repeatedly.I have done and been able to do the following:- Used 2 x CSV Readers- 1st CSV Reader data is transformed down to just cell B1 and B2, with B1 text being replaced with a header name 'Sensor_ID' and B2 simply being the original data in B2 eg. SN_ABC123- 2nd CSV Reader data is transformed to Line 27 onwards (i.e. just showing the table), plus a few other modifications using AttributeRenamer, AttributeRemover etc.- Tried using both FeatureMerger and FeatureJoiner t
Hi, I need to filter some ArcGIS Online Portal Readers based on a unique ID that exists also in another reader (file geodatabase). ExampleReader 1: ArcGIS Portal features w/ UID Reader 2: File Geodatabase features w/ UID Reader 1 should only load features that have a UID that match Reader 2. The UID fields are the same format. Is this possible? Please let me know if can provide further details. I am a beginner/intermediate FME user focused on GIS. Thank you!
In FME Form 2023.2, we used a dynamic JSON writer setup that wrote a separate file per input SQL file. Each input could have a different schema, and the setup dynamically handled this just fine using: fme_feature_type set from fme_basename (filename sans .sql) JSON writer with Schema from Schema Feature This worked perfectly — each JSON file had its full dynamic schema.After upgrading to FME 2025.0, only the first JSON file is written with its full schema. All subsequent files contain only the subset of fields shared with the first file. Unique fields in later inputs are silently dropped.Example: A.sql has fields: ID, APR_KG B.sql has fields: ID, MAY_KG Result in 2025.0: A.json: includes ID, APR_KG B.json: includes only ID — MAY_KG is missing Nothing changed in the workspace. This appears to be a regression in how dynamic schemas are handled across multiple feature types or files in newer versions.Can Safe confirm whether this change is intentional?
Hello FME community, I would like to identify all locations that are within a 300m-perimeter around a polygon, taking into account barriers (large roads, rivers etc.). In ArcGIS there is a tool called “Distance Accumulation” that does just this, but I don’t want to depend on it. Thanks!