Creating and organizing workspaces. How to use Workbench.
Recently active
Getting Error "FME Configuration: No destination coordinate system set" while running transformers
Is there a setting in FME, where transformers that are in an older version of FME Workbench do not get deleted, when FME is upgraded to the newer version? I had a Joiner transformer within my workbench, but because FME 2018 modified the name, the transformer was removed. If there is not a setting, is there a best practice to prevent this in the future?Thank you for any advice!David
Hi, I am attempting to feed an attribute value into a published parameter WHERE Clause in a WorkspaceRunner (the workbench reads an AGOL feature service, which i want to limit the number of features it has to read as its very slow).FeatureReader is not an option as I need to read attachments.In the error log it shows that instead of using the attribute value @Value(SQL), it is the actual text @Value(SQL) that is getting used. Am I doing something wrong? Or is this a bug?Thanks
How do I retain my header rows when I fanout my Text File Data Set? It seems I need to replicate the same number of features with the header row so the fanout can group-by the expression/attribute (that is only available in the data itself). I could see a possible FeatureMerger (with hard-coded values and a List) and then a ListExploder, but this seems overkill.Ideally, the writer would support an additional header row(s) port - I need multiple header rows - that can be supplied before Fanout is processed.
I'm looking for any performance tips for mosaicking a large number of rasters.I already know about parallel processing and don't need any further advice on that aspect (thanks!).I'm wondering if anything can be gained from using a large number of FME Server Engines or FME Cloud instances and if there's a simple workflow for achieving this. My initial thought is to build my own version of parallel processing and split the mosaicking into several workspaces for submission by the FMEServerJobSubmitter. Anyone got any other ideas?
Hi FME'ers when creating a list with the following Python script:import fme, osimport fmeobjectsfolder = os.path.dirname(FME_MacroValues['Folder'])def get_filepaths(feature): """ This function will generate the file names in a directory tree by walking the tree either top-down or bottom-up. For each directory in the tree rooted at directory top (including top itself), it yields a 3-tuple (dirpath, dirnames, filenames). """file_paths = [] # List which will store all of the full filepaths. # Walk the tree.for root, directories, files in os.walk(folder): for filename in files: # Join the two strings in order to form the full filepath. if '.dwg' in filename and '_georeferenced.dwg' not in filename: filepath = os.path.join(root, filename) file_paths.append(filepath) # Add it to the list.feature.setAttribute('file_paths', file_paths)I cannot easily retrieve the list of folders in FME.I tried AttributeExposer with v
I have FME Cloud setup to run a workspace when it receives an e-mail. The workspace was previously in another repository that is now deleted, but still tries to run the deleted one as well as the current one. I have rebooted the server but have not been able to figure out why the workspace that no longer exists is trying to run.The workspace in the current repo will run successfully, but it will also try to run the deleted workspace as well.statusMessage File Field Data Processing/FileNameValidation/FileNameValidation.fmw could not be opened
Hi,I have the below request.1.Customer wants to update a specific oracle table column for some rows.2.They want to call a webservice with the ID value of that table rows which they want to updateI thought we can create a FME workspace with a creator and parameter fetcher to fetch the ID value to update the rows using DBupdator.Then publish this workspace to FMEServer (job submitter ) And finally could provide the sharable link to the other application who wants to call this webservice whenever they want to update.Please correct me is that the right way? Or shed some lights how could i manage this request?Thanks,Mari...
Hi,I created an FME workbench which reads an esri line feature class thethen assigns a color based on an attirbute to create a KML file that is color coded. I want t to put this up on my fme server. at the moment it only reads a specific feature class file from a folder on my c:. In future I would like to run my workspace on FME server and throw any feature class or file GDB into my C: folder and if it has the attribute field to assign colors then the process will run and create the color coded Kml.I'm not sure what transformer to use for the input and what other options I have in FME server to upload the file.any ideas would helpthanks
Hello,I have a Feature and I am using a FeatureWriter to output a final GeoJson, until there everything is working fine when it's about direct attribute.How about automatically looping a nested list, to get a list of one specific attribute and attach it to my FeatureWriter as a json property (an array) and keeping in the mean time the already well defined relation between the main object and it's list Basically I want this attribute "classification" (see the screenshot attached), to be output at the end as a json property of a type array using a FeatureWriter Geojson.Bellow the final output expected, of course without building the GeoJson by myself but letting the FeatureWriter (GeoJson) to do the job:{ "type" : "FeatureCollection", "name" : "SomeName", "features" : [ { "type" : "Feature", "geometry" : { "type" : "GeometryCollection", "geometries" : null }, "properties" : { "someProperty" : "someValue", "classification": ["value1", "value2"] } }, { "type" : "
Has anyone had any problems using a Custom transformer (I'm using 2017.1.1)? I have a workspace that has multiple Custom Transformers that runs checks against CSV files. These work fine but when I added another Custom Transformer I get this error when I run: Too many recursive macro substitions -- line currently is: `FACTORY_DEF * TeeFactory FACTORY_NAME "$(Structure_Domains_WORKSPACE_NAME)_GDB1522780568 Input Splitter" INPUT FEATURE_TYPE "$(Structure_Domains_WORKSPACE_NAME)_GDB" OUTPUT FEATURE_TYPE "$(Structure_Domains_WORKSPACE_NAME)_GDB_0_I+zzU7khHj0=" I know the error is related to the Custom Transformer I added although it is almost identical to the other Custom Transformers - just different fields are bring processed.
I am trying to connect to an oracle database. I had a chat with Steve at Safe and I added the connection information in the tnsnames.ora file and added an environmental variable pointing to the tnsnames.ora. I was really hoping that I had done everything that I needed. However, I am still getting the ora-12154 error message. Thank you in advance for your assistance. Attached is the log file from the latest attempt to connect and a screen shot of the environmental variable path.
Hello, I have a shapefile from which I wanna extract multiple shapefiles having the same value of an attribute. Shapefiles I am working with are different, that's why i am searching for a method which is independant on the attributes values. Thank you
I want to write to multiple kml layers (from a shapefile) by splitting them out by scale using Attribute Filter, not sure how to do the scale rangers in Attribute Filter and also how to write to multiple kml layers. I'm trying to duplicate the scale splitting in the attached image. (created using arc2earth, now trying to use fme).
I am trying to use the WorkspaceRunner to start another workspace. Two parameters are sent along which are linked to published parameters in the latter. One of the published parameters include the "|" character (something like "|abc|def"), causing the workspace that includes the WorkspaceRunner transformer to fail. The Transaction Log has the following output:illegal use of | or |& in command' contains invalid characters and could not be converted into an integer (stfutil.cpp:738)If the published parameter requiring the "|" character is omitted from the latter workspace (ie, it is not required in the WorkspaceRunner anymore), all works fine and the latter workspace is executed as expected.Is there a way to escape the "|" character so that it is not interpreted as a special character when the workspace is run? I have tried |abc|def, "|abc|def", "\\|abc\\|def", ""|abc|def"", ""\\|abc\\|def&
Bonjour, Je travaille avec un fichier (DWG) qui contient des doublons (lignes). Je voudrais fusionner les géométries qui ont la même position XYZ mais également les mêmes attributs. Donc que les objets similaires avec des attributs différents ne soient pas supprimés. J’ai jusqu’ici utilisé les Transformers VertexExtractor>CoordinateConcatenator>AttributeManager>CRCCalculater>Matcher pour trouver les doublons mais maintenant je bloque…
Dear people,I've to use zip files for input, and this file name is the actual date so that change everything, how can I do for that ?Thank you for your help.
Hi,Using FME2018.0.0.0.0 build 18284 I'm trying to add a FeatureReader connection to a Google Fusion Table (non spatial). I'm able to reach the Google authentication window. However when trying to authenticate I get the following error message within FME.FME Log:Can someone help me out finding cause and solution of this error ?
The following lines of code work when run as an independent python script, ie python script.py. These lines also work when run in the startup portion of the script. The exact same lines however do not run when run in a shutdown script. When run in a shutdown script the fme.exe process crashes and I get the following error in fme log:Precondition failed at stfconf.cpp:798. Expression: instance_ != 0The lines of code I am trying to run read a static .ffs file. They are:ffsFile = r'<path to any .ffs file you have>'import fmeobjects# The following line never completes.reader = fmeobjects.FMEUniversalReader('FFS', False, [])reader.open(ffsFile, [])feature = reader.read()featureCnt = 0while feature != None: featureCnt += 1 feature = reader.read()print 'featureCnt:', featureCntreader.close()I am trying to do some automated reporting of failed features after the script has completed by reporting on the number of features that did not pass, and possibly more information down the
Right now I test if MTF (manged file transfer site) or UNC file location are going to pass, because what's the point of proceeding if network IT services are not available for file storage. If I terminate I'll have the find failed email and manually resend to FME Server. Is this possible for FME Server to hold the job and resubmit in an hour instead of just terminating?
Hello All,There are a lot of questions around this topic (ie., https://knowledge.safe.com/questions/51878/how-to-setattribute-lists-in-pythoncaller.html), but somehow I'm not able to make it work. Here is the background:I have an xml that I'm reading it and getting some attributes to pass them in FME for further processing. I have created a list of dict in order to group them, below is the code I'm using: domain.append({'chartnumb_value':chartnumb_value, 'nm_numbers': get_chart_nm_numbers(update), 'region': get_region(update)})print domainHere is the print of the above::[{'nm_numbers': u'3040(P)/17', 'region': u'UNITED ARAB EMIRATES', 'chartnumb_value': u'Chart No: 8101'}][{'nm_numbers': u'3027(P)/17', 'region': u'BANGLADESH', 'chartnumb_value': u'Chart No: 8166'}][{'nm_numbers': u'3038(P)/17', 'region': u'AUSTRALIA', 'chartnumb_value': u'Chart No: AUS778'}]I want to get the 'chartnumb_value', 'nm_numbers', and 'region' into separate columns. For this I'm using after the .append the
Hello all, I was wondering if any of you have a way of running automatically FME on a certain ".fmw" file, at a said date and hour. I checked the "automator" but I am unsure if it's the best option. Any ideas?
Hello,I'm looking for this transformer : https://knowledge.safe.com/articles/1273/looping-with-blocking-transformers.htmlBut the data are missing...Could you help me to find this?Thanks a lotBR
Hi All,Just wondering what is the best option to flatten a list on each row to attributes? I know the lists are set at the same size index wise but wondering on the best methodthanks
I have a Condition Statement within AttributeManager that checks if an attribute has a letter at the end of the value. If this is true then I use Substring to drop the last character.However, when I use the above it always returns the original value (ex. 999a returns 999a instead of 999).It does not seem to work with any negative number at the end but if I change -2 to a positive number like 3 it works and returns 999. Any thoughts on what I am doing wrong here?Regards