Creating and organizing workspaces. How to use Workbench.
Recently active
Hi everyone, If I'm using the Dynamic Schema to write out, can I create a sub-folder based on input formats or elsewhere? I've got a workbench I want to publish to FME server, it's quite basic. It takes shp files, runs them through a GeometryFilter and then adds appropritate statistics, i.e. for points it add the coordinates, for polygons it adds areas, etc. They write out to three different destination folders using dynamic schema: \\data\\Tasks\\Geometry_Statistics\\Writer\\Points \\data\\Tasks\\Geometry_Statistics\\Writer\\Polylines \\data\\Tasks\\Geometry_Statistics\\Writer\\Polygons These all appear as published parameters in FME server, what I'd like to do is have it so users can just specify: \\data\\Tasks\\Geometry_Statistics\\Writer\\ with FME doing the rest, i.e. dynamically creating the sub-folders. I've worked out you can link the destination to a parameter, but I can't see how you can make that parameter kind of dynamic, i.e. choose between
Trying to copy an SQL file to an external FTP site. Using FME 2013. Here is the script: import fmeobjects import ftplib import os import glob # FTP Section print 'Connecting to FTP Site...' # Connect to FTP site s = ftplib.FTP('ftpsite','city@ftpsite','password') # Point to file to send f = open('Z:\\DataExport\\FME\\Other_Exports\\Export\\REALTY_LISTINGS_DATA_test.SQL','r') # Send the file to FTP site print 'Sending file...' s.storbinary('REALTY_LISTINGS_DATA_test.SQL', f) print 'Finished Sending file.' # Close file and FTP connection f.close() s.quit() I'm getting the following error, why? Python Exception <error_perm>: 500 ? Error executing string `import fmeobjects I am assuming Python is installed with FME. Do I have to do something else to make this work. Never used Python before. Copied most of this from a sample. Thanks
Hi, Wondering if there is a solution to this problem: When using the 'Sequenced Table Columns' Format Parameter on the Oracle Writers (allows you to specify an Attribute and Sequence to populate that Attribute with the next value from the sequence) but I couldn't use it with a Fan Out. If all Feature Types used the same Sequence that would be OK. But if one Sequence per Feature Type I couldn't get it to work. Any suggestions?
Hello, I have a bunch of mapinfo line.tab files that I want to merge together. Each .tab file is in a seperate sub directory e.g. /test/one/line.tab /test/two/line.tab /test/three/line.tab I want to add a 'dir' text column to each layer before merging that is populated with the files sub directory name e.g. line.tab layer in the one directory will have a new column added 'dir' and be populated with value 'one' line.tab layer in the two directory will have a new column added 'dir' and be populated with value 'two' ...etc I see that hte AttributeCreator transformer can populate data columns, however I'm unsure how to get the data in the format as stated above. thank you
Hello, I have a simple workbench script that reads in one shapefile. Using the DuplicateRemover I remoev all features that have a exact value. My writer is going to another shapefile. How do I keep the original columns/attribute values of the orginal input shapefile why removing the duplicate features. thanks
Hello everyone: Now I have an excel,the item in it has fild " ID ?GID... "?the“ ID” sometimes has same value.if the “ID” is unique ?set “GID = 1”?And if there are two items have same “ID“?set the first item's "GID = 1",set the second‘s “GID = 2“? I use the DuplicateRemover one after another can sove it?But I want use a Loop then there's somthing wrong . the Loop features can't be check by the DuplicateRemover ,they all transom output from the duplicate cort? Any one can tell me something about this
Hello FMErs, I have a dataset with a large number of attributes I want to write to KML. Since most of the fields for any one record will be empty I'd like to check each field of each record and remove the field if it does not contain data. The search criteria for each field are the same so I'd like to loop the attributes from an array of some sort. I've looked at lists and looping in custom transformers but I can't quite see a path. Any suggestions would be greatly appreciated, Alan
We have more than one FME Engine installed on our FME Server host. The Engines have different Versions, e.g. one Engine is 2012 and one 2013. This is inevitable in order to keep older workbenches functioning due to a lacking downward compatibility. So far with FME 2012 Server I was able to define on which of the engines a service will be run by assigning a parameter such as 'tm_fmeInstance Engine1' on the FME Server Console command (line). With FME 2013 Server this does no loger work. How am I to control the engine on which a service will be executed?
Hello My question refers to the What's New Info which comes with FME 2013 SP1 The What's New in the "latest" official FME 2013 says for the latest change: BUILD 13264 20130207 The What's New for FME 2013 SP1 starts with the oldest entry: BUILD 13400 20121109 and ends with the latest entry: BUILD 13448 20130319 My questions: Why is Build 13400 from Nov. 2012 when Build 13264 is from Feb 2013 ? I thought Build numbers are counted upwards ;-) What happened between 13264 and 13400 ? I' m sure there is a simple answer, but still I am confused ... Michael
I have tested the TopologyBuilder in FME 2012, FME 2013 and FME 2013 Server (64bit). Processing the data of approx 3milj. lines (street network) in FME 2012 takes approx. 5 hours. With FME 2013 it takes over 22 hours and in FME server it takes over 50 hours (has not reache the end yet). I noticed that the transformer has been rewritten in the new FME version (since it is different from before). I suppose it is a bug! Does anyone know of some other way to build the topology with FME?
Hi, I would like how to group and ungroup feature types from reader groups in the navigator pannel I have a 150 shape files in a work bench split over about 40 groups (Readers), however I would like to alter the readers are grouped without breaking the work bench model. Presently they are in the groups based on what shape files i selected to add a single time Thanks Matt
Hello: I have this code on my python shutdown script. I am invoking a second workbench, but I would like FME to prompt for the parameters upon execution, so the second workbench runs with its own parameters, according to whatever the client decides to enter: import pyfme import os import subprocess logger = pyfme.FMELogfile() fmeExecutable = os.path.normpath(FME_MacroValues['FME_HOME'])+'\\fme.exe' workBench = os.path.normpath(FME_MacroValues['Workbench_To_Run']) # initiate materialized view refresh if changes to either source if FME_TotalFeaturesWritten > 0: logger.log('Eecutable '+ fmeExecutable) logger.log('Updates detected, executing materialized view refresh script - ' + workBench) args = [fmeExecutable, workBench] p = subprocess.Popen(args) Unfortunately, the call to the second workbench runs with the default parameters, and never prompts for values. How can I : - Make FME
Hi I have a custom transformer F(a,b) I wish to 'chain' or loop an unknown number of times. (Its a customized raster overlay basically putting b on top of a) Example For six inputs features (images): 1,2,3,4,5,6 the followin should be done: result = 1 result = F(result,2) result = F(result,3) result = F(result,4) result = F(result,5) result = F(result,6) bangs head in wall :p How can this be achived? best regards!
Can you document this transformer? The help text only says: ListFromFilteredKvpList Creates a new list with all element which match a filter condition. FME Function Used: @Tcl2 Keyword: Lists
I'm trying to run a batch process using the cmd prompt and am stuck on an FME_EncodeText error for my input source shapefile. The workspace just reads in a shapefile datasource then converts it to various formats and fanouts based on basename. Any ideas Y:\\web_processing\\Projects\\Teranet\\postgis_clipper>fme.exe shp_parcel2multi_2013_02_18.fmw --src_shp Y:\\web_processing\\Projects\\Teranet\\postgis_clipper\\parcel_tiles_2013_03\\parcels_1\\parcel174355474302013tera\\Label.shp --FEATURE_TYPES "" --kml_fanout_directory parcel_tiles_2013_03_fme_kml --dwg_fanout_directory parcel_tiles_2013_03_fme_dwg --dgn_fanout_directory parcel_tiles_2013_03_fme_dgn Feature Manipulation Engine 2009 (20090106 - Build 5658) FME Professional (node locked-crc) Permanent License. Machine host name is: server17 Copyright (c) 1994 - 2009 Saf
Hello: I am trying to implement this portion of Python code on my shutdown script, but I don't get it to work: import pyfme import fmeobjects import os import subprocess logger = pyfme.FMELogfile() fmeExecutable = os.path.normpath(FME_MacroValues['FME_Executable']) workBench = os.path.normpath(FME_MacroValues['Workbench_To_Run']) # update the File Change and Population logs if translation successful if str(FME_Status) == "True": myWorkbench.updateFileChangeLog(FME_MacroValues['FMW']) myWorkbench.updatePopulationLog(FME_FeaturesWritten) # initiate materialized view refresh if changes to either source if FME_TotalFeaturesWritten > 0: logger.log('Updates detected, executing materialized view refresh script - ' + workBench) args = [fmeExecutable, workBench] p = subprocess.Popen(args) -- Runtime errors: FME_END_PYTHON: evaluating python script from string... Pyt
Hello: I have two FME programs: 1) Loads data in one spatial table 2) Loads data in another spatial table I would like to : - Keep these scripts independent, so script 1 can run on demand and to its thing, and - Script 2) can call script 1), for extra processing. My problem is, how do I invoke Script 1) from Script 2)? They both do different data processing, but it will be great if one can call the other. I am struglling with how to invoke Script 1, because there is no way "to trigger" its processing. I would like that, once Script 2 is done, it automatically triggers Script 1. Is this possible to do? I have been trying to do this with WorkspaceRunner, but I don`t get it to "run" Thanks again. Richard.
Kia-ora all, I am trying to use FME to implement a pseudo regression analysis. I have a workbench that performs a core process that comes up with 1 output value to tell me how well various parameters are corellated to a known result. This depends on a bunch of parameters (8 in all), and I need to run through testing each possible combination of parameters (256), turning them on and off, to find the best combination. Now I can create this scenario quite well with nested custom transformers, with each one just setting a parameter to 0 moving to the next nest level, then setting to 1 etc. Last level of nests is the bit where the core processing actually happens. This effectively loops through all 256 possibiities, without technically looping in FME. But I am discovering that this is probably not the most efficient way to do it, as each extra nest adds a load of time to actually working in workbench, as presumably it always has to think of how anything I do affects any nests undern
Hi, Me again. I want to use the date and time the workspace is run as the output file name. At the moment, I am using a creator, timestamper and featuremerger to add the datetime attribute, then using fanout dataset on the datetime. This seems a bit of a clumsy way of doing it, as the featuremerger is slow when processing lots of features. Can anyone think of a better way? Really I want to tag all features with the same value. I could do this by creating a published parameter, but cant think how to populate it with date/time. Thanks, Owen
Hello, Is it possible to only prompt for a published parameter choice depending on the input of another? An example would be, only ask for an input parameter if a particular format was chosen. Owen
Good afternoon. I need to pass in as a published parameter the WHERE clause to the ArcSDE Geodatabase reader. I have created a published parameter named SQL and when creating the ArcSDE Geodatabase reader I attempt to use the parameter in this manner: WHERE Clause: $(SQL) However, attempting to do so causes the below error: Undefined macro `SQL' dereferenced in file `C:\\DOCUME~1\\rolan002\\LOCALS~1\\Temp\\FME_1362421243497_6256' Program Terminating Is it possible in FME to use a published parameter with the ArcSDE Geodatabase reader? Also, is it possible to pass in the SELECT and FROM clauses to the reader, too? (I would need to do this because my statements are coming from a web page and are highly dynamic; if I can't do this, I could live with just passing in the WHERE clause and having a slew of workspaces to handle the possible user inputs from the form). Thanks much. Joe
I have recently had occasion to need to iterate my workspaces; that is, to run them multiple times on varying inputs. When I need to do this on a group of files, I can pretty easily write a shell script to launch the workspace with a different input and output dataset for each of the input files. However, I am now trying to extend this method to iterate over the feature types (in this case, Microstation .dgn levels) within a single file. I can't seem to figure out a way to implement this, though. I need to publish a parameter that controls which level is processed. However, I can't seem to do that. I can't create a reader for a single feature type and publish the parameter that picks which one (it is greyed out), and I can't read the whole file and filter it, because I can't seem to link the actual filter variables to a published parameter. There is probably a way to do this, probably not even using shell scripts, but I can't figure out what it is. Any i
Sometime back with in FME Desktop, if I am correct FME 2003 X2 release there was this cool option in FME to enable in Windows Explorer, summary information on the reader, writer and transformers used in mapping files and workspaces. I am unable to see this functionality in FME Desktop 2013. Am I missing something or is this functionality not available now! Regards SRG
Has anyone had to import a feature class' from a GeoMedia SQL Server Warehouse and maintain the rotation? I have some Water Valves as a reader and I am simply importing into an GeoMedia Access dbf. When I re-add the feature class from the GeoMedia Access dbf the valves all come in at 90deg. I want them to maintain their geometry rotation..... any thoughts.
Prior to FME 2012 I have created custom transformers that have a published parameter of an attribute name that is passed to the custom transformer. If I wanted to set the value of the attribute passed as a parameter I used the AttributeSetter transformer with the Attribute set to the published parameter containing the attribute name. How do I accomplish this in FME 2012 given the AttributeSetter has been replaced with the AttributeCreator? I tried manually typing in the parameter name into AttributeCreator Attribute Name field but no luck. I feel like I am missing something obvious and hopefully some one can fill me in. Thanks, CA