Creating and organizing workspaces. How to use Workbench.
Recently active
Hi, can you please have a look at this issue and see if it's a bug that needs fixing?https://knowledge.safe.com/questions/42262/to-use-comma-in-variable-of-workspacerunner.htmlMy colleague stumbled into the exact same issue last week. We had to work around it by substituting the comma for something else, then using a StringReplacer in the child workspace to restore the value.
Hi @NatalieAtSafe,I am using FME(R) 2016.0.1.0 (20160130 - Build 16174 - WIN64) desktop. In child workspace, i have changed the publish parameter type to 'Text (Multiline)'. In parent workspace, when i am passing two numbers comma separated in workspace runner, Comma automatically gets replaced by '<comma>'. Eg. I am passing '123,345' but it is passing '123<comma>345' to child transformer.
I have 8000 polygons of varying areas and shapes. I want to divide these into equal area polygons.I am looking for a similar functionality to the land parcel editor in ArcGIS. My shapes look something like this. I have already considered the options where we intersect the shapes with a fishnet. This doesn't suit my purpose as I end up small clippings on the edges. Also the number of newly created polygons will depend on the size of the original polygon. What I am hoping to achieve with the expert advice from FME gurus here is to divide each of the polygon into 4 parts having equal areas. Thanks in advance.
I've heard that there are some users out there doing really cool things with python scripted parameters to help move workspaces between different FME Desktop installs and FME Server as well!!I'd love to know what FME users have been up to on this front! Please share your solutions.
Hi,I have published a workbench to FME server(2016) as job submitter service.This service will be called from an oracle table trigger (using utl_http.write_text(req, message)) and then the FME webservice will call the workbench(2016) in which i am sending a message to another webservice using HTTPCaller transformer's Post method.Now the question is:1.How to handle in case my FME call from the oracle trigger was failed for any reason like the FME server down or something else?2.How to handle if the HTTPCaller to the webservice from the workbench is failed for some reason?Is there a proper way to handle this issues? Any help would be much appreciated.Thanks,Mari...
The LogFiles in FMEServer are put in separately folder, depending on thenumber of digits, see https://docs.safe.com/fme/html/FME_Server_Documentation/Content/ReferenceManual/About_Log_Files.htm“<LogDir>\engine\current|old\jobs\<number>\job_<value>.logWhere valueis the job ID and number is the job ID group,which increments by thousand. Logs for job IDs from 0 - 999 are grouped into a0 directory, Logs for job IDs from 1000 - 1999 are grouped into a 1000directory, and so on.”Is there an variable on FMEServerfor this <number>? I need this in my Shutdown-Python-Skriptto get the logfiles independent from the number of digits.Here my Shutdownscipt:import shutilimport fmedatei = r"job_$(FME_JOB_ID).log"number = r"1000"src = r"C:/ProgramData/Safe Software/FMEServer///resources/logs/engine/current/jobs\\" + number +"\\" + dateidest = r"$(OUT_COMBINATION)"shutil.copy(src, dest)
I'm trying to use a string that contains $() (dollar, left parenthesis, right paranthesis) via a published parameter in a HTTPCaller.I'm having trouble using a text/string like that because, depending on the transformers used,either the part "$()" simply disappears, orFME throws an error: "Undefined macro `' dereferenced"I tried to create a feature using the PythonCreator and also Creator + AttributeCreator, however both fail with the error mentioned above. Screenshot of my test workspace:I thought about escaping the string but that didn't work either (no error, but backslashes "\" remain in the text):\$()\$\(\)What is the right encoding or escaping sequence here? I tested FME Desktop 2015.1 and 2016.0.
Hi All, I'm starting to use FME server and notification service. I managed to publish a workspace notifying some information by email when it's completed (with a TextFile writter...). It works when I manually run the workspace from the FME server. Now I would like to send the same notification when the workspace complete, but on a scheduled way. It seems to ignore notification information specified when publishing the workspace. And in the schedule parameters page you can define what Topic it should post to but not what data to post (and so you cannot specify that you want to post the output of the TextFile writter), it posts the standard information (job id, time infos, etc.). Is there a way to solve this problem ? Maybe I missed something... Thank you!
I'm looking for a solution to make my workspace a lot more dynamic for my use. I'm working on a easy to set up workbench where MariaDB (MySQL-compatible) Spatial reader and writer are connected with an AttributeManager in between. I would like to add my fmw to the server with some parameters that can set the Table list as prompt input data. The SourceDataset_MYSQL is already a prompted parameter but i cannot find a way to set the Table list/table name as a parameter. Any idea how to set this?http://docs.safe.com/fme/2017.0/html/FME_Desktop_Documentation/FME_ReadersWriters/mysql/MYSQL_reader.htmConstraints -> Table List
Hi,We are building a data extraction tool based on FME Server. This application build a form dynamically based on the published parameters. It needs to work in french and in english. Since i18n isn't possible on parameters descriptions and alias, we need to rely on a custom format that we put in the descriptions. The application has an additionnal step of parsing the descriptions to get the french or the english names/descriptions depending on the current language of the user.Is there any plan to support i18n on parameter names and descriptions?Is there a different way to manage that then the one we use?Thanks!
HiWe are trying to provide a service where a user can click a map and then get back information on all the planning constraints at this location. I can do this using an address search but people may want information for a piece of land without an address.I'm sure FME can do this but can't work out how!
Hi,I have used the FilenamePartExtractor many times with good results. It is very helpful to be able to pass the root folder of the data to other transformers. I have a similar requirement for a workspace, however in this example I wish to use the folder above the root folder as they attribute. For example, if I am reading the Source data from this pathC:\\WINNT\\Profiles\\user\\Desktop\\roads.shpI wish to use the 'user' folder to fanout the Writer to create an output folder 'user'. I will then fanout by fme_basename to create the roads.shp within that 'user' folder.In this instance the FilenamePartExtractor does not work as it it does not cater for anything above the Folder Name/_dirname = 'Desktop' Can someone help me out to extract the 'user' component of the file path so it can be used as an Attribute Value for Fanout?ThanksAndrew
I haven't seen a solution to this problem anywhere despite the fact that the question has been told several times. Scenario: 1 reader and 1 writer. In published parameters you can choose one or many destinations (used by the writer). If one destination is chosen it's pretty straight forward but how do we do when several destinations is choosen? I want to copy all features from the reader to every destination that is selected in the published parameter. I.e. I want to loop the FME-script as many times as there are destinations selected. It sounds simple but not for me, please help me out on this one.
Folks,I have reviewed the questions with similar key words and try as I might I can't get a result. I suspect syntax or upside-down logic is the issue. I have been using conditional syntax all over my workspace so I know the basics.It's a classic output value after testing another field. However the test is a little backward.If Type IN "AB","BC","CD" NO OUTPUT Else OUTPUT sizeSo my criteria is rejection criteria rather than acceptance criteria. The issue is it seems to be getting completely ignored. I have reduce the IN to a single known Type and still no result.I have modified the syntax to include\\not include double quotes, single quotes, no quotes, taking care to remove white spaces, brackets ()Perhaps I'm using the wrong transformer in the wrong place.Advice appreciated.
I combine many feature types to create input for the geodatawarehouse. some feature types have attributes with same names but different meanings. eg: feature type "house" with attributes like "windows", "doors", "number" and feature type "street" with "name" and "number". For to detect the origin-featuretype of the attribute, I'd like to rename them like house.number house.windows house.doors street.name street.number. How can I acchieve this without renaming every Attribute "by Hand"? Thanks in advance. Frauke
I suspect that I am missing some simple setting here. But simple as it might be, I cant find a solution. I have set up a workspace that imports a bunch of shape files and runs various transformers on them. Among these are Attribute Managers for some of the files, where I add a couple of new attributes. But for some reason these new attributes do not get written to the exported shape files. When I Inspect the last step with the same data that is feed the Dynamic Writer everything looks fine. Is there some setting I have missed or do I need an additional step, with a extra transformer, to write the new schema?
I have a collection of lines and I need to first select those within X distance of each other, and then merge into one feature if the headings are the same (within a specified threshold) and they are of the same type (specified attribute).The result will be one line representing a grouping of features that are of the same type and heading in roughly the same direction.Does anyone have any ideas on how to approach this?So in the image below, step one would be to find the groupings of lines within x distance and heading in the same direction.After this selection I want to group them into one feature based on a specific attribute. in the image below, these lines are grouped according to a specified attribute.The end result would be this, one line representing all of the merged lines heading in the same direction and grouped by a specific attribute.
FME 2017.0 (17271) on Windows Server 2008 R2 Standard.I'm using PointOnAreaOverlayer to add 3 attributes from a polygon layer (non-overlapping polygons) to a point layer. The polygons are coming from ArcSDE (SQL Server) and the point data comes from SQL Server with geometry in the Geometry data type. The 3 attribute columns already exist in the point layer and I'm using fme_db_operation to UPDATE them in the Writer. Between the PointOnAreaOverlayer and Writer I'm using AttributeManager to assign the polygon attribute values to the appropriate SQL Server table attributes.If I don't use any parallel processing in the PointOnAreaOverlayer, the translation works and takes about an hour per million points. However, if I group by one of the point layer fields (4 distinct values) and use Aggressive parallel processing, it cuts that time to 40 minutes per million points, but the polygon attributes do not get added to the point data. When I inspect the output from AttributeM
Hi,I would like to access the metadata for a LiveLink directory in order to obtain a list of all sub-directories and files contained within this directory.Does anyone have any ideas on how to do achieve this?I have FME Desktop 2016 and 2017.Thanks,
I would like to have the attribute values in my source data compared to values in an external look up table and changed based on the values in the look up table and then have the new values populated in a different database. For example. Read the Type Column find the value UNKNOWN look at the look up table and change UNKNOWN to UNK and send to destination database.
On a machine with 2 cores, if I start 2 separate instances of FME Desktop from the Start menu, and run a Workspace in each, does this use parallel processing i.e. does each copy of FME Desktop use a separate core?
This is part technical(possibly) but primarily visual.I have a complex workspace where the same source tables are used for writing multiple output features.To achieve this I've just been been running multiple connectors to from one reader to multiple writers.The workspace is getting a bit hard to trace and present to others.I just noticed I can have curved or straight connectors and there's a way to duplicate readers.My question is what are the best ways to make your workspace neat?It it common to duplicate readers and if so are they treated as a single entity when perfroming the translation?
Folks,I have a series of points in one MI table and intersecting lines in another table in a telco network. I need to test each point and get all of the intersecting lines. The result being the ID of the point in one field and a comma delimited list of the IDs of all the intersecting polylines.For other work in this task I've been successfully using SpatialFilters that work well for 1:1 but 1:N where the N's need to be aggregated into a single result seems to be evading me.I don't need a spatial result for this process.Your advice appreciated.