Creating and organizing workspaces. How to use Workbench.
Recently active
I want to Create a choice User Parameter that will show column list details from database, This will enable me to select my choice column field that when I run the workflow, I will be able to get the output result for only the column in a fanout dataset.
I wonder if there’s a way for me to hack the web connection during run time to expose the AGOL Organization URL and token so I can use this URL downstream.The ArcGISOnline Connector returns these as format attributes but I have the extra overhead of running the right action item to expose them. Submitted an Idea related to this:
We currently have an .asp script that builds a url/uri based on a selected prefix and document ID.When the OK button is clicked, the url/uri is opened in a new browser tab.The server where the asp script is located is being retired so we need to come up with an alternative.The parameters are Plan Type and Plan Number.The parameters are used to generate a path to the document to open. Eg. \\sample.file.path\resources\SCIMsPlans\pm12345.pdfI have converted the ASP to Python and made a self contained executable that works well but staff are used to accessing the plan search via a web link. I thought a FME web app may be suitable for this.Can anyone point me to the correct transformers to use for this or even better, a sample workspace.In case it helps, below is a snippet from the python script that builds the file path and opens the document. # The Plan document ID number name = self.plan_input.text().strip() # If 'dp' is selected, use 'DP_DepositedPlans' to b
Hi,I get the following error when attempting to publish a workbench from FME form to FME Flow:User is not authorized.The specified user credentials were not authorized to perform this action. Ensure with your server administrator that your user credentials are authorized to perform this action.Publish Failed (Not Authorized) - Ensure that credentials are correct, and that user has sufficient privileges. I’m publishing using an account with superuser access. I’ve also managed to upload the workbench directly to a the folder using the FME Flow interfaceFME Form: 2025.0.1.0 (20250327 - Build 25220 - WIN64)FME Flow: FME Flow 2025.0.1
I have an export of an MS Whiteboard in pdf form. (I also have the JSON and HTML. The JSON doesn’t store the note contents). PDF reader is spotting text, but I’m struggling to pull it out ‘per note’. Any ideas?
I have a workspace that reads an excel spreadsheet that contains 20,000+ rows with file names and paths to DWG files which works 99.9% of the time. The simplified process is as follows:Filter the list of files from the spreadsheet to remove certain filename patterns Read the dwg model space, but only keep lines that are on layers that starts with BND Test to see that they fit in a polygon using spatialfilter clean up attributers and write the results to shp fileFor some reason when it hits a certain file, the process stops when it hits an error (even it is set to continue on rejected feature and ignore failed readers is set to Yes. I have attached a zip with the log file as well as a FFS file it create which contains a single line that doesn't appear to be anything unusual or unexpected. My work-around for now is to skip the offending file by using the “features to read” settings on the reader. Given that there are 20,000+ files, I tend to run 5000 at a time.
I want to change paths for readers in multiple FME workbench files and Ive been trying all day without success to do so without doing it manually. Does anyone know how to do this :) ?For example from \\192.168.221.35\ftp\hofn\Höfn-skolplagnir.shp to \\192.168.221.50\ftp\hofn\Höfn-skolplagnir.shpwith the only change being the ip path from ending at 35 to ending with 50 but for multible at once :)I already tried changing in Notepad as suggested here with all the paths but it doesnt work for some reason. Also consulted chatgpt for Powershell scripts of different variety...Thank you for reading :)
Hi All,I have a folder of csv files with the naming convention like this : Insp1.csv, Obsv1.csv, Insp2.csv, Obsv2.csv etc etc.I have written a workbench to read in Insp1.csv and Obsv1.csv and derive the outputs i want. These csv files are pairs and both are needed to create the output. I have a folder of many InspX.csv and ObsvX.csv files that I want to process. I have set up a Directory and File Pathnames reader than I think I want to pass into a workspace runner that calls the workbench to process the files with parameters. How to I get FME to iterate over my files and each time the runner is called iterate to the next pair of csv’s? ie first time is run use Insp1.csv and Obsv1.csv, the second time use Insp2.csv and Obsv2.cvs etc etcMany Thanks Goatboy
I was having a bit of a poke around with how Workbench calls the AI APIs and noticed that the method of sending the workspace was to first convert it to graphviz format. I had initially thought the fmw would’ve been passed and parsed instead,Converting to graphviz is a pretty cool step and could be used when producing reports or documentation on workspaces. I know people have asked for similar functionalities in the past re exporting the workspace as a graphic: Is that conversion something that the end user can tap into? I’m going to shamelessly tag @rylanatsafe @mark2atsafe and @NickAtSafe here, as while they might not be the people directly responsible for answering such a question, I feel like they might be able to point this question in the right direction!
I would like to use the AI assist feature in a programmatic way. Is this possible?Currently it is available only as a GUI inside FME workbenchI would like to provide a prompt + workspace file, call an API, and then get a response based on the workspace context
Hi,Situation - Oracle Writer will not work, so I need a workaround to overcome this. The tables in the workspace have many attribute fields, 2100 or thereabouts, and the Oracle writer falls over. 😕 Safe recommend upgrading to a newer Oracle, so the client will get that sorted eventually… but meanwhile I need to get the workbench working.The workbench prepares delta files to be written into the Oracle db. Once the data is ready for writing to the db I have used FeatureReader to read 13 Oracle tables into the workspace, then use a FeatureMerger with the existing workspace table to identify if the features already exist in the 13 db tables or not. If they are UsedSupplier they exist and are then designated to be an “Update”, if they are UnusedSupplier then they are new features and are sent as an “Insert”.As a further complication, we need to write to CSV files to overcome the issue with not being able to write to Oracle from FME. So we need a batch of csv files for Insert, and another f
Using FME Flow with Esri ArcGIS Software – FME Support Center If you are using version 2025.1+, you must download the Esri ArcGIS Connector from the Hub and use the new readers and writers. Workspaces authored in previous versions will need to be upgraded. For steps to upgrade, please see Working with Esri ArcGIS Feature Services in FME. Am I interpreting this statement correctly? There is effectively no backwards compatibility in 2025.1 for workspaces that connect e.g. to an ArcGIS portal?
Hello everyone,I have a question regarding a workflow/tool. I work in the railway sector and would like to automatically place overhead line masts on points and then rotate them in the direction of the tracks so that they stand perpendicular to the track axis. I have an FFS file of the 3D object, a point file, and a polyline that represents the track centerline. The placement of the 3D object works perfectly, but I'm having trouble rotating the object as desired.At the moment, I’m using the "NeighborFinder" tool to obtain the track alignment information, then the "CenterPointExtractor" tool, and finally the "3DRotator" tool to rotate the mast accordingly. I do manage to rotate the masts, but not in the correct direction so that they are perpendicular to the track axis.Does someone has an idea how I could proceed?Thanks in advance and best regards
The AttributeValidator fails nulls when validating for various types. Most of the time I would like it to pass nulls.The obvious work-around is using the NullAttributeMapper to map nulls to some acceptable value for the validation but:a) this is a pain because you have to do it for all attributes you want to checkb) you have to change these values back to null afterwards so as to not send spurious data to the writerAny more elegant way to do this?Perhaps a custom transformer to do the work-around and the AttributeValidator within?Or should this be an “Idea” for the AttributeValidator, i.e. Option: pass nulls?
Hello:)This is incredibly petty, but as someone who lives in a country where “Commonwealth English” is the standard for spelling (and not the Simplified English of North America), I wondered if there’s a switch in the UI somewhere so that menu items and transformers are spelled correctly (correctly for me). For example: the NeighbourFinder, which, as is pointed out in the docs, is an alias of the NeighborFinder. I’m waging my own campaign against the normalisation of N.Am. English in software across the English-speaking world.
If you’ve watched my FME Realize video, you probably noticed a sleek toolbox full of colourful buttons that launch different experiences like attribute popups, videos, inspection forms, and more.🎥 Haven’t seen it? Here’s the link — grab popcorn, it’s about 9 minutes long 🍿These buttons aren’t part of FME Realize by default — they’re generated entirely using an FME workspace. To make it easier for you to create the same kind of toolboxes in your own FME Realize projects, I’ve created a custom transformer called HTMLToolboxGenerator.What it does:Outputs clean, mobile-friendly HTML with up to 9 buttons; Lets you define button names, icons, colors, and links via parameters; Optional dynamic filtering: you can show only the relevant buttons per feature type (e.g., a catch basin might only need three buttons, while a hydrant might need six).Even though it’s designed with FME Realize in mind, it produces standard HTML, so you can also use it in any web context where a small, smart launcher
I’ve recently faced the conundrum of how to ‘spell’ workspace - is it with a capital ‘W’ or is it a lower case ‘w’.🤔🤔I can see arguments for both sides. I think it’s pretty unanimous that Workbench is a capital ‘W’ as it is the name of the application, but what are your thoughts on ‘workspace’? For example: Ensure Workspace properties are filled out to provide context to users reviewing or supporting Workspaces. The Workspace description provides an overview of the purpose of the Workspace. The Workspace name provides additional context to the purpose of the Workspace. OR Ensure workspace properties are filled out to provide context to users reviewing or supporting workspaces. The workspace description provides an overview of the purpose of the workspace. The workspace name provides additional context to the purpose of the workspace.
Hi, I am trying to insert feature from DWG format to GDB (with existing schema) .While translating I am getting following error. Kindly let me know how to avoid this error. FileGDB Writer: A feature could not be written+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Feature Type: `RD_Road_Infra/CURBSTONE'Attribute(string: UTF-8) : `filegdb_type' has value `geodb_polyline'Attribute(string: UTF-8) : `fme_color' has value `1,1,0'Attribute(string: UTF-8) : `fme_feature_type' has value `GIS_DROP KERB'Attribute(string: UTF-8) : `fme_geometry' has value `fme_line'Attribute(entangled: string: UTF-8): `fme_type' has value `fme_line' entangled to filegdb_typeAttribute(string: UTF-8) : `multi_writer_id' has value `0'Coordinate System: `'Geometry Type: IFMELineNumber of Coordinates: 2 -- Coordinate Dimension: 3(370808.8449767388,2682910.8213489666,271.036)(370808.4028391096,2682894.483091897,271.015)=============
Hi, Screenshot sample of data above: Essentially I have a csv with several sites (columns C-G), to import this data into the software I use, I need to import one site at a time, so i’m looking to split this csv into several csvs which contain the date time columns and then one site column per csv. I can do this in a convoluted way, using multiple attributekeepers to split the data, is there any quicker way to automate this? Thanks
I'd like to understand what this error means in the following context and how I might go about resolving it. I have a workspace that works perfectly fine if I run using cached features up to transformers just prior to a FeatureMerger then run from the FeatureMerger to a writer. However, when I try to run the entire workspace it results in an error that aborts the translation at the writer. I've also tried many other methods of joining these 2 streams and all are resulting in the same error output. MULTI_WRITER: No MULTI_WRITER_TYPE{*} or MULTI_WRITER_TYPE{3} was specifiedIt seems like I need both streams to be ready at the FeatureMerger at the same time but I have not been able to gain control over execution order or block passthrough features through a variety of attempts. The goal is to read from both a CAD model and a DB, then compare the two datasets on a unique key, then write an SQL statement to a text file or SQLExecutor. I've only attempted this with the text file writer while
No bookmark navigator in 2024.2Bookmark navigator in 2023In FME 2023.2, there was a "Show Bookmark Navigator" checkbox under Tools → FME Options → Toolbars.In FME 2024.2, this option seems to be missing on my system. We're in the process of switching versions and noticed it's no longer there.I use this feature frequently to quickly navigate between bookmarks in large workspaces.I've attached two screenshots showing the difference between versions.Has this functionality been removed, renamed, relocated or is this a bug?Thanks in advance.There is no additional detailed info in the docs:https://docs.safe.com/fme/2024.2/html/FME-Form-Documentation/FME-Form/Workbench/options_toolbar.htm
Has anyone else had any issues with the SubstringExtractor in FME2025? I have a process that works in an older version (2021) but in the 2025 version I am seeing a different behavior.Wanting the last 7 characters in a string I used a Start Index of -7 and an End Index of -1. This worked in FME 2021. When opening the workspace in FME 2025, it initially works, but when I upgrade the transformer from V2 to V3, it then returns no value. I created a new blank workspace and added a brand new SubstringExtractor in 2025 and saw the same result. It seems to work selecting values from the start like Start 4 End 7, or Start 2 End -1. But having the start be negative seems to always return no value. The change listed for the V2-V3 upgrade was adding bulk mode support.Hoping I am just missing something/doing something wrong here.Version is 2025.0.1.0Attached is a version of the workspace with the transformer not upgraded, that way you can see the before and after by just upgrading it on your end if
Anyone ever developed a VS Code “language” for FME logs files? Years ago somone - I wish I could remember who _ did this for NotePad++ and it was awesome.The defaul VS Code log view is actually not bad so this is really a - “would be nice”
I am trying to use a template file in an excel writer for my data. The data is collected from a number of sites, so I was aiming to use the site id attribute as the sheet name to export a new sheet per site. Unfortunately the template is only being used for the first site which passes through my writer, and the other sheets are unformatted. Has anyone encountered this and found a solution to apply the template to all sheets if multiple are being written in the same feature writer?
Hello! I’m trying to figure out the best way to aggregate values by the most common words. I’ve found a few threads and documents but not quite what I was looking for.For example, I have a list of building names and numbers where each entry can have a of variation of a building name and number: “1000 The Coolest Building Ever”“1000 Coolest Building”“Coolest Building”“100 Coolest Building Dr.” I would like the output to be “Coolest Building”, as it has common base words across all features. Is this possible? Bonus point if a variation of “Bldg.” “Bldg” can be included. Any advice/guidance is appreciated!