Creating and organizing workspaces. How to use Workbench.
Recently active
I am trying to clip a ECW raster by a rectangle polygon but the inside output is incomplete. Only a small slice of the ECW is in the output as you can see below.Is there something I am doing wrong? FME 2023.2Thank you for your help
I have a large Workspace that processes multiple .dwg files along with a single Excel and .dbf file to generate one Excel file with multiple sheets. This works fine when I have feature caching on, but obviously takes a long time. When I try to run it without feature caching, the feature output is a fraction of what it should be, but still gets data from all the multiple dwg files selected, as opposed to grabbing from one file. The only thing that comes to mind is that without feature caching, it does not wait until all features are processed. So, what am I missing? Is there a ‘WaitUntilAllFeaturesAreProcessed’ transformer or setting? Or, should my approach be some flavor of batch processing? I haven’t seen anything in this forum that matches my situation. Any insight is appreciated. Thanks,-Loren
Hey ya'll, I've been playing around with deployment parameters in Flow and Form but I have been wondering if it's possible to use an existing deployment parameter in Form, without a database connection that has the same credentials? So for example accesing database X through deployment parameters without having database X defined in your local database connections. I've tried to but to no avail.
Hello,Hope for your advice how to implement my idea.I have an FME workbench that is triggered by web application. In case workbench failed, I need to update a record in PostgreSQL database. I wander how I can implement this, because if process already failed, how I can run SQLexecutor transformer after that?I thought about Automation, but what would be the trigger in this case? I don’t see anything suitable in the list. Taking into account that I don’t need to run workbench by trigger, since it is triggered by user in web application.The main need is to let application know that FME workbench has failed. There might be some obvious solution for this which I don’t know :)
Hello Forum, What is the best method for moving an entire folder (which includes subfolders, each containing files) from location A to location B? I’ve looked into File Copy, but that doesn’t seem to do the job. Well, I couldn’t see how it can told to do so. In addition there didn't appear to be a writing option (to set the destination location) within it. I’ve also look into the ‘Select Multiple Folders/Files option in FeatureReader. I can see that I can select an entire folder but it’s asking for a Format. Typically when using a FeatureReader, say for reading in a shapefile, I’d choose ESRI Shapefile. But this is different. Here I’m picking an entire folder with contents. So, what ‘format’ would I choose, if indeed this is the right approach? I’m keen to get this sorted as I need to place a schedule on to it through FME Flow. Thanks,Stuart
Hello,I am trying to write several files in NetCDF format with FeatureWritter; but after writing the first one it gives me this error: NetCDF writer: Failed to define variable. The error was 'NetCDF: String match to name in use' If anyone has experienced this and can help me First of all, Thanks
When I open an “old” FME workspace in FME 2024 I get the following confusing dialog:attributes unsupportedIt is related to a Bufferer and what I want to do is use fme_geometry in a subsequent Tester to find out if the feature has become a donut.So I wondered if “fme_geometry” is deprecated, but it doesn’t seem so.What is this all about ? What are disabled attributes ? If I leave them enabled: why can I do so ? Who disables the attribute ?I use FME for 20 years now and I am completely confused.
Hi, I am trying to publish a file to a certain folder once per month by using FME workbench. Currently, the file is generated daily with the filename format of YYYYMMDD. And in the destination folder, there is a single file for each month, e.g. 20240101, 20240203, 20240302, etc. For example, if I run the workbench and generate the file on 20240601, the file should be published to the destination folder as there was no existing files in the folder with YYYYMM=202406. However, when I run the workbench again on 20240602, the file should not be published to the destination folder, as there is already one for 202406. Any help would be appreciated.
Hi all,I can’t seem to get the Offsetter to properly take this geometry - it keeps rejecting (properties below).I broke out this to another workbench and it worked find with a simple solid - just wondering what is happening here as I can’t seem to figure it out. The geom. disappears after the offset.Any clues as to what is happening?Thanks!
I am on Form 20240521, build 24219 on Windows 10 and I am getting the error stated in the title. Following the discussion in I checked my path. FME is in the path and the path currently has a length of 1652 characters.The plugin directory exists and there are 62 directories and 400 files inside…The error warning shows up several times, two times in relation to two different FeatureReaders (version 14) .FeatureReader 1:format: shapefile error: Error prepending 'C:\Program Files\FME_23781\plugins' to path environment variable.FeatureReader 2:format: geopackage error: Error prepending 'C:\Program Files\FME_23781\plugins\gdal' to path environment variable.The next time the error shows up is in relation to a FeatureWriter:format: Esri Geodatabase (File Geodb) error: Error prepending 'C:\Program Files\FME_23781\plugins\..' to path environment variable.Any suggestion on how to deal with this, apart from what was mentioned in then earlier thread?
I need to create unique Ids for a point feature class. Also, when a new point is added to the class I need to the unique Id created automatically when the workspace is run. I have created a workspace that includes the File Geodatabase Point Feature Class Reader then the Counter Transformer to create a new field named _count and a new field in AttributeManager named Facility_ID. All the unique Ids will be formatted as follows: BLDG-000000001, BLDG-000000002, etc…When a new Building Point is added to the Feature Class, the Facility_ID field will automatically be populated with a unique ID in sequence increments of 1; example if the highest unique id in the feature class is BLDG-000000109, then when a new building is added it’s unique id will be BLDG-000000110. What else do I need to do? any assistance is much appreciated.
We have FME Flow (Windows 2024.0.1) installed in an EC2 instance in a VPC. The DynamoDB reader uses the public endpoint: dynamodb.<region>.amazonaws.com.Can this be modified to use a VPC endpoint?For example: vpce-0a06cf963f9d04a28-3wilx6xm.dynamodb.us-west-2.vpce.amazonaws.com We need to do this for all AWS endpoints, S3 and SQS.Thank you,Kathy
I am currently working on updating and maintaining a workbench from a previous colleague and am having a little trouble with adapting to a certain aspect of the output schema that we need to follow. The shapefile that we are reading from has multiple very close together lines representing the different vertices of a kerb feature, anywhere from 2-5 lines. Without manually removing the excess lines, is there any way to only keep the lines that would represent the back-of-kerb, or rearmost line.
Hi FME'ers,I wanted to write up a brief guide to connecting transformers (and other objects) on the FME canvas, and rather than making a full blog post out of it as I've done before, I thought I'd experiment by posting it in the forums here.So here's a quick guide to the shortcuts for connecting transformers. I'm hoping that it covers any techniques you might not be aware of. Guide to Connecting TransformersMethod 1: Drag and ReleaseI'm sure you all know this method, but here it is anyway:You drag a connection from one port and drop it at a second port.Method 2: Quick Add with InsertHere we have a connection between a reader and writer feature type. The workspace author wishes to place a transformer between them. Rather than place and then connect the transformer in a number of steps, the author can do it in one by pre-selecting the connection:In other words, whatever is selected when you use Quick Add, that's where the transformer is placed.Method 3: Drag-a
The Swedish DOT offers extensive road data as Open Data. It is packaged in an ESRI Personal Database (mdb) with 120+ tables. I want to dynamically load all of the data into Postgis for local storage.However, quite many fields, scattered in the database structure, are of the type CHAR with a width of 2147483647 (sic!). Of course, no post contains that many characters, and FME tries to convert these fields to VARCHAR with the same width. This breaks the translation with the message that the type VARCHAR cannot exceed 10485760 characters.So in short, I need a way to filter and catch all tables with fields of the type CHAR, with a width of 2147483647 and alter the width to either the actual content of the field, or a static value that does not truncate what's in there.Regards, Mats.E
Hi, I have a JSON return form a HTTPCaller with schema info. An example of the return looks like this:{ "name": "Administration", "properties" : { "Id" : { "type" : "number", "required" : true, "description" : "The given Id for the object" }, "GeoType" : { "type" : "string", "required" : true, "description" : "The type of object" },The json continues here with more schema info.I want to turn the information into a table like this: I have 82 other JSON returns with the same layout but other “name” values and exposing them all takes to much time. I have tried to use JSON transfromers but so far no succes.Is there a more dynamic solution to transforming the return to my desired solution?Thanks in advance,Sander
Hi, I’m working on a script that takes building footprints and outputs different lines inside them (crosses, diagonals, centerlines) depending on the type of building. I have achieved good results for square buildings and buildings that only require a centerline. See picture below.But when it comes to buildings with more complicated shapes it doesn’t work as well. Some buildings turn out acceptable, like these ones below:But some shapes turn out pretty bad, like the ones below: I’d rather that they would look something like this:I guess I would have to make the buildings into separate polygons to achieve these results, if it’s even achieveable. Does anyone have any ideas? I’ll attach a copy of my script
We have a polygon dataset with roads and we need to find the roads than are less than 13 meters turning radius. We kan also create centerline dataset with the polygon. We imagine that someone out there has done this before. We need this datasett to find which roads the fire trucks will have problems to drive.
Hi! I am transforming data from different sources. The data travels at different speeds through their own workflows and end up at my Excel Writer at different points in time. This in itself is not the problem. It’s because I have specified a Fanout function in the name of the file all the data/features are being written to that the problem appears. The Fanout contains hours and minutes, the name of the file begins with:“@Timestamp(^Y).@Timestamp(^m).@Timestamp(^d)_kl.@Timestamp(^H).@Timestamp(^M)...“ Since the data gets to the Writer roughly a minute a part I end up with two written files with only part of the results in them. The two files get different names with only a digit’s difference. For example:File 1: “2024.05.30_kl.12:55...”File 2: “2024.05.30_kl.12:56...” I can obviously solve the problem by removing the hour and minutes from the Fanout in the file’s name. But I would really prefer to keep it. I have been looking for something to pause and sync the data before putting it t
I have a flow based around a main SQLExecutor that runs of different levels of aggregation depending on the input parameters, and the most conveinient and efficient way of doing that is to add or remove parts from my SQL query based on said parameters. While the problem looks simple on its face, I have not been able to find a good solution for that.As evidenced by the following thread, FME doesn’t have a function for this kind of conditional string substitution. The best it has is the ternary operator.However, said ternary operator is only supported in the Math Editor, not the Text Editor that SQLExecutor uses. The next best thing I have found is to use the @Evaluate function to give me access to Tcl’s ternary operator, provided I can express these sections of my query in a way that is valid in TCL.select @Evaluate("$(WHOLE_DAY)==YES ? {date_trunc('day', period_start_time, 'America/Toronto') as period_start_day,} : {}") @Evaluate("$(COMPUTE_HOURLY)==YES ? {date_trunc('hour', peri
We have a SQL .bak file which serves as a template for a database schema. Normally this .bak is restored manually via MSSQL, where the name of the database is specified.The goal is to be able to dynamically create a database on a known server, where the name of the database is derived from processing within the FME workspace.Is there a script that can be run from a SQLExecutor in FME to make this possible?
Can I ask a quick imagery / coordinate conversion question?I have lots of historic imagery files, the imagery are all flat tif files, not georeferenced whatsoever. I also have the corresponding .IF files (never heard of IF files) as shown below which contain georeferencing information. If I convert the tifs to geotiffs using the extent information below they all end up in Southern Ireland instead of Nottinghamshire UK. Any ideas what this Cassini projection is, or how to fix this….??I need to get these files into 27700 British National Grid# Extent information...extent minx = 28967.7430000000 miny = 267567.5460000000 maxx = 31381.6970000000 maxy = 269176.9600000000end# Cassini Projection...projection number = 33 zone = 32767 units = 2 ellipsoid = 9 parameter 0 = 6377563.3959999997 parameter 1 = 0.0066705398 parameter 2 = 1.0000000000 parameter 3 = 0.0000000000 parameter 4 = -1.1972600222 parameter 5 = 50.61770629
Hello Forum, We will have a polygon dataset of construction sites. The dataset will be managed within QGIS collaboratively by several planning officers. When the officer adds a new polygon object they will add a end date. This is the end date of the individual construction site project. Once that end date is reached the record needs to be deleted. I could ask them to manually delete it in QGIS when the date is due. However I’d like to take that overhead off them and replace it with an automated way of deleting records. Is it possible to build in a process to consider the end date value and then filter records accordingly? One port would go to all records where the end date has not yet been breached (this will be my published layer). The second port would filter all records where the end date has been reached (this will become a ‘historics’ layer). I’m assuming the end date value would need to be in a particular format (datestamp, perhaps). Thanks,Stuart
Is this possible?I would like to create a self service map generator. There will be basically 2 paths that the user can go, interior or exterior maps, and features (door points, fire alarms, bike racks, etc) can be chosen to be turned on and shown in each map. This data all lives in an ever evolving SDE. And my idea is that all the parameters the user picks will be building an ArcPy script that is manipulating an ArcPro project.I’m laying out the base plan now, and would like to gather some ideas/input before starting off.Here’s an example of what I want this service to do, and my initial thoughts of going about it:Basically the user selections from the parameters will build an ArcPy scriptI will have 2 ArcPro Map projects, one for Interior, one for Exterior The user will select if they’d like to see the interior/exterior. If it’s interior; the interior ArcPro project has a map series created from every floor of every building from the “floor” layer (field called bldgFlr). Therefore w
Hi,I have a workspace to translate a Shapefile to DGN. The shp file has a attribute wich I can filter data to output in three different levels. In this levels, two of them, only have contour style, but the other one is full. When I write DGN file, the level with full style is on the top, so the other levels are hidden under this one. I've tried to put the level number in an attribute called idgs_level, but it doesn't work. I've also tried to put the level number in the writer parameteres, but doesn't work. The issue is, how can i control the order of the levels?Thanks