Creating and organizing workspaces. How to use Workbench.
Recently active
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!
I built a dynamic workflow to change a attribute for CSV file. It turns out that the attribute name is changed but without value in the output CSV file. Please could you help solve the issue?The input CSV file and workbench has been attached with the post.
I know I can restart a map service in ArcGIS Server Manager. Is it possible to restart a map service in ArcGIS Server using FME? if yes, how is this done?
FME 2025.0.2.0I’ve built an embedded custom transformer which uses a web connection as a parameter.When I initially use the custom transformer in my workspace I’m able to specify a deployment parameter for the value of the web connection.e.g. However, as soon as I close and re-open the transformer properties the connection becomes invalid and the OK button is disabled: It’s not possible to re-assign the deployment parameter as the connection value unless I first clear it, then re-add it.I’ve tried various workarounds (e.g. creating a standard published parameter to hold the deployment parameter value) but I can’t get this to behave like I think it should.Has anyone been able to successfully use deployment parameters for web connection values in a custom transformer?Also, not sure if it makes a difference but I’m using a custom web service for my web connection.
Is there any way to get the “path” of a transformer so that it can be reported for a custom error logging solution. The standard FME log file has this information but I can’t find any way of getting at it inside a workspace.For example, in the image below we can see log lines being reported from a ParameterFetcher transformer which is inside the Log_Error custom transformer. If I could even just get the name/instance of the custom transformer that would be helpful but something really useful would be to have access to the <prior> transformer.I’ve seen some other posts on this topic which talk about hard-coding log messages but it would be nice to have a more automated approach and those posts are all from before Safe changed the way log files work to include the links to the transformers….I guess what I’m really looking for is access to something like the FME equivalent of a stack trace from any point within a workspace.
I upgraded a workspace with a dynamic writer from FME 2022 to FME 2024. When inspecting the schema before writing there is fme_date and fme_datetime time fields. When writing to geodatabase it created dateonly fields from the fme_date fields when using FME 2024. When writing to SDE we get a ORA-210 / ORA-308 (invalid field type). What is the solution to this problem? I posted this before as addition to another forum topic. However someone from FME suggested to make a new topic.
Hello Forum, Does FME Form have the concept of creating a layout which could then be saved as a image file or PDF? So, think about how in QGIS I may bring several vector layers and some base mapping together and post to a ‘print layout’. Into that print layout would go the vector layers and base map. I may then add a title, north arrow, map, legend etc. I would then export that layout out as a png or PDF. Does FME Form, have a similar concept. I’ve been looking in FME Form and running online searches but have found nothing, which is surprising. Any thoughts? Thanks,Stuart
I have a Microsoft Access Database Table. I need to delete all the records in it and just keep the schema. Basically, the output will be an empty table. There are 10,000 records in the table. Delete all records in Table A. Table A will be empty. Just keep the Table A schema. I know I can use the SQLExecutor with a SQL Statement to do this, but how to do this using Transformer(s)? What is the best way to go about this?
Hi all.Is it possible to use a scripted parameter in a workspace to populate the items for a choice parameter ?So far I’ve had to manually edit the choice list whenever new items needed to be added, but potentially it’s possible to create all the items automatically with a query to a database. This would release me from having to update it manually.The example I’ve found only talks about returning a single text, but a choice parameter needs a list of display+value pairs.Any insight is welcome.Cheers
Hello Forum, I have a workspace which is reading in a csv containing a field called UPRN. Some of the values are full (e.g.: 200003362891) but some values are zero. This is expected in the data and is fine. But when read into the FeatureReader the values look like this (when set as Number)… And if set as Int64 it comes out like this…How do I force FME to bring in those UPRN values as contained in the source data? Thanks,
Hello,FME Flow announces the deprecation of the JobWaiter transformer:2024-9-2 10:59:42 | FMEFlowJobWaiter (ServerFactory): FMEFlowJobWaiter was deprecated in 2024.1.0. Its support lifetime is limited because the v3 FME Flow REST API will be removed in future FME releases. When the v3 API is removed, this transformer will stop working. Please update this workspace to use an HTTPCaller to call the relevant REST API directly instead.Question: Is there any ‘how-to’ with a sample workspace which REST call can be used to replace the JobWaiter functionalities? My sample scenario would be: You have 5 jobs running in parallel (wait to complete NO), JobWaiter polls every 20sec until all 5 job_ids are received and completed. all 5 jobs must have _status SUCCESS before Job #6 is called.I tried GET /transformations/jobs/id/{jobid}/result but it failed with 404. Any hint?thanksKlaus