Creating and organizing workspaces. How to use Workbench.
Recently active
I have created a linked custom transformer with a loop and a spatial filter. In this transformer I check if a line feature intersects with an area, but only if they belongs to the same group. So I thought I had to use the Group By parameter in the spatial filter. The problem is that my custom transformer does not work with the Group By parameter. I mean, if I do not define a Group By some lines pass the test (but not belongs to the same group) but if a define the Group no line passes.This is my first custom transformer, so, any suggestions would be appreciateThanks in advanceVíctor
I am totally newbee to FME. I have CSV file with all layer names and its corresponding field names and field types. There are two additional columns called destination field name and destination field type with values in them. I can read particular layer based on some calculation. The problem is I want to write the selected layer attributes like field name and destination field name into a CSV and use this csv file in schema mapping to map the fields field name -> destination field name. The input to the schema mapper is coming from feature reader which dynamically reading from esri gdb. For better understanding please look at the workflow and let me know how can I map the fields and write the data into postgis database with new field names and new structure.
My colleague and I have both an FME license. We use a workspace to bound pictures (jpg) to trackpoints from a gps (gpx) based on their time. When he runs the workspace it takes about 10 minutes for 5000 pictures. When I run the workspace it takes about 10 minutes for 100 pictures. Our pc's are both very good. Similar cpu's (i7 5930). I have 64gb ram. He has 32 gb ram. I have a nvidia quadro K4200. He has a gtx 1080.
Hi all, I'm having a hard time describing the issue I'm facing so I'll just show what output I need.I need two writers: The first writer contains POI_NAME and POI IDs. (unique values) The second writer should output the POI IDs found in the first writer but with two additional attributes TYPE / TYPE_VALUE that can hold various strings. (Basically I have no clue on how to populate POI_ID with identical values but TYPE / TYPE_VALUE with different values)Reader:First writer: Second writer: Thanks,Ed
Hello, would be glad to find the solution: to use comma in variable by WorkspaceRunner. For example, i have Mainprozess and subprozess. In mainprozess will be define: what IDs will be needed. And after in subprozess i Need by dataimport to Import only the data with these ID's (to Import all data takes too much time). So i need to write Comma in the WorkspaceRunner, like this: obj_id in {'1000000000000106996011','1000000000000118176003'}But this statement does not work as i needed. Do u have some ideas? Greetings, Anna
I have a fme workbench that is run from a scheduled task and .bat file. I am just wondering if I can check if there is a floating license available before the workbench is run. Is this possible?
Hi all, I have two environments of FME Server: dev and prod. Based on the hostname, I want to set several parameters:FME Server connection for notificationEmail addresses are different...I do this with very simple Python scripts like:_hostname = FME_MacroValues['FME_SERVER_HOST']if _hostname == 'XXXXXXXXXXX': FME_Connection = 'fmeserver_prod'else: FME_Connection = 'fmeserver_dev'return FME_ConnectionThis works well on FME Server, but I cannot run this Workspace any more on Desktop. When filling in a value for FME_SERVER_HOST on Desktop, Python does not seem to be able to get to the FME_MacroValues. Anyone some advice on how to solve this?
I simply would like to set up a dyamic Reader in PostGIS that will read all the tables I select at runtime, then having a postGIS dynamic writer connected to this reader that would copy the same geometry, schema definition and data from the reader, the name of the table will be the name of the of the original table plus underscore, something like "original_table" => "original_table_".Though it seems a very simple task to accomplish I tried in many ways but I cannot get FME to do it. I tried to follow the tutorial https://knowledge.safe.com/articles/1157/dynamic-workflow-tutorial-destination-schema-as-a.html but I get first a warning:Cannot find a matching schema named 'name_of_db_schema.original_table_' in the known set of schemas: 'name_of_db_schema.original_table_. Known schema sources are: 'POSTGIS_1'. Please verify writer feature type configuration.Then an error message:POSTGIS Writer: Fanout for feature type 'name_of_db_schema.origina
Just wondering, how can I give different priority to run couple of streams in one Workbench, I want to run one of them and then run the others . thanks.
We have a workspace - published in FME Server - that crunches a bunch of data, writes out one or more records to an Excel file, and then kicks off an FMEServerJobSubmitter to a second job that reads in the Excel file to update some features in ArcGIS Online. Our issue is that the second FME Server job fails because the Excel file it is trying to read is still in the process of being written in the first job. How do we ensure the Excel file is done writing in the first job before the second tries to read it? We are running FME Desktop and Server 2016. Thanks,Aaron
Hi All,Is it possible to retrieve the services available to a workspace via a call to FMEServer.getWorkspaceParameters or similar? For example, I can get a list of repositories and then their workspaces - this works fine.I need to know what services are then available (e.g. Job Submitter, Data Download etc). Regards,Simon
Why does FME Workbench save some workspaces as text files and some as binaries?When workspace is stored as text file in xml format, we can try to compare different versions and to find differences that have been applied to workspace.It is really important in case of code review and especially if something is broken in new release and it is not dependent on input data.
Dears FME comunnity members. I've a cloud of point with ID and a type (Start/end) along a linear. I would like to make a dynamic segmentation for keep cut lines between two points with same ID and different types. The aim is to extract linear concerns by two points and exclude other linears.You can see an explication of my problem with a draw in attachment.Thank you very much for your help.
I'm trying to get a range of dates as a new features.For ex: if the date range is 02/01/2018 - 02/06/2018, Output features has to be like 02/01/2018, 02/02/2018, 02/03/2018, 02/04/2018,02/05/2018, 02/06/2018Any thoughts please? Thank You
Looking for a way to preset job directives in a workspace so customers don't have to set them. Can you do that with FME_SERVER_REQUEST_PARAMETERS or another parameter in workbench before uploading it, or is there a config/setting somewhere in the web UI to change it?Use case: Have customers hit the data streaming url endpoint which submits the job, but jobs get submitted with a 100 priority tag, so sometimes they don't complete in the needed time frame. Don't want to have customers set priority or other job directive tags because they could potentially stop other critical jobs needed to run.
Hi guys, I'm trying to read a WMS using a FeatureReader. Using an ordinary reader works just fine, however, creating a box and use it as input for a featurereader (same params etc) yields no result. Regards, Helmoet de Zwijger.
I have a bunch records that I'm aggregating. After this, I'm applying business rules and based on what's outputted, I'll know which of the original records I want to parse differently (i.e. not through aggregation, business rules set #2). I want to go back to the beginning of the workspace to allow these specific records to pass through in its original format. How do I do that?I'm thinking of aggregating the unique ids of the records I want, and use this value to test against the original records, like: ID in @Value(aggr_ids_to_keep), but then the record that has the aggr_ids_to_keep attribute will be its own record.Here's another way to look at what I mean. The recordset would be like {0:n,m} where 0:n are the original records and m is the one with aggr_ids_to_keep. In this scenario, how do I get m to compare against 0:n?
I am trying to find one or multiple ranges of values within a list in the most efficient way.My list-attribute looks like this: (1, 2, 3, 5, 6, 7, 9, 12,13,14,15,16).I would like to end up with the following result: (1-3, 5-7, 9,12-16).Is there an efficient way to do this without coding? Maybe using the variable setter?Since I am using only positive integers, my current way consists of adding 1 and substracting 1 to each value, then using mergers to find out, if the corresponding next value upwards or downwards exists, and then dividing my values into classes: - values that were not assigned the next upper or lower value --> keep as single value- values that were assigned upper only --> keep as lower value- values that were assigned lower only --> keep as upper value- values that have both --> ditch.
I have my parameter values in a SQLite table. I am able to access each value though a Python scripted parameter that opens the table and retrieves the value. However, this means that I have to open and close the SQL table one time for each parameter. Is there a way to make multiple parameters that can be read by the readers and transformers, perhaps in the Python startup script?
Hello,What is the best way to monitor the FME server "health"?If there are many of jobs being submitted I would like to know as soon as possible that the server will go down because of the overload. It would be great if I could get it from any logged information.
how could an app get data, via the notification feature of FME , without using the email notification i mean how could we push information to the other system and topic is triggered, any example.Thanks
Hi,Is it possible to call the s3Uploader transformer using a python shutdown script? My workflow currently uses a python shutdown script to convert the FME output data into a number of proprietary formats and now I would like to upload these proprietary files to AWS S3. I would preferred to do it all using a single work bench without install extra python modules(ie Boto3) Thanks
Hello everyone,I am trying to utilize tiler for parallel processing in FME Server environment. Workbench that has tiler transformers and parallel processing enabled, runs fine in FME Desktop environment. However, if i try to run the same workbench via FME Server, it throws the following error: Tiler_2_PointCloudTiler(PointCloudTilingFactory): The keyword TILE_ROW_ATTRIBUTE has incorrect arguments. The clause must look like: TILE_ROW_ATTRIBUTE <attribute name>, where <attribute name> is the name of a new attribute that will be added to output features Any help with this issue would be much appreciated. Thanks! Boris
Hi,I'm trying to find a transformer that's able to create a new attribute, check my data for different conditions based on values from multiple different attributes, and subsequently add to the value of the newly created attribute WHILE these conditions hold true. Something like an "overall score attribute".I put while in caps because with the attribute creator there are only "if" statements. I'm not a programmer, but I know that with if statements, as soon as one holds true, the scripts stops. That is what seems to happen with the attribute creator transformer that I have been using. I could be mistaken of course. Like I said, I'm not a programmer.However, I don't want that. I want the program to keep checking all conditions and adding to the "score attribute". How do I do that?So basically something like this: if/while attribute1 >= 10, add 1 to new overall score attributeif/while attribute 1 < 10, add 2 to new overall score att
Hi everyone,Here is my problem. I upgraded my FME Desktop from the 2014 version to the 2017.1 and I have an issue regarding a specific workbench.I use the FeatureReader transformer to read DWG files, and it works fine in FME 2014, but it doesn't in FME 2017.1. The execution is sucessfull but it seems that it reads only partially my DWG files (the output is not right), I have this error in the log : AutoCAD Reader: An error occurred for dataset '\\\\XXXXXX\\data_BD_Topo\\Topo\\1024500-6281500.DWG', in function AutoCAD2004Reader::read. Exception thrown: 'Invalid input' (Invalid input)MULTI_READER(R_2): Skipping to next ReaderI've tried to set a new FeatureReader from scratch, but I have the same problem...Any ideas ?? Thank you in advance,Fabien Laganne