Creating and organizing workspaces. How to use Workbench.
Recently active
Hi FMEers.I have an interesting task and thought I’d come directly to the experts for advice! I want to pick a random position on Earth, but it has to be on land. How would you go about it?The obvious route is to simply pick a random coordinate, repeating the process if it doesn't fall within a land boundary. That seems inelegant. Alternatively, maybe I could use H3 hexes? Generate all level 15 hexes over land and pick one at random. That seems slow.I'm open to any suggestions. I want lat/long coordinates to about 7 decimal places, and I need it to run (on Flow) in around 1 or 2 seconds.Thanks for any suggestions.Mark
I am reading data from SQL Server that is in the default dbo schema. I want to write the data into a specific schema in postGIS.But i struggle to make to do this as a dynamic workbench.The setting is to Always create tables. The table is created as expected (dbo. is replaced with correct postgis schema name in StringReplacer).But i get an error trying to write featurePOSTGIS Writer: Fanout for feature type '' failed to find feature type template ''Seem to be a missmatch between the schema feature and the feature itself?
I have an odd problem. I have suddenly lost the ability to view the lists on my objects in the “feature information” pane. They are indeed there, I can search and explode them, but for some reason -mid working on this workbench- I have suddenly lost the ability to see my lists.I am in version 2024.2. I havent found anything helpful or related online yet so thank you if anyone is able to assist. created list ^ no list visible ^ I am ONLY able to see the lists in the “Found” port of a list searcher, but in NO other occasions can I see them.
Hello,Does FME has some kind of DefaultCoordinateSystemSetter? I've created an FME workspace that dynamically transforms FileGDB layers into an Oracle SDE database. For this, I need the Oracle SRID and ESRI WKT coordinate system descriptions. To get these, I use the CoordinateSystemDescriptionConverter transformer (handy tool!). However, there are tables without geometry (which crash the ESRI WKT conversion, luckily a TestFilter or something similar fixes that). But it gets worse when geometries enter the workspace that DO have coordinates, but NO coordinate system. Setting the coordinate system on the reader doesn't work because I expect multiple coordinate systems in the data, and setting one of them as the default on the reader will incorrectly overwrite data with a different coordinate system.So here's what I need to do:Extract the existing one (CoordinateSystemExtractor) Test if it resulted in an empty value (Tester) Set the "default" coordinate system (CoordinateSystemSetter) Re-
Hi all.I just ran into a curious problem. I tried to generate a buffer around my data, exporting it to GML. The problem is that QGIS won’t open the generated GML.I found that the GML data contained geometry errors (OGC Simple), and that these in part was made by the Bufferer transformer !??When I debug run a GeometryValidator->Bufferer->GeometryValidator setup, only running passed+repaired features into the Bufferer, the second GeometryValidator outputs failed geometries, i.e. output by the Bufferer..Is this a known problem ?CheersUsing 2025.2 beta
I have been trying to find a good use for the ‘ai assist’ function. I don’t think it has ever succeeded in providing a useful answer. Have any of you had any luck?Or do you also copy paste to a real ai?In this example I needed a SQL Query edited, but my request was invalid for no reason. When I post in any other LLM I get a thorough response and description of this and that.My overall questions is probably, why is the FME implementation so poor? Is this spelling the early signs of the end for FME?
I try to create tables where schema definition is from SQL Server into PostGIS. Schema onlyFor this i have a simple workflow. But for the life of me i do not understand why my tables are not created despite FME report everything went well?String replacer is just changing the name of fme_freature_type_name to remove the standard “dbo.” table qualifyier from SQL Server. Writer setup Log Features Written Summary=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-rplanforslag_alternativ_forslag.RpAngittHensynGrense 1rplanforslag_alternativ_forslag.RpAngittHensynSone 1rplanforslag_alternativ_forslag.RpArealformålOmråde 1==============================================================================Total Features Written 3=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--~-~-~-~-~-~-~-~
Hello,is there any version of FMEFORM 2025 that will allow me to select a coordinate system in the reader from outside the short list without automatically closing the entire application? I checked 2025.1.1 and 2025.1.3. or is there any tip to do this? I tried different scenarios and always when i am trying to open More coordinate systems the application closed by itself.Regards Artur Gustowski
Hello,I have a configuration table that my FME workspace reads to update a GIS database. This table includes ArcSDE database connection information. The workspace dynamically reads each database connection one at a time and passes it to the Feature Reader. Because it's dynamic, all features are routed through the generic port.Currently, I use an AttributeExposer to make feature attributes available for processing. However, this requires manual updates whenever database schemas change, which is problematic since the workspace runs on a schedule.Is there a way to automatically expose attributes at runtime, based on the schema of the next database being read, so I can eliminate the need for manually updating the AttributeExposer? Thank you,
Hi all, My colleague and I are preparing to do the Form and Flow certification exams. We use our work laptop to start Talview. The laptop only has FME Form 2024 (scripted). We would like to remote desktop onto our azure virtual machine to access Form 2025 for the exam. This machine is also set up for publishing to Flow.Will Talview allow access to a remote machine for the exam? Thanks,Annette
Hi Long time user, havent posted as not been hands on in a long time but here goesWe are looking to add new extensions into GPX files Something like: <trk> <extensions> <htrk:HemaTrack> <htrk:difficulty> very_difficult </htrk:difficulty> </htrk:HemaTrack> </extensions> </trk> We have an XSD definition for the namespace as well <?xml version="1.0" encoding="UTF-8"?><xsd:schema targetNamespace="http://hema-ota-test.s3.ap-southeast-2.amazonaws.com/gpx/extension-schema/v1" elementFormDefault="qualified" xmlns="http://hema-ota-test.s3.ap-southeast-2.amazonaws.com/gpx/extension-schema/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:annotation><xsd:documentation> This schema defines the Hema Maps extensions to be used with the GPX 1.1 schema. The root elements defined by this schema are intended to be used as child elements of the "extensions" elements in the
I have an orthometric DEM that I need to convert to WGS84 Ellipsoid. I know the CSMAP reprojector treats all raster data as 2D.I tried converting the raster to a point cloud, reprojecting it and then re-rasterizing, but I am getting a weird striping effect I don’t know how to deal with.
My company does SSL inspection/interception which is causing errors when trying to view background maps in FME Form. I have seen ways to fix this for the FME Flow (Server) side, but is there any way to change any configurations for FME Form to handle this? The CA certificate for our authority is in the Trusted Root Certification Authorities certificate store on machines so I’m not sure why it isn’t trusted if FME is using the machine’s certificate store for trust. Below is an example of error seeing from FME Flow 2025.0.1 (but have seen on previous versions as well).Stadia Maps Reader: Failed to load 'https://tiles.stadiamaps.com/tiles/alidade_smooth/5/19/14.png'. Error: 'HTTPSConnectionPool(host='tiles.stadiamaps.com', port=443): Max retries exceeded with url: /tiles/alidade_smooth/5/19/14.png (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Missing Authority Key Identifier (_ssl.c:1018)')))'Python Exception <FMEExcepti
Hi there,I tried to write some data to a ArcGIS Portal feature service using the new writer. It skipped my feature as globalid was NULL, missing or empty:So i fell back to the old writer and this writes features fine. It sees that globalids are read-only and ignores them, along with the other ArcGIS server managed fields:I imported the same layer from the feature service using the writer - import layer approach, and fed the same data into both of them in the same workspace. One works, one doesn’t.Am I missing something?Thanks,Marc
2024.2 (24820) I am building a self serve workspace app for flow. the user will drag and drop a dwg onto the app.The workspace will convert the mapped drive to UNC and use that for a featurereader.prior to the featurereader the path will go through the filenamepartextractor. The output is NOT exactly the same location as input, and changes certain parts depending on the file dragged and dropped by the user. I use the source name in the filenamepartextractor and then build the output folder (which may or may not exist in full or in part). Then there are 3 types of files to output to that folder.I currently have the output dwg name built by hardwiring the filename and extension. The form workbench runs successfully with no output in the destdataset which is set as the output attribute for the filename. there is however a file in the workspace folder named @Value(DestDataset) with no extension. Tested by renaming this file and adding dwg extension (which opened correctly in autocad). Why
I’m attempting to configure a workspace to use a database connection that is published as a deployment parameter. However when I try to set a feature reader to the deployment parameter I getWorker 12476 > An error occurred while attempting to retrieve the connection parameters from the connection file 'SWS_GIS_DB'Worker 12476 > Failed to obtain any schemas from reader 'GEODATABASE_SDE' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more informationWorker 12476 > Failed to read schema features from dataset 'SWS_GIS_DB' using the 'GEODATABASE_SDE' readerI published the database connection myself and created the deployment parameter so I’m not sure why form cannot use it. I would like to use the deployment parameter as opposed to having the user have to select the connection themselves.
Goal: Use the KLIC Transformer output to produce a FileGDB. I have used Esri Geodatabase (File Geodb Open API) as the writer. What the workspace does: Reads raw KLIC output, Builds dynamic layer name, GeometryValidator → GeometryCoercer, AttributeKeeper keeps only required attributes, (Latest attempt) GeometryFilter to keep only Line geometry to avoid mixed-geometry, FileGDB FeatureWriter with Feature Class or Table Name = dynamic layer name, Dynamic Schema Definition = OFF, Table Handling = Create If Needed (sometimes Overwrite If Exists while testing), No dynamic schema port connected. What happens: Translation reports success, In the output GDB, I get only one feature class (the first encountered). For all other values in the dynamic layer name field, the writer logs warnings and doesn’t create those classes.What I’ve tried: Narrowed the schema with AttributeKeeper. Verified in an Inspector that dynamic layer name field has many correct, distinct values (not just one). Deleted the o
I am trying to automate the conversation of a large series of CAD drawings to save the data to be used in ArcGIS Floor Aware apps.One of the criteria is to have levels / floors in a building sorted in vertical order, with the ground floor as 0 and increasing by one for each floor above the ground and decrease by one for each floor below the ground.Unfortunately my data has inconsistent naming for floors. With some having a Lower Ground (LG) and or basement (B). There are also some that have a messanine (M) between Ground (G) and Level 1 (L1). To top it off there is a Roof (R) in some.So my problem is that I need to sort the list of floors in such a way that I can get the vertical order, both positive and negative, centred around Ground as 0 where it exists. Does anyone have suggestions on how to tackle this?Here are a couple of examples and the vertical order needed. B, G, M, L1, L2, R => -1, 0, 1, 2, 3, 4B, LG, G, L1, L2, L3 => -2, -1, 0, 1, 2, 3LG, L1, L2, R => -1, 0, 1,
Hello yet again.This time I am experimenting with a complex Microsoft Excel document, its basically a calculation file that contains quite a lot of sheets, macros, references and formulas. Idea is that instead of sharing the excel document with the people that need to use it that I would just host it on our Flow, people would then have an option to fill out some published parameters in a flow app and then get a single excel sheet returned with their results (cutting out all the underlying datasheets and formulas and macros etc).Or to sum it up: I have a complex excel with formulas, read that excel in FME, change values in cells in FME, write out an excel from FME that would then recalibrate/recalculate based on those changed values.So I have figured out how to single out cells in the excel table where (basically using counter, and tester for that single number, link to attribute manager where the new value can be inserted to replace the old one, back to a FeatureMerger to put the new v
I believe there is the possibility to configure user parameters in a way that they take a local path for in/output and when they are going to be published the provided alternative for the FME Flow resources path is used.I cannot find my bookmark on how to do this and did not come to anything useful when searching the net.Does somebody have a tutorial on how to configure the user parameter that it uses the local resources when run in FME Form and the FME Flow resources when run in Flow?
Hi all.I’ve encountered a strange issue, when I made a small workspace to help me encode and decode strings on the fly.Apparently you can’t a TextEncoder and a TextDecoder in the same workspace at the same time !??What kind of dark magic is yielding this error ?I even made each of the two transformer into separate custom transformers, but the error was the same.In 2025.2 beta
Hi there,We have a plethora of web connections in FME Flow from various people publishing workspaces. now that we can use FME Flow as the web connection repo, I would like to tidy these up and ensure a better naming convention/structure.What would be the best way to do this?I think we have to:download every workspace, open them and audit the connections, build a table to show where all the connections are used, create new ones that adhere to our standards, update all workspaces and republish to Flow, ensure any workspace apps have permissions on the new connections delete old connectionsDoes this sound right? Thanks,marc
Hello. Fairly new to FME, so might be a bit over my head.I’m trying to create a validation workflow that compares 50+ files against 3 main ones. They all have the same structure, except the geography field name that is to be used for the comparison.The 50+ files are all named with a similar structure > final_DOMAIN_GEOG_Distance or final_DOMAIN_GEOG_Driving. Pretty much the files are divided by domain and 3 geographies.The 3 main files are a compilation of all domains and GEOG. My thought process was to have 2 csv readers (1 for distance and 1 for driving) and a few parameters that would read the user choice for domain and geography and read the csv accordingly. I have two issues:the parameters for file path seem to work but the csv schema remains the same (eg, it’s reading the original reader before adding the parameters), so it doesn’t update the field name with the geography, when it’s different form the original one is it possible to create parameters that can be used in the tra
Hello Forum, I am reading in two .csv files into FME Form... csv 1Candidate_UPRNs.csvThis has just one column: candidate_UPRN. It contains 100 records. Each record contains a UPRN value in the candidate_UPRN attribute.Note for those outside UK: the UPRN is the unique property reference number (UPRN) from the Local Land and Property Gazetteer (LLPG). As the name suggests, the UPRN is unique and can not be repeated. UPRNs are managed in the LLPG. csv 2LLPG_PAs.csvThis is an extract our entire LLPG with around 169,000 records. It contains multiple columns including UPRN. I want to filter LLPG_PAs.csv down so that I am only using the records that match (using the UPRN value) with the records in candidate_UPRN.csv (i.e.: the 100 records). Before I take the workspace on further from that point I need to establish the filter first. I’ve looked at SpatialFilter, but not sure that’s ideal. Any advice would be welcome. Thanks,
Hi, I am getting this error:An error occurred while attempting to insert a row into the table ‘ABC’ using a cursor. The error number from ArcObjects is: '-2147217323'. The error message from ArcObjects is: {The cursor has been invalidated by an edit operation.} I am experiencing an issue when trying to insert features into a feature class stored in an enterprise geodatabase. Specifically, I am both reading from and writing to the same dataset. I haven't encountered this problem before, but it began after I set the Feature Operations to "Upsert" while updating existing records and inserting new records that are not yet present in the database. I suspect that performing inserts and updates simultaneously may be causing a disruption with the cursor. I also attempted to use the Feature holder, but I received the same error. This disruption is affecting the automated process. Does anyone know what might be causing this error or how to fix it? I would greatly appreciate any assistance!Thank