Creating and organizing workspaces. How to use Workbench.
Recently active
Hello everybody,Last year i was programing some scripts in python that use the FME module call fmeobjects. Now, I am using FME 2017 (last version) and I want to use these scripts but they show me some errors.Before I put the following lines in my code to import the libraries:fmePydPath = "C:\\apps\\FME\\fmeobjects\\python27" #Python FMEfmePath = "C:\\apps\\FME\\" #FMEif fmePydPath not in sys.path: sys.path.append(fmePydPath) #Try to add pathif fmePath not in sys.path: sys.path.append(fmePath) #Try to add pathSomeone knows the directory for the new site? because I read that the directory is now in "C:\Program Files\FME" so i tried to put this code:fmePydPath = "C:\\Program Files\\FME\\fmeobjects\\python27" #Python FMEfmePath = "C:\\Program Files\\FME\\" #FMEif fmePydPath not in sys.path: sys.path.append(fmePydPath) #Try to add pathif fmePath not in sys.path: sys.path.append(fmePath) #Try to add pathbut i get the next error:"ImportError: DLL load failed: %1 is not a valid win32 applica
Hi,I´m trying to extract data using an ArcGIS Server Feature service reader which is going okay. For some of the layers I´m getting the following error:Python Exception <UnicodeDecodeError>: 'ascii' codec can't decode byte 0xe5 in position 10: ordinal not in range(128)I´m guessing the problem relates to some characters in the tabel of the layer which can´t be read by the ArcGIS reader? Or could the problem relates to the transformer being programmed in Python 2 instead of Python 3 (which i´ve been told is handling encoding-problems better)?I only need the geometries (and the layer names), so is there a way for me just to be able to read the those?If that´s not possible is there a way for me to encode the tables so that I wont get the error-message?Thanks in advance :) Christian
Everything is in the title.
I have merged a spreadsheet with a points dataset. The spreadsheet contains multiple records which will merge with a single point. There can only be a single point and we need to store each set of records on the relevant feature. To do this the requirement has been specified that each records attributes will be stored with a prefix, e.g. 1_AttributeA, 1_AttributeB, 2_AttributeA, 2_AttributeB etc. The maximum number of records in each spreadsheet is unknown so I have used a ListElementCounter to identify this and then a ListIndexer inside a custom loop transformer which should prefix the attribute names for each set of features. FME Inspector shows the attribute names correctly as above, but when output to a file the attribute names are shown e.g. @Value(Prefix)AttributeA. AttributeRenamer and AttributeManager can't handle the output either, indicating in red that the attributes don't exist.Any ideas?Thanks!
Hi - I'm reading in one Esri File Geodatabase using the ArcObjects Reader (not the open source API reader) and writing out another with a subset of the data in it. The Writer uses a 'Reader as a Resource' to control the schema dynamically and also uses an empty Geodatabase with the same schema as a template file, to ensure that featureclasses that are sent no features by FME still exist (but are empty) in the exported FGDB.My problem is that I am getting a warning that I can't engineer out of the process:WARN |User field name 'OBJECTID' conflicts with value of feature type parameter 'Object ID Field' ('OBJECTID') for table/feature class 'd_y_n59'. User field will be ignoredThis appears for every featureclass I'm trying to write, so 105.I know that the incoming data has the OBJECTID and I know that the FGDB needs to create it. On my dynamic writer the FeatureType sets the field and the alias to 'OBJECTID' by default. I'm pretty confident that the result is good, even with the warnings
How do I retrieve the lowers and uppers bounds in a discontinuous list of values (alphanumeric)?Example of list: {5, 6, 7, 8, 10a, 11, 15, 16x, 17, 18, 19, 20, 25} The extraction I'm looking for would be: 5-8, 10a-11, 15-20, 25Thank you
I have just installed FME Desktop 2017.0 in OS X (El Capitan) and when I run FME Workbench, I get the following error:Invalid scale reduction specified in coordinate system definition 'Calgary_3TM_WGS_1984_W114'FME won't open
I made a curious observation... if there are no transformers following a python caller, the "close" function of this python caller won't be called before the whole workspace successfully ran... And this puzzles me ! (I made three distinct/separated workflows in the workspace and noticed that, if the third workflow ended with an error, the writers the first and second workflows were successfull, but the python callers closing functions had never been triggered even if every feature ran through the "input" function ) Is that how FME is supposed to work and why ?
Hi All,After log in to the FME server with its credentials, it fails to connect and returns this message “Could not connect to FME Core. Please ensure that it is running” I used FME Desktop and server 2015.1.0.2.What might be the issue here? Best,Lubna
In FME 2016.1 , I have noticed that FME always tends to creates a ArcSDE featureclass in the Reader's Feature dataset by default even though the Feature Dataset value on the writer is set to empty. The reader and writers are both using the ArcSDE Geodatabase formats. Is this a know issue? and Is there a fix for this?
I have created a crosswalk from multiple shapefiles that a) reads a look up table b)writes the values to a geodatabase and c)populates a field called "DataSource" with the source shapefile names. I have a field called "city" that needs to have city values populated based on the value in the "DataSource" field. My approach was to set a condition statement in the target field properties of the writer using If/Else If/Else statements. Didn't work. Please see screen caps showing parameters and desired outcome.
When reading very large amount of spatial data from a Database within the FeatureReader, the process could take a very long time. Is it possible to pause the reading, while reading within some time intervals?In fact, I have a database locked at night for updating daily changes and I would like to pause the FeatureReader (if currently running) during the night and resume the next morning.In advance thanks.
Hi there, I am trying to digest multiple CSV files from within a certain directory. To do this, I have created a CSV Reader that has a Source CSV folder with the parameter: _"<my file path>\\*.csv"_. I need to remove the processed file from this directory after processing which I would do via python shutdown script by getting the filename that has to be removed (actually - it would be moved into a directory). In the past when I only processed one file, I was able to grab the file location directly from the reader, which is of course now the <filepath>*.csv . I have used an Attribute-Exposer to get the filename- but I haven't figured out how to use it in my shutdown script? Am I missing something obvious here? Is there a way to either: - set a Python variable with the filename (I would be surprised) or - set a publish parameter at run-time? Thanks in advance!
Hi, I've just run into a curious problem with a conditional expression in the AttributeManager.? I'm comnparing two dates in the "FME Date" format (%Y%m%d), setting an "expired" value to either "true" or "false" based on the conditional expression: @Value(dt1) > @Value(dt2) But it seems like the expression is always satisfied, so my output is always "true", regardless of the values involved (and some should definitely yield "false"). As a workaround I added a Tester transformer, with the exact same expression, and that worked as expected. Has anyone else run into this, or have any insight into why the conditional value errs ? Cheers
Example: http://playground.fmeserver.com/csharp-request/Shows String body starting with the words "PublishedParameters" is that required?The reason I ask is that there is another download example with an HTML form that takes in simple value pair inputs with out the "PublishedParameters" label or title of the json. String body = "{\\n" + " \\"publishedParameters\\" : [\\n" + " {\\n" + " \\"name\\" : \\"MAXY\\",\\n" + " \\"value\\" : \\"42\\"\\n" + " },\\n" + " {\\n" +
I'm working on a project for FME Server where a user will be able to pass variables into a URL and get a download of a dataset. One of the requirements that I'm hitting a snag on is how to create a parameter that can be used to name the output file (geodatabase, pdf, or shapefile). Right now it's defaulting to dataset.gdb.TIA,David
Hello,in the picture there are lines and polygons. Both have a code attribute. The idea here is to clip the lines with polygons having the same code! E.g. for polygon 791238(one the left of the picture), lines within yellow block having the same code as this polygon, and they need to be clipped. So I thought the process will be: for each polygon: select the lines having the same code as the polygon clip selected lines with the polygonHow can I do this in FME? Or are there approaches?Thanks!
I have 2 workspaces on our FME Server with the first calling the second using FMEServerJobSubmitter. One of the parameters that the second workspace expects is a password. This is the password to our AGOL account. The parameter is defined as password so it should be hidden. The parameter is also defined as password in the first workspace and the first workspace would pass the parameter to the second workspace via FMEServerJobSubmitter.However, after running, I reviewed the log of the first workspace at the step where it executes FMEServerJobSubmitter, it was logging all parameters being passed to the second workspace and had logged the password value in clear plain text. This allows all users on FME server to be able to see the AGOL password.The log of the second workspace also shows the parameter values, but the password was correctly logged as *** .Please fix this security bug!
I wrote a batch file fme workbench.fmwrobocopy process_folder share_folder /COPYALL /E /IS /NPthat run during approximately two hours and at the end of the translation I'm copying the processed file to another folder that is shared with many users. The issue that I'm havcing is that the robocopy action starts before fme frees the last translated file.Is there anyway to oblige fme to free all the files before the next action in a batch files? I know that I can add a timeout action but this means that I would have to try several times to determine the good time to be set when calling timeout.
We are currently planning on using Environment Variables to set the output location for Workspaces put through the Job Submitter Service on the server. I was wondering if there is a better way where we can set a parameter within FME Server for the same purpose?
Hello Everyone,I hope someone can assist me with 3 FME Workbenches. Each Workbench does an HTTPCaller that writes to a file (on the local network) then uses that file as a source for the rest of the Workbench.Whenever I run these Workbenches of Server, they run successfully but with 0 features written. I use the exact Workbench and run it from my Desktop, they also run successfully and with the correct number of features written.I would like to figure out why there is a difference, make the necessary changes and then schedule them on the FME Server.Thank you
I have a dataset which needs joining. I need FME to identify which attribute values differ between touching features along the split, preferably producing a single attribute containing a message eg. "These attributes differ: #, #, #, etc". There are hundreds of attributes and I can't think of an easy way to do it.Thanks!
In a Python startup script, I want to access Published parameters (to test whether an Oracle non-spatial Source Dataset connection is to our test or production environment). But the only examples I'm seeing in the documentation are for TCL startup scripts. If anyone has an example of accessing published parameters in a Python startup script that would be very helpful.
Using FME Desktop and Server 2016.1, I created a workspace that uses FMEServerJobSubmitters to start a series of jobs on the FME Server, all depending on the previous job.This process works as designed, even with just 1 engine.But if another process has claimed the engine, the workspace fails with the error that no license is available.I would have expected my job to go to the queue.Has anybody else experienced this behavior of the job submitted via FMEServerJobSubmitter?If so, can this be avoided in any way?
Not sure whether this is a bug or a works-as-designed but I've just noticed this with FME 2016.1I have started with an empty workspace and added 2 Shapefile readers, which I renamed to "OLD" and "NEW" (setting up a simple ChangeDetector demo). I then realised I made a mistake, so I deleted both readers and re-added them. However, on re-adding them, even though they were pointing to different shapefiles as before, the names were automatically set to "OLD" and "NEW".It keeps happening, so if I delete NEW and add another Shape reader it'll be named NEW. If I add a reader for another format it'll get a default name, if I then add another Shape reader it's again named NEW. It kinda looks like the 1st Shape reader in this workspace will be called OLD and the 2nd one NEW.Right now that's totally fine with me for what I want with this demo, but I'm just wondering whether this is how FME is designed to work :)