Creating and organizing workspaces. How to use Workbench.
Recently active
I have a word template with me and I would like to use that template to create a new document along with the custom content dynamically. Cheers,Srikanth
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.
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 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 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’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
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?
Why does FME Flow (or FME Desktop) store files in the My Documents folder?Why not use AppData\Roaming or AppData\Local?
This is starting to annoy me - in 2024.2, whenever I create a bookmark around something, FME automatically zooms to it. Is this a setting that can be turned off?
Something I recently learned about with FME is that each HTTPCaller seems to equate to one session - there are most likely a lot of cases where this isn’t true but I had some weird issues recently where a series of calls working intermittently. The process was creating a document container and then uploading files into it and then closing the container. I used 3 separate HTTPCallers for this. When testing from FME desktop it worked sometimes and others it didn’t work. I spent a tonne of time trying to debug what was wrong in my POST. Finally it seemed like it was working, I published to Server and directly had issues again. Looking into the Debug logs I noticed that with each new instance of the HTTPCaller there was a new connection to the service BUT that connection was going to a different IP. The host was using a load balancer to handle API requests. Turns out my container was being created on one server and my follow up requests were hitting the other server.After I fed everything
I have a workbench which is calling data back for 8 reports via 8 different httpcallers. I can add a date parameter to the URL to call back one date at a time. I have 60 dates I need to individually grab the data for.How can I get it too complete the workbench, move on a day and run it again, and again...and so forth, through a list of dates?
*Aka Data Virtualization Transformers, but with the french touchSince I’ve been publishing a bunch of Data Virtualization custom transformers lately, I figured it was time to make a post about them—what they do and how to use them.FME Flow’s recent update introduced a cool new feature: Data Virtualization.https://community.safe.com/product-updates/introducing-fme-data-virtualization-38066?tid=38066&postid=86#post86This feature lets you build your own APIs using FME workspaces.To make that work, your features need to include certain attributes required by the Data Virtualization writer, such as: response.status_code response.body.content response.body.content_type response.body.content_file_path response.headers{}.name response.headers{}.value Data Virtualization Writer After manually setting these with an AttributeCreator a few times, I thought: why not create a tool to make this easier?So I made the DataVirtualizationResponseSetter !DataVirtualizationResponseSetterThis
Has anyone run into an using the OGC WFS Reader for a WFS hosted by QGIS Server where the coords are swapped? Before I go back to the provider with the observation “hey I think there’s a bug in how your service is being delivered” I’d like to check that it’s not a known issue etc. To use the service I had to do the following: Thanks for any ideas!
Hello, How do I add a datestamp to a file name in the Excel Writer? I tried adding @Value(_timestamp) to the Writer output and all I get is the file name Bldg_Pts_@Value(_timestamp) as the file name. No date.
Hi everyone,I need help, when i upload my shape file in fme which is in gaus kruger coordinate systemI want to change coordinate system into epsg 32634, and when i use coordinate system setter, it changes, but its not exactly how i need it to beSo i need to do something called transformation, and i need help with how to do that, if its posible to do transformation in FME?
Hello,I have a question regarding the implementation of dynamic attributes.I created a flow to turn a single attribute into text for the actual values of the column and row of an attribute; Following the pattern below: Original AttributeGoalAfter achieving this, the biggest problem is that these 'dynamic' name attributes come as unexposed attributes.Unexposed AttributesI could simply place an AttributeExposer and resolve this case, but the problem is that the flow will run in several different scenarios, and the values (A, B, C, F) will never be the same; they can vary to anything (G, H, T, Z, B, A, or K, LL, BN, XS, D).Therefore, I need the exposer to work automatically as well, but I couldn't make it receive @value(list_name); it literally exposes the value '@value(list_name)' as if it were an attribute with the name of the code. Thank you for your assistance!Best regards,
Hey all,My FME workbench stopped working and then crashed. Is there a way to recover my unsaved work? Thanks, David
I am using FME Form 2021. I have a workspace that includes a Directory and File Pathnames Reader and a File/Copy Writer. The workspace moves files from the specified Folder on one server to another Folder on a different server. It moves the files and runs no issues. But, after the files are moved to the destination folder, I need the files in the source folder deleted. Is there a way to do this with the Reader and Writer? Is there a parameter I need to change? (I know I can make a second workspace that has the FileDeleter and delete the files that way, but wondering if I there is another way) Here is a screen capture of the workspace:
Hi list.I have a master workspace in Workbench, which starts with a Creator calling two SQLExecutors, and eventually calls two WorkspaceRunners.Each SQLExecutor fetches a list of tables in a dataset, adding their feature count (numbers of rows).I specifically tell FME to process the smaller dataset (i.e. its SQLExecutor) first, but each “thread” also have a (blocking) Sorter transformer (sorting by feature count) before calling (its) WorkspaceRunner.It seems that the result from the two blocking Sorter transformers are processed by FME in the wrong order regardless of which order the features have arrived.How can I ensure that the Sorter for the smaller dataset (i.e. VAT above) executes first, before the Sorter for the larger dataset ?As is seen, I tried to rename the Sorters, so the smaller was alphabetically listed before the larger, but it didn’t change anything. The Logger logged the larger dataset first.
Hello Forum, I’m experimenting with using FME Form to create a PDF showing the result of a TestFilter query on a read-in feature (polygon dataset). I have this… Creator FeatureReader Reads in the polygon dataset TestFilter Finds a specified record in the source dataset by specifying an attribute and a value. This produces the required selection. PDF Styler PDF Page Formatter FeatureWriter Writes to type=Adobe Geospatial PDF NOT YET ADDED: I will eventually bring in base mapping and add titles etc. But I don’t need to get to that stage yet However, when I run the workspace this error is generated… ‘PDFPageFormatter_2 (PDFLayoutFactory): Invalid page object 'PDFStyled' parameters 'MINX;-117;MINY;803;WIDTH;112;HEIGHT;39;FIXED_ASPECT;Yes;CLIPPING_ENABLED;No'. All point positions must be a positive number’ I’ve looked in the settings of the PDFPageFormatter_2 transformer but I cannot see values such as MINX, MINY, WIDTH, HEIGHT, FIXED_ASPECT or CLIPPING_ENABLED. But the error is saying
I have a json which i am getting through http caller. This json contains data as well as schema details. The schema details are like this Column Name, ColumnIdentifier and Data is like this [{ColoumnIdentifier : Value}] Now i want to create new attributes based on schema details.I have looked into python caller but i think you cannot create new attributes. is there any transformer by which i can create new attributes using my json as an input?or a python function to create new attributes
Hi. I am using neighborFinder to align the points to the closest line segment. Points are connected to the Base, and lines are Candidates. I have also merged candidate Attributes. I am trying to join the Line segment from NeigborFinder with the original line dataset to get the closest line, but I am getting point geometry. is there a way to retrieve the line segment from the neighborFinder output? Thanks!
I am using the OGC WFS Reader to try and connect to my site in the TreePlotter App (cloud based app by PlanIT Geo). I have the API Key and other parameters. When I run the Reader, I get these errors (from log file). Does anyone have an idea on what could be causing this? (I followed the instructions from their website: https://support.treeplotter.com/knowledge-base/wfs/) 2025-04-28 16:32:25| 0.8| 0.0|ERROR |<ows:ExceptionReport version="2.0.0=" xmlns:ows="http://www.opengis.net/ows/1.1=" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance=" xmlns:planit="planit:https://pg-cloud.com/planit=" xmlns:wfs="http://www.opengis.net/wfs/2.0=" xmlns:gml="http://www.opengis.net/gml/3.2=" schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsAll.xsd="><Exception exceptionCode="CODE WILL GO HERE=" locator="FeatureInPolygon">="><ExceptionText>https://pg-cloud.com</ExceptionText></Exception></ows:ExceptionReport>2025-04-28 16:32
Hello everyone,I need help with polygons and multipolygons with my geometry, i read shape file if that is important1. Which transformer should i use, or how can i see if my geometry is polygon or multipolyon ?2. How can i change type from polygon to multipolygon, what should i use for that change?
I have a very basic workbench that includes one section reads from an SDE and writes to a hosted AGOL layer. It is set to truncate existing. The script writes all the polygons as expected but none of the attribution for the polygons comes through. I have confirmed the attributes are correctly named. I have tried removing and re-adding the hosted writer. Weirdly, the script also writes different data to a separate hosted layer and that functions fine. Has anyone else had this happen? Any ideas on solutions?