Creating and organizing workspaces. How to use Workbench.
Recently active
In this scenario, the source data has some attributes with names following a common pattern. e.g. test (a), test (b), test (c), etc. We want to use all of these attributes on the left side of some test clause (in TestFilter). Instead of manually selecting every attribute, is it possible to use a formula to represent test (a), test (b), test (c)? We do have an attribute "name", whose values are a, b, c, etc. Also, the right side of the test clause can be set with the same expression, for all of these attributes. Any suggestions would be much appreciated!
I've got a large number of raster tile and would like to create a list that shows how many have a certain nodata value, for example, how many have a nodata value of o, how many have a nodata value of -39 to -1 and how many have a nodata value of <= -40. What would be the best way to do this?I've tried a few different methods but so far have only ended up with empty csv files.Thanks.
Hi.I want to include the name of the "current working folder" (e.g. H:\\00-Data\\FME\\PlanningSitesForGIS) in the body of an emailer so that the recipient can see where a workspace has been run from.I am using the FME_MF_DIR parameter to do this but as it is listed separately from "current working folder" in the log, wonder if this is correct?I would also like to know if the parameters FME_MF_NAME and WORKSPACE_NAME are one and the same?Many thanks for any help
Hi all,the following use case - please see the screen-shot: Is there any way from code side (C++ custom plugin) to determine that "CUSTOM1" shall be exposed (checked by user) but "CUSTOM2" shall NOT (unchecked by user).In the mapping file, DEF line I still see "CUSTOM2" is present.But from another site if I open saved .fmw file - FME WB knows which attributes are unchecked/checked.So FME WB is aware of that - any way to make my custom plugin (Reader) to be aware as well?Thanks!
I care about memory. What do these FME log file messages mean? FME Configuration: Process limits are 32.00 GB of physical memory and 128.00 TB of address space FME Configuration: Start freeing memory when process usage exceeds 96.00 GB of memory or 128.00 TB of address space FME Configuration: Stop freeing memory when process usage is below 72.00 GB of memory and 96.00 TB of address space I like to tell my processes what to do. How can I control the memory FME uses?
I am working on a BIM/GIS project where I need to convert revit models into GIS. I used the FME exporter and chose the 2*3 coordinate view to export to ifc file, then in ArcScene, I use quick import to convert ifc to multipatch. As a result I get the model sorted in revit family, such as wall, column, slab, etc in multipatch form. The 3D model turn to be fine, but there are extra tables attached to each family and I found much of the data in there was lost. I wonder if this is the problem with exporting ifc in revit. (I have pics below to specify)As you can see here in Arcscene, lots of data in the family is lost. For example in the door lining properties, there are null values.
Is there a way to update (core or custom) metadata fields of a dataset on Socrata Open Data Portal? Socrata Write seems to only update data.
Anyone using FME via a Windows Remote Desktop? Whenever using Data Inspector on my office based PC and I select a polygon feature inside the Remote Desktop session, my local machine Remote Desktop process starts to consume around 16% CPU and makes it unresponsive. Clearing the selection returns the CPU to 0%, as does minimising the Data Inspector.This only happens when you select a feature, and the geometry is more than a simple geometric shape (rectangle, triangle, circle etc.), but doesn't have to be super complicated. Thought it was transparency related at first but it doesn't appear to be as get the same effect with solid colours.Clearly could be an issue with the graphics driver on either PC but wondering if anyone else sees the same?Sample data attached.Remote Desktop running locally on Windows 10 (but saw same issue with Windows 7)Data Inspector running remotely on Windows 7FME 2017 (but see the same on earlier versions)
Pl. see attached zipped excel file to find the explanation of the problem statement
I have 2 features feeding into a Python Caller and I'd like to separate each feature into it's own array. When I read an attribute that is in the first feature, but not the second, I get several None values in addition to the first feature's values.
Folks,I've read over numerous similar questions and they all slip just past the mark I'm trying to hit. This link is the closest I got to something like what I'm after. https://knowledge.safe.com/questions/4653/naming-an-output-file-based-on-parts-of-the-reader.htmlJust a quick summary on the workspace. I'm reading a number of Mapinfo table and writing to a single GML file.I should explain I'm still a little lost as to how to use the following transformers but the link describes using FileNamePartExtractor to extract the directory path.The issue I've run into is my Readers were opened as a group(directory). When I try to use FileNamePartExtractor I get ALL of the filenames and their paths in the "_dirpath" output port. In a sense this makes sense but it doesn't help me. I was able to make up a filename based on attributes using StringConcatenator. However I'm still not clear how the final output string I called "_fullpathfilename" to
I am trying to create a Python FME shutdown script. I need it to reference two types of variable - (1) a static variable; and (2) a variable whose value is only known at FME runtime. Option (1) I can ebale through a Published Parameter and reference it in my shutdown script as $FME_MacroValues(myParam) Option (2) is trickier. I tried to use a VariableSetter transformer in the workbench but the shutdown script did not seem to recognise the variable. I also tried to create a dummy published parameter and reset its value at runtime using the VariableSetter again, but the shutdown script only recognised it default value, not its runtime value. Do I need to set a global variable first in a startup script; modfiy it at runtime; and the use it in a shutdown script - not quite sure on the syntax if this is the best practise here? So how are you meant to expose a global variable and/or a published parameter that gets updated at FME runtime in a python shutdown script? If someo
Hi everybody,First time trying to get something done in Python so please bear with me...I'm trying to find the greatest common divisor of a set of numbers, supplied as a comma-separated string through a User Parameter. Python has a function (gcd) that does just that (originally for 2 numbers, but through the reduce function it can iterate)However, I can't seem to pass my numbers into the function.class FeatureProcessor(object): def __init__(self): pass def input(self,feature): # divisor = reduce(fractions.gcd, (10,15,25,50)) divisor = reduce(fractions.gcd, (FME_MacroValues['Contours'])) feature.setAttribute("divisor", divisor) self.pyoutput(feature) def close(self): passThe line that's commented out works, but if I pass those same numbers through the parameter I get an error message:Python Exception <TypeError>: not all arguments converted during string formattingTraceback (most recent call last): File "<string>", line 1
Hello there, I am trying to set up a workbench that will send automated emails via fme server. We "publish" data daily and I am looking to create a script that will basically read from a database (that has details of publishing) and send emails to a recipient depending on the destination (folder) where the dataset had been published.The issue is sometimes multiple datasets are published to the same location. I don't want a separate email for all of them. If there are 10 datasets published to one folder, I want one email sent detailing the 10 datasets. Here is what I have set up for the workbench. The top part (outside of the red box) sends email by reading from SQL with some modifications along the way. The information in the email is a combination of the following attributes DATRECORD, FILENAME and DIRECTORY. In the example below, 91 emails were sent. I want only 15 emails send based on the grouping by the DIRECTORY attribute with the same information (all the DATERECORD
Hello,I was testing some stuff on the latest version of FME Desktop (2017.1) with the twitter transformer but all the results where redirected to the "error" port. I automatically checked ou the log file to find the following error comment in red: Tweeter_Tweeter(TwitterFactory): Due to a change in the Twitter API, all Twitter transformers are non-functional. Updated transformers will be released with FME 2017.1.1Well with all the frequent changes in the API's I believe we have no choice but to wait for 2017.1.1 .CheersLyes
Hello,I have some data in Shape File format that when read into FME the field type changes from Double to an encoded attribute. See the below screen shots from both Arc Catalog and FME's reader transformer. Below is the printout from the log file. So my end goal is to use the "getAttributeType()" type method to perform some data renaming using the attribute type. So is there something I'm missing with the Shape File Reader or Shape File specification in FME?If I import the data into a File Geodatabase it works fine where FME will maintain the field types.Attribute(encoded: fme-system): `Length__fe' has value `10'Attribute(encoded: fme-system): `Width__fee' has value `3FME Build information below:FME Database Edition FME 2017.1.0.0 Build 17488 - WIN32.Any help or information as to why FME does this would be very helpful!
I converted FME server DB from default to Oracle in FME server 2017.0.1.1. Due to a notification bug in this version, I am upgrading to the latest 2017.1. I am wondering if I still need to do the restore from the backup. I would think I just need to back up the config files, particularly fmeCommonConfig.txt, uninstall 2017.0.1.1, install 2017.1, change Database connection in fmeCommonConfig.txt, restart the server/core/db, everything will just magically work fine. Is this correct?
Hi there,I'm a bit helpless after trying the hole day. Well, what is my problem. Let me try to describe it.I have a huge amount of adresses, consisting of postcode, town, district, street, hous no, coordinates etc. I concatenated all to a adress-string. Saved in a Geodatabase.Now I'm trying to geocode some adresses, by comparing with the adress-strings in the database. This is not the problem, i can do this but it takes a long long time. Now, my idea was to send every single adress with the workspacerunner to a new workbench, where I filter the Reader (my adress database) by using the Where clause to a district. Result of this should be, that fme only have to compare the adresses of a district and not all adresses. I can't compare for 1000 adresses with my database this takes too long.Well, nice idea, but I can't use a user paramater in the Where clause in my Reader, is this correct?. I tried it by transfering the district from the adress via the workspacerunner and use
Hi FME'ersI am pulling together a dataset containing the nearest three of each POI to an address from a list of addresses. E.g nearest three schools, nearest three recycle centres etc.I have used the NeighborFinder with the address feature type (Base) and the Schools feature type (Candidate). All works well but as I said, I need to find the nearest three of different feature types. Is there a way of passing multiple feature types into the candidate port of a single NeighborFinder or do I have to use a new NeighborFinder for each POI feature types? Thanks,David
Hi There, I am using the UpdateDetector to update an ArcGIS Online feature service that is part of our open data catalogue. My workbench is fairly simple and just reads a dataset out of SDE runs it through some transformers to reproject it and then rename/drop some fields. It writes this dataset to a staging file geodatabase as an archive. Using this archive as the 'Original' input in the UpdateDetector and the features from SDE as the 'Revised', everything gets sent throught the 'Updated' port despite no changes occuring. I poked around with the parameters and found if I removed the geometry matching condition things got sent through the 'Unchanged' port as I would have expected. Would anyone be able to enlighten me as to why this is happening? Warren
Hi,I'm trying get a workbench to load 1000000+ features from a WFS version 1.1.0 with a download restriction of 10.000 features. Currently version 2.0.0 is not supported by this service.I would like to know if it's possible to download those features in a similar way 'pagination' does for version 2.0.0. I understand this is not suppported in version 1.1.0. I have tried to set parameters 'Max Features', 'Start Index' and 'Count' within my WFS reader with no luck. Same features are downloaded every single time.Is there an alternative way to achieve this ?**EditWhat am now trying to do is to achieve this with HttpCaller + a custom 'Loop' transformer.However I'm stuck trying to configure this looper...
Hi, I have a query please. The scenario is this - employees working for a national company are based at different offices. Each employee has a card number, which is unique to them. Every time an employee uses their card to enter an office by swiping their card, it is registered...and likewise when they leave the office too. And so the table I have includes (for each employee) has a field for "Card Number" and also a field called "Event" which records whether an employee has "Swiped In" or "Swiped Out."The question I have is this - I want to be able to compare, for each employee, the number of times they have "Swiped In" and "Swiped Out" You would expect if an employee has swiped in say 10 times, there would also be 10 occurrences of swiping out. However, a casual glance at the data does not always suggest this....I can see for example that sometimes employees have swiped in more times than they have swiped out.Therefore, is th
I am unable to send the json output to WebMethods (Using Software AG - Nirvana). Placed the below jar files into the location - <FME Server Installed loaction>\\Server\\lib\\jms1. nClient.jar2. nAdminAPI.jar3. nAdminXMLAPI.jar4. nJMS.jarSubscriptions details provided - (Protocol, Topic to Subscribe, Provider URL, Connection Factory) but when providing provider type, after clicking on OK, it disappears. Validation says successful.Now when I am running my Job successfully from FME Server, WebMethods is not able to receive any data from FME.Please help me if I am missing any configuration.
Hi, I have a desktopversion 2016 and 2017 withe shared public database connections I want to connect to 3 oracle databases in different schema's because there are three separate citties. (i.e. DBConn1, DBConn2, DBConn3) The tables are however identical so I made one procedure in a custom transformer.In the custum transformer multiple SQL Excecuters will select the needed items from different tables.I like to use a workspacerunner to start the custum transformer.How can I validate the separate Dataset (DB Conn1 to 3) in order to run my custum transformer for the three citties?I have published parameters (DBConn1, DBConn2, DBConn3) but I did not managed it to enclose these parameters in the SQLExcecuter parameter (DATABASE/DATASET).Also I did not manage to sent the parameter value from the workspacerunner to the custom transformer.The procedure has to run automatically for all 3 citties so I can't use a manual input as Parameter with Choise.Do you have any suggestions to solve th