Creating and organizing workspaces. How to use Workbench.
Recently active
Dear FME community, with the AttributeFilter I can successfully route features to different output ports, depending on the value of an attribute. Is there a way to add output ports for the format attribute fme_basename as well? I have some Excel files read from a directory, but if I activate the sign on "Show format attributes", it doesn't show any format attributes. Is there a trick on how to add the filename of the Excel files as an transformer port? Kind regards Thomas
I would like to know if it is possible use conditional value for the requestor and supplier in a FeatureMerger in order to achieve something like this: IF Requestor's Attribute_A = 'some_value' JOIN Requestor's Attribute_A WITH Supplier's Attribute_A ELSE JOIN Requestor's Attribute_B WITH Supplier'S Attribute_B I have made many tryes, but it seems we cannot change the Supplier join attribute in function of the Requestor's attribute value.
Morning all, I'm trying to translate data for web mapping, but the amount of reading means that this is taking a long time to do. I was wondering if there is a way to set up a work bench so it itterates through a directory reading and then writting a gz file before moving on to the next one?
Hi, I have a csv containing >250,000 features and around 50 attributes, which I want to sum based on a common property (e.g. a suffix/preffix in the atribute name). I've done this before on smaller datasets, by using AttributeExploder to transpose the attributes; adding the common feature I want to base the sum on using AttributeValueMapper; aggregating them and pivoting the output. However, I think with this many attributes it will be quite memory hungry, is there an alternative approach I could take - possibly using SchemaMapper or something? Thanks, Ed
I would like to run the same workspace (like loop perhaps?) many times depending on the values (numbers) in the list or depending on the value comprised in each file if easier. I.e. one by one value as input to workspace and data for this values as output. This workspace will be published to the Fme Server and used by users having no experience of FME. Currently this idea is realized with Python, but I will be happier to avoid Python and have full focus to FME only. Any suggestions?
Hi all. I am trying to read a polyline feature using the FeatureReader. Since there are a lot of features I try to limit the features to be read by the third tab "Spatial Interaction" in FeatureReader configuration but somehow I do not find what I am looking for: Setting the option to "Select only features that intersect with the INITIATOR feature's bounding box" I only get the features that intersect the initiator missing the ones that are within the initiators boundingbox. Setting the third option with the given interactions I somehow miss the option to combine the interactions - I can only choose one. In my case I would like to combine Intersects and Contains for example. My workaround at the moment is to load all features, clip them and test the "outside" features for _clipped=yes. Is there a better way? Thank you in advance!
Hi Everyone, I'm trying to translate an table in one Oracle database to another Oracle database. From production to development for this case. The problem is that FME will not write a RAW Oracle datatype. This appears to be intended functionality since the message I get from the FME log is "Oracle Reader: Skipping column '<column_name>' of Oracle Spatial layer '<schema.table>', which is reporting a data type of 'RAW' " Can anyone give me some insight into wether this is intended functionality or if it is buggy?
I am using the free FDO provider in AutoCAD Civil 3D and connecting to a XML document (sample listed below) but when the XML is read in and flattened the OS_TOPO_TOID element is converted to a number rather than remaining a string; how can I get the XML reader to keep the OS_TOPO_TOID as a string? <Row> <OS_TOPO_TOID>0001000012320820</OS_TOPO_TOID> <OS_TOPO_VERSION>4</OS_TOPO_VERSION> <BHA_ProcessDate>2014-02-12</BHA_ProcessDate> <TileRef>SX99SW</TileRef> <AbsHMin>69.4</AbsHMin> <AbsH2>73.7</AbsH2> <AbsHMax>73.9</AbsHMax> <RelH2>4.3</RelH2> <RelHMax>4.5</RelHMax> <BHA_Conf>99</BHA_Conf> </Row>
Hello! I have what I assume is a basic question that I have not been able to find an answer to in the knowlegdebase. When I select a number of files in a reader and use "Single Merged Feature Type", which attributes are shown in the "User attributes" pane? The files I have selected have some common attributes and some unique, but only a small number of them seems to be shown here. How does FME decide which attributes are shown here, and does the small list reflect which attributes are output? My limited experience with FME suggests that all attributes are also present in the output file, but I would rather be completely certain. Thanks for any answer!
Is it possible to use an main.fme workspace in WorkspaceRunner Transformer ? Thanks to explanations of Takashi Memorandum [1] I have an FME workspace that calls another using this transformer. [1] http://fme-memorandum-takashi.blogspot.com.es/2013/09/workspacerunner-examples.html So, this works perfect: But, If I use main.fme instead of main.fmw the process fails. Thanks, A.
I need to run a parallel flow to import 8 million points in a database versioned . I have a flow Import_Points.fmw with two parameters (source and version). It is possible execute simultaneous .bat (point_1.bat, point_2.bat,...) to the flow Import_Points.fmw? See image please.
Hi, I have a directory containing a number of files, but I only want to read in specific files into the workbench. I concatenated a list of the filenames into a single attribute with each filename separated by a colon (eg: filename1:filename2:filename3). Then I input this into the FeatureReader as the Initiator. In the FeatureReader I used the Advanced Browser to select the desired directory and the desired file extension. Then for "Query the feature types specified in the attribute below", I selected my Initiator attribute that contained the colon separated list of filenames. However, this does not work, and all I get output from the FeatureReader transformer is the filenames attribute from the "Initiator" output stream. The files I want, are are not read into the workbench. Any ideas on what I'm doing wrong? I have looked through other posts and is it anything to do with the fact that the Initiator and/or the files I require are not in Oracle? Tha
Hello, I have a complex workbench on FME Desktop 2014 that transforms a input file Geodatabase to a GML compliant with an user define schema. This workbench is working and now I would like to use it with input files in gml format (obtained from file Geodatabase, so both have the same structure). One solution is to create a copy of the working workbench and modifying only the input conexions, but if is possible I would like to maintain only one workspace. My idea is to create two workspaces: one with the main ETL tool and other with the transformer that selects each format (gdb or gml). I don't know how to develop that format chooice. Could you give me any advice about how to solve this problem ? Thanks in advance. Ari
Hi, I added new attributes to my writer and I'd like to make a list to a new attribute. Is it possible? Thanks
Hi, I have a number of FME workbenches set up that read from a particular table in Oracle. This table is subject to regular changes such as adding/deleting/changing field names. Instead of constantly deleting and then re-adding the Reader in FME, is there a way to simply refresh the Reader so that it now reads the updated Table? Thanks,
I'm having trouble writing a python startup script that prevents my workspace from running if it finds a data issue. My FME workspace syncs data between databases. I want the python startup script to read the source data and look for errors (dupllicate ID's, null ID's, etc). If the python script finds any of these errors, then I don't want the workspace to run. Instead I want the startup script to email me using python's smtplib module. I've written all the logic python logic to find the data errors and email me. However, the workspace still executes after the error is found. Is there something I have to add that tells the python script to not allow the workspace to run? I guess I could force a dummy python error or something, but that seems kind of hokey. Thanks for any help you can provide. My startup script is below: import fmeobjects import collections def countNullsAndDuplicatesInField(dataset, unique_id_field_name, reader_format, parameters)
Hi, I need to run a python script outside FME and I wonder if it is possible to use the interpreter provided with FME instead of installing another version of the same interpreter on my system. If it is possible, are there any examples of such usage ?
Hi, I would like to set the folder name of the source file to a published parameter, so I can use the folder name in the output directory filepath. I have found in another post, the following TCL script for returning a filepath: return [file dirname $FME_MacroValues(SourceDataset_SHAPE)] Can someone please tell me how to amend this script so that it returns only the folder name not the whole directory? Or if the TCL option is not possible, any other ideas on using the folder name in the output file path? (btw, I manage to extract the folder name within the workbench and set it to a published parameter, but the workbench still asks me for the published parameter when I run it, so it isn't working. I'm assuming this is because the output directory needs to be set at the start of the workbench so because I set the published parameter within the workbench it is too late). Thanks,
Hi, My workspace reads 2 file geodatabases containing both several feature classes. 10 parameters (5 for each file geodb) are set by the user (or other workspace): - min/max XY (4) - max features to read (1) All file geodb parameters are linked to the correct published parameter. When running the workspace all parameters are ignored and all data is read. Even removing the published parameters and setting the reader parameters manually does not solve the problem. Even manually setting the parameter "max features to read" to "0" results in reading the complete dataset. Workspaces are created in FME2014 SP3 (build 14391 - WIN64) Any insights on this issue? Kind regards, Rob
Is there any way to test a database table to see if a feature exists before loading new records? I am setting up a workspace to load data from a csv file into an existing sql server db table. I want to check that none of the features in the csv exist in the sql server table before loading. I have been trying adding a reader of the destination sql server table and testing against the csv using the tester transformer. I have the tester set so that a unique attribute from the csv should not equal the same field in the sql server table. When this runs it loads records from the csv AND all the records from the sql table. I just want the features from the csv loaded
I have a custom transformer that uses a python caller to create a list where the name of the list is a published parameter (listName). Normally on the python caller I would set the expose attribute to myList{}.value but in this case I thought it would be $(listName){}.value, however that syntax doesn't appear to work. Any suggestions?
Does anyone know a way to feature grouping based on an attribute? For example: I have 100 feature with the zip code field. In the 100 feature there are 5 different values in the zip code. The transformer should have 5 outputs for each value of the plz field. Thanks!
I'm starting with a small dataset of GPS coordinates and apply a spatial filter to only keep points that fall within a geofenced (polygon) boundary. I now have a subset of points that can be grouped further by an attribute column used to store unique integer values (specifically unix/epoch time values, e.g. 1414538606, 1414539194, etc.). These groupings are determined by the range of the integer values, where I would like to associate records that fall within a range of an arbitrary limit (in my case 1200). My desired output is the number of groups identified (the actual attributes are meaningless for my purposes). I've attached a screen shot to illustrate my problem. The (blue) highlighted records are the points that fall within my polygon area and are immediately next to other (highlighted) records that should make up the desired group. My illustration displays 11 records that should produce 4 groups representing 4 separate instances in time that my GPS device enters m
Hi, I am using FME2014 and I have two custom transformers that are used in my workspace. The first customer transformer that is used has inside it a VariableSetter which I set to a Global Variable. In the second custom transformer I use VariableRetriever to retrieve the Global Variable. But it doesn't seem to work. Are you able to retrieve variables in CustomTransfomers? Note: I have set both custom transformers's Attribute References Setting to: Advanced - Fix Manually
Hello all! I think it's a very fundamental question and yet, I didn't find anything about that topic on the net: I have a lot of different feature-types defined in an Oracle DB and several attributes of this feature (i.e. construction_type) are set via codelists. Meaning in the feature-table there is a column construction_type_cl_id, in the codelist itself there is the corresponding id and a text-value for the construction_type. I should transform this schema into another one, without this codelists. My question now: How can I check for certain ids in the codelists, get the corresponding string, and then based on that string search for another id in a different codelist for to reclassify the features? Thanks in advance for any input! Regards Markus