Creating and organizing workspaces. How to use Workbench.
Recently active
After switching fme workbench off have got such error. What can I do with it?
Hello, fellow FMEers. I'm very new to Python and to the PythonCaller, but we all need to start somewhere. I have wrestled with this problem basically all day and I still don't get it to work. I have a textstring "A=0,5m, B = Bredd 0 m, C= Reduktionstal". From this string I want to extract the value between "Bredd " and " m" - in this case it is 0, but in can be 10, it can be 10.2. I'm attaching an image of my progress so far... And the PythonCaller script so far: import fme import fmeobjects import re def FeatureProcessor(feature): substr = re.search('Bredd (.*) m', feature.getAttribute('text')) feature.setAttribute("substr", substr) I have often come across this problem and I really want to learn how to solve it. Pls help! Peter
I have a workspace that is run from a workspace runner, the final thing it does is fire off a soap message to a web service, as long as it gets a response it determines the workspace to have been a success. I want to look at the response and if it isn't what I was expecting I want the workbench to output through the failed port of the workspace runner. I am hoping there is some kind of flag on the workspace that I can change to cause it to output through the fail port? Any help much appreciated Regards Jim
I am running fme 2015 (64bit) on a virtual machine. The Hyper-V server works with dynamic memory management, this leads to nearly 80% memory "blocked" by the hypervisor. In theory, the hypervisor should unblock more memory to the virtual machine, when a process like FME needs more memory. But instead, the FME optimizes its memory before and this leads to FME.exe process running with a limit of 200 MB on a virtual machine with 8 GB RAM. This only occurs using FME 2015, I did not have this behaviour running FME 2014. May be the Resource Manager improvements in 2015 are a problem? UPDATE following @david_r 's suggestion, the fme.exe process gets more memory when using "FME_ENGINE_MEMORY_REDLINE 1", but a smaller value than 1 does not work to get more memory. Let's see what happens when the process hits the ceiling... UPDATE Our IT has risen the minimum RAM of the virtual machine to 4 GB, this seems to solve the problem. The FME process is now using more RAM w
I have a SQL script that does the job but it takes too long (over 20 hours). I am hoping FME can perform better. Script is below:- select Land_No, PropNum, Property_Address,b.SCHEME_CODE, b.ZONE_CODE, p.Geometry, p.SP_Geometry, ROW_NUMBER()OVER(PARTITIONby p.Land_No ORDERBY p.Land_No)AS Dup INTO CI_Plan_Zone from LandVic.dbo.PropParcelOwner p, [External].dbo.PS_Zone b where p.SP_Geometry.STIntersects(b.Geometry_SPA.STBuffer(-0.1))=1 regards Phil
I am using FME desktop and when the process completes I want to send out a email. I have that working but I also want to attach the log. I am not sure how to do that with the attachments parameters in the "PythonEmailer" Any help woudl be awesome.
Hi FME community, I am trying to build a custom transformer whose settings are controlled by an external (Excel) dataset. For this purpose, I want to add an Excel-reader that provides the values for the individual attributes. However, the columns of the Excel file are treated as attributes instead of parameters. Is it somehow possible to interpret the attributes of the Excel Reader as individual parameters? The solution with a seperate workbench containing a workspace runner (who has the Excel Reader as an input) works but is rather cumbersome. Greetings, André
Dear I have two polygon shapfile one capture in 2010 from sat image and the other one capture after 2014 from aerial photo the idea is some time more than one polygon fill or intersect with 2014 polygon so my target is to select the polygon from 2010 intersect with polygon 2014 with max area only (that mean select one polygon ) polygon with the max area , see the picture and you will know what I am talking about ... the system will calculate the area and select the polygon with max area (for example the below pic show the polygon number 3 because it has the max area , .... Thanks Eng.Najd Hanahnah
Hello, I have a workbench that creates a line from a source point file then uses a spike remover to remove erroneous points from the line. For the removed points I want to reassign them their original attribute from the source point file. I know the original attributes are stored in a list by the point connector, but I don't know how to assign the correct attribute to the correct point (using list manipulators I only seem to be able to assign ALL the original attributes to the point). How can I assign the original point attribute to the flagged point? I have included a screen grab of (one of my many attempts) my workbench and some example excel data. In the example data PT30 is excluded from the line and output as expected, but I can't output it with "PT30" as the ID attribute. Thanks!
Simple setup: A large number of Line features (millions) needs to be overlaid with a set of Area features (25000). So a simple LineOnAreaOverlayer is used. This process is very slow and I am running into memory problems even with FMEx64. I have an attribute on the Line features that can group them into about 250 groups. So a case for parallel processing I thought (with which I have limited experience). My problem is with the Areas. I want to process each group Line features with the same set of Area features. So I want to re-use the same set of Area futures for every batch after initial input. I cannot seem to think of a good idea to accomplish this. Even with a Custom Transformer. The Area Features do not have the group attribute and for various reasons each batch of Line features must be intersected with all Area features. The only (fairly inelegant) solution that I could come up with is to cross join the Area Features with the list of groups using a FeatureMerger but that also
How to aggregate a matrix of attribute values into a single row
I am using a dynamic reader (WFS) that will have multiple datasets with different attributes going through it. Using a dynamic writer , I want to be able to use a wildcard in Attributes to Remove to remove any attribute that has the suffix : xsi_nil. I have been trying to use variations on ' *xsi_nil ' but it doesn't seem to like wildcards , or have I just not hit on the correct syntax? Thx
I am looking to run a python shutdown script and need some help getting started. i am very new to FME and also new to python. My goal is to use database updater tool and then have a email sent out when the database is updated. I wanted the script to first update the database and use the python emailer to email me it is complete. Only issue I found is the databases updater has no out so I cant email once done. So was told about a python shutdown script that could handle that and was curious how to do it. Any help would be great. Thank you.
I have a large text file produced on a Unix system containing bank records for around 27,000 entries. The sample file attached shows a small snippet of how the file is structured - which is all on a single line. Each entry contains a 31 digit number. In a text editor I simply do a regex search for [0-9]{31} and replace the matches with the matched text plus a line feed character in front of it. Thus the text file gets restructured as per the screen dump with one record per line. Is there a way of achieving this in FME? The regex stuff seems a bit clunky. I worked out that the stringsearcher transformer will only pick up the first occurrence of a match. A transformer from the Store is available called RegularExpressionMatcher is available which finds all occurrences and sticks them into a list. Where I go from there is what I could do with some help with please. Thanks James
I have an Id field in a table & need to add the max id + 1 to a new set of features with the same field name
Has anyone used a transformer or knows how to split a line that crosses the International Date Line. The problem I have is an area that one point is W179° and the next point is 179°. Anyone know of a solution.
There used to be a functionality that you could add a constant on the workbench and connect it to a field in the writer and it would be added as a value to that field. Has that been replaced by a transformer? If so, what?
Could you please lemme know which transformers come under aggregate tranformers?
Hi Looking at the FME online help for lists, I want to create this type of list in PythonCaller and use it in Workbench as a list: somelist{0}.length = 7.3 somelist{0}.kind = ’paved’ somelist{1}.length = 8.4 somelist{1}.kind = ’smooth’ somelist{1}.lanes = 2 somelist{2}.length = 1.1 somelist{2}.kind = ’rough’ I've created a simple list (element with an index) but struggling using fmeobjects and other libraries in the PythonCaller to create and set this complex list. Anyhelp from the Python Jedi out there? Thanks
Hi Is it possible to use FME cloud instead of FME server for work flow managment? ie run chained work flows which rely on the output of the previous step/s Many Thanks Lucky
I'm looking for a way to send an email from FME Desktop. I went through this post but I cannot solve the issue: https://knowledge.safe.com/AnswersQuestionDetail?id=906a0000000cqUpAAI I have used "TCLEmailer" and "PythonEmailer" but I got the same error of the above post. ------ Python Exception <SMTPException>: SMTP AUTH extension not supported by server. Error encountered while calling function `email' PythonFactory failed to process feature ------ I disabled the antivirus but without any improvement. I'm using Gmail for the emailing and I'm aware about the Gmail setting: Email server: smtp.gmail.com Gmail SMTP port (TLS): 587 Gmail SMTP port (SSL): 465 Please for your support. I would be glad if anyone have a workspace with data sample or demo for the Email from FME Desktop.
I installed FME 2015.1.2.1 on my computer and tried to use the transformer gallery search but it displays "Search is unavailable". Any ideas? Thanks.
Hey FMEpedia, I'm trying to automate the the running of a 2 step process required for multiple admin areas. My current process is: 1. Workbench with workbench runner kicks of step 1 (for multiple admin areas at a time) 2. Once all admin areas have been processed - redirect workbench runner to point to step 2 Ideally I'd like to have a python shutdown script (or something of that ilk) within step 1, which would process step 2. Problem - The documentation for python shutdown scripts states you shouldn't use fmeobjects within a shutdown script...however this example highlights that it can be done. I attempted to follow the example code, but it is dated 2013, so could be redundant to 2015...can anyone assist with: a. Writing a python shutdown script to kick of new workbench, b. Can you use fmeobjects withn a shutdown script? #FME Variables import fme, fmeobjects status = fme.status runner = fmeobjects.FMEWorkspaceRunner() #Path to Workspace current_workspace_dir = fme.macroValues[
My Process has several Reader: DWG-ReaderTAB-ReaderECW(Orthophoto)-Reader optionalPointcloudXYZ(DEM)-Reader optional I want to adjust my FME process so that my colleagues have to make no adjustments on the actual process. They are not familar with FME. The colleagues should only press the "Prompt an Run Workspace"-Button and then select the files which are needed. The ECW and DEM files are not needed every time. At the Parameter (Type: Filename(Multiple)) Published and Optional are activated. The Process only run when i select some ECW and DEM files. When i don´t select i get this error message in the log: INFORM|POINTCLOUDXYZ reader: Directive '_FIELD_NAMES' has the value 'NO' |INFORM|POINTCLOUDXYZ reader: Directive '_FIELD_NAMES_AFTER_HEADER' has the value 'NO' |ERROR |POINTCLOUDXYZ reader: Failed to open file '.' for reading. Please ensure that the file exists and you have sufficient privileges to read it |ERROR |BADNEWS: A fatal error has occurred. Check the logfile above fo
Hi I need to find coincident points from different geodatabase database and assign a unique id to those features Facts: I have 2 database (A and B) with same feature classes.Database A is a subset of Database B from a content perspectiveFrom schema perspective Database A and B are sameSo if Featureclass BXX will have 2000 features then Featureclass AXX would probably have 1800 featuresI need to assign all the 1800 features from Featureclass AXX and BXX same incremental idFor e.g first feature for coincident feature in FC AXX and BXX will get id 101. Second coincident feature from both FC will get ID of 102 and so on.For the remaining 200 features from BXX will also get a unique id but there won't be anything assigned in feature class AXX as there are not featuresMost (not all) of the attributes are same on both these feature class.I also have a lat and long field in addition to shape field - they should match as well. The challenge is in finding the coincident features in a fashi