Creating and organizing workspaces. How to use Workbench.
Recently active
Hello, Would anyone know if there is a way to use the Search Envelope by updating from a choice parameter? For example, I have these certain polygons that delimit the area I want to analyze:Every time I want to analyze an area I have to change the values of the X,Y parameter (min and max): To solve the problem, I created a choice that shows the area number on the Display but the values read are the bound coordinates. And I created hidden parameters called Xmin, Xmax, Ymin, Ymax, These parameters look at this choice in the following way: @GetWord($(Choice),0)Attributes read from parameters with the expression aboveBut even if the combination is a number, FME does not accept using this value in the search envelope, as it tries to read the entire written parameter. Below is the error log: Invalid search envelope specified: GEOTIFF_1_SEARCH_ENVELOPE keyword must be followed by four numeric values (minX minY maxX maxY). Got '@GetWord(-42 -20 -40.5 -19 454,0) @GetWord(-42 -20 -40.5 -19
Curious if I could pick your brains on how to achieve the workflow:I am connecting to an asset via API as well as another separate GIS Feature Class in an EGDB. The workflow will start with a user editing the GIS Feature Class. When a user updates or creates a new record in the GRI_TEST1 Feature Class, I am pulling it into the Change Detector, and wanting to write to the API table only if the assetkey does not exist in the API table. The assetkey in the GIS FC = unitid in the API Table, as the field has a different name than the same column has in the GRI_TEST1 Feature class.Would I be going the right route here in using the PythonCaller to achieve this? Right now my writer is writing to a xlsx document and not the API table yet so I could test out the logic. # Import necessary modulesfrom fmeobjects import *# Function to check if asset key exists in feature classdef assetkey exists(assetkey, feature_class): # Implement the logic to query the GIS feature class # Assume 'feature_c
Hello, I am working on a project which will fetch information and save to local machine, then I use xsd-driven-xml reader to read in the files to parse data down streams. I noticed that reader activate before HTTPCaller task and caused the httpcaller failed to create file in the designated location. How to specify the reader to activate only if my HTTPCaller successful? I have already have the tester set up and will be able to tell either failed or success, but xsd-driven-xml reader did not have condition parameter setting or anything for me to make sure it activate after tester passed. I can separate this into two workspace, or create custermized transformer to encapsulate some condition tester and xml reader together, but thought there might be better way and would like to ask for help here. Any information is appreciated.
Hi !I don’t know where to post that so sorry if it’s the wrong place 😊When I use the button “alignment Middle” the alignment is vertical and when I use the button “alignment center” the alignment is horizontal. The action seems to be the opposite of the picture on the button.Do you have the same thing? On FME 2018 is the reverse and it look more logical.FME version : 2024.0.1.0Thanks !
Hi,I’m on the version 2024 of FME Workbench, I have to calculate a number of neighbor between points (let’s say 5) in a distance (of 20 for example).But the issue is that I don’t know how to export the 5 distances in specific attributes…If someone can help me I’d love that !
Hi.Could I please ask for a little assistance. I have about 1700 GeoTIFF files that I need to convert to 1700 JPG2000 files. So it is a 1:1 conversion for each file.I am familiar with converting GeoTIFF to JPG2000, but how do I do this en masse?FME Workbench 2020.Yours sincerely.James Blythe.
Hi. I have the JSON data below and I have managed to expose attributes from this using the JSONFragmenter but am stuck with trying the extract the thirdparty.names from this record. As there are multiple names in this nested array I need to extract them either as a comma separated attribute. i.e. Leicestershire County Council, Mr J Tomms. Or as a list that I can work from. I cant seem to expose this attribute due to it’s nesting. Any help with the correct transformer and configuration would be great. Currently using FME Form 2023.2.2 but can update to 2024 if it is easier. { "_index" : "xxx", "_type" : "_doc", "_id" : "667951b042fcaa46307d1935", "_score" : null, "_source" : { "coi_num" : 68902, "engagement" : { "mail" : "Bob@home.com", "objectguid" : "8dc75819103e4e408684a75f87fd320b", "dn" : "CN=Bob Smith,OU=Rural,OU=Worcester,OU=FGUsers,DC=fg
Hi,I have some utility pipes that have been modelled by a sub contractor. When I bring them into FME they are surfaces. This doesn’t surprise me, though they area actually shapes. Can anyone thing of a way to build these surfaces into solids? Say I have a cylinder for a pipe. It comes in as a surface but should topologically be a shape. I wish to convert itI also wish to find the centre line of these solids, and their diameters which I haven’t been able to do eitherAny help would be appreciated. I have the 2023 versionThanks
Hi! Sorry for my english. I have a problem with "collapsed parameter/option" on the “user parameters manager” or “FME options” for exemple. All the options that can be collapsed doesn’t display very well and sometime I don’t see there are a suite. For exemple, if I don’t scroll, I don’t see that “Number configuration” had an option “Numeric precision”. Is it possible to had something like a button or an other way to open an other windows?Thanks !
Hi i am trying to read lots of excel using the feature reader transformer, passing in the locations form a directory path reader. all the excel have different tab names but the data always start on row 10. As the dataset is a file path the option for telling it to start on row 10 are blanked out. anyone know how i get around this?Many thanks,Andy
So I have a workspace that reads a DWG, and writes another one after setting viewport attributes according to this article: https://support.safe.com/hc/en-us/articles/25407658483341-Working-with-AutoCAD-LayoutsHowever, even though I’ve set autocad_viewport_view_center_x, autocad_viewport_view_center_y, autocad_viewport_center_point_x and autocad_viewport_center_point_y to display the view at the center of the page, I keep getting the viewport centered at 0, 0 in paper space, so my viewport content is centered close to the lower left corner of the page on output. I have quintuple-checked that all the required viewport attributes are set correctly. It seems like the writer is simply ignoring my viewport center settings.I’ve been banging on this for more than a day now, and have made no headway against it. Hopefully some kind soul out there will have an idea of what could be going wrong.The layout pageThe viewport, 1st page of attributesThe viewport, 2nd papge of attributes + geometry
I have an SDE file I created in ArcPro that works in ArcPro, but whenever I try to add it as a reader in FME (Data Interoperability, ArcPro version 3.2.1) I get a simple error of “MULTI_READER reader: GEODATABASE_SDE reader: An unknown expectation occurred.I tested other SDE connections and they work fine in FME and ArcPro. I have tried generating a new SDE file and connecting with an embedded connection and an database connection in FME. Any other ideas on how to get this connection working? Also, it was working until this past weekend. This is a new issue we have not had before.
Hallo FME community, I am new to this FME software and got a task. I have 100 city folders with single .jpg and .jgw file inside each folders. .jgw has x and y coordinates of a reference system. Can anyone tell me workflow with necessary transformers to select each jpg with their .jgw and create their own destination folder and save the Geotiffs in individual folders.
I am working on a process to read in dwg files, parse the text and assign metadata attributes. I have one file that I am using that had missing xrefs. Using RealDwg Reader, it worked fine. But, when I bound the xrefs, it gave me the following error after reading in most of the file: AutoCAD Reader: An error occurred for dataset '<filepath>\FIRESPRINKLER.dwg', in function RealDWGReader::processDimBlockCommon: 'eNullObjectId' I purged and also made a .dxf file, but still got the error. I am using FME 2023.2.4Using the regular AutoCAD dwg/dxf Reader, it worked no problem. I suspect there is some entity in the CAD file that the RealDwg Reader did not like, but after multiple purges and audits, I can’t find anything to delete. If I am going to publish this Workspace, I need to know if there are things to look for that would help choose the correct reader. The file is in AutoCAD version 2018.Questions: Is this error related to a specific function in RealDwg Reader, or is it just
Surely there’s a better way than this???I have a json file with lots of attributes hidden in lists. So I use 5 ListExploders to expose those attributes.The ultimate goal is to then combine all of those attribute fields into one massive table, using the unique identifier field of “NODE_ID”.As you can see in the screenshot the Node list then feeds into AttributeFilter to reduce the number of features a little.So far so good… but this is where it goes a bit mad. I then need to combine all of those 5 exposed lists into one table. FeatureJoiners are then used to try to merge the datasets together.Those in the left hand bookmark are joined using an inner join to try to get as many features with the same NODE_ID value combined into the same row in the table.Those in the right hand bookmark then use a full join to pick up any stragglers from the first bookmark.I have 200 JSON files to work on, and this example uses just one of them, so I have to try to account for all output ports, to ensure n
I’ve got an FME workbench that picks up 2 seperate SQL tables in the two readers and the data is sorted and the filtered. It then needs to be output to an Excel template containing 2 tab sheets and save the data from each SQL table onto the separate sheets.Test copy of workbench looks like this:This first attempt only outputted the data from the first reader onto both tab sheets in excel.Then did this:So this did pick up both readers but instead of saving the one excel template with the data outputted to both tab sheets, it created to excel files with the data being populated on the tab sheet.Essentially I want to pick up both sql readers, sort them and filter them and then output to the excel template but the data gets saved onto sheet 1 and sheet 2 for example for each reader and then save the one excel file to the drive location!Am I missing a step or should i be using different transformations, etc?Appreciate any suggestions?
This script works, but leaves out the geometry and original attributes. My hunch is there’s something wrong with the close(self) function, but I’m stumped. The code takes a feature id number and list of nearby ids from a NeighborFinder list, where it matches them up and assigns a _group_id attribute to use with the Aggregator. Really, it should be part of NeighborFinder. The way I had been grouping features is to use two or more AttributeCreators and assign a common Id from the feature and id list. It’s a hassle because you end up with duplicate features. Very inelegent. I have seen a few posts on missing attributes, but I can’t see how they apply to my code: import fmeimport fmeobjectsfrom collections import defaultdictclass FeatureProcessor(object): def __init__(self): self.og_ids = [] self.closest = [] self.lines = [] def input(self, feature: fmeobjects.FMEFeature): id_number = feature.getAttribute('_count_Glaz_H') if id_number is not
I was installing a Python module and pipeline (spaCy and en_core_web_sm.whl) into FME2023.2.4. spaCy installed fine, but pip would not install the pipeline and I got this message: Since then, my FME 2023.2.4 will not work, at all. No translations will work. I made a blank Workspace with just a Creator and still immediately got: “Error running translation”.What’s going on? Did I break it? Do I need to reinstall? My FME2023.2 works fine with the same Workspace.Any help is appreciated.
FME(R) 2023.1.1.0 (20230928 - Build 23631 - WIN64) FME FormHello,I have a set of QAQC workspaces that I’m trying to run in sequence with workspace runners. I have a parent workspace that, using scripted parameters, generates a bunch of output file names where I’ll write the results of the various workspaces, and runs workspace 1, then workspace 2 then workspace 3. I only want to run workspace 3 if my tests ‘Pass’ in workspace 2. So I write out a CSV file called _qaqc_status.csv in workspace 2 with ‘Pass’ or ‘Fail’ as the only attribute; the file location is in with the data and is variable.The problem comes when trying to read the parameterized file name ($(QAQC_STATUS_CSV)) with a FeatureReader; I get the following error message Worker 27572 > CSV reader: Failed to open file '' for reading. Etc, etc.and my CSV doesn’t show up on the output ports. If I hard code the FeatureReader dataset to an existing csv it works fine.Any help is appreciated, or even a workaround suggestion. Th
I am trying to join a SharePoint table with no geometry to a set of polygons (about 2000 rows). The table has unique project titles for for each polygon that I want to use as a join field; but the polygons themselves are stored as fgdb files deeper within the SharePoint file structure and they are a non-standardized legacy dataset that I am trying to aggregate (hence why I am transferring them all over to SharePoint as the first step). When writing the fgdb’s I am also exposing the file path as the fme dataset field, so the unique project id’s in the table are a part of that file path. I am trying to use the string replacer to replace all the characters leading up to, and after, the project title with nothing so that only the project title is exposed. Sadly I can’t just count the characters as there are different folders within the file path with different names and character lengths so now I am trying to come up with a more complicated regex expression that will trim the start and th
Hi, I have a geojson including an attribute with datestamp values. An example value is 202410231836 (year, month, date, hours, minutes - yyyy mm dd hh mm). These are important as I’m running testFilters with it. However I would also like to create a parallel attribute showing an easy to read UK date value from it. So, 202410231836 would convert to ‘31/10/2024 18:36’.I’ve been looking at DateTimeConverter transformer but couldn't work out what import format to use and what output format to pick - assuing that DateTimeConverter is the one to use.Any advice would be appreciated. Thanks,Stuart
Hello Forum, I have a workspace which reads in a tab file with a start_date attribute and end_date attribute. These are populated with datestamp values (e.g.: 202410281200). That reader flows to a TestFilter which determines if today is before the start date. If so, these records go to a new output writer for sites not yet started. If today is beyond the start date. These then go on to a second testFilter, which determines if the end date has been reached or not. If the end_date has been reached, then this goes to an output writer for historic sites If the end_date has not yet been reached, then this goes to a output writer for live sites. These test Filters are doing exactly what I want them to do. However it can be the case that sometimes there are no sites where the start_date has not yet been reached. In these cases I need the output to be an empty table. However, I’m finding that the flow is failing to overwrite any previously created tables where, for instance, at a time when it
I need to select the lines that fall entirely within a specific polygon and update their data with the respective polygon name. I attempted to use a spatial filter, but it didn't work as expected. When a line intersects two polygons, the filter selects and attributes the line to only one of the polygons, which is causing issues. I also tried using the NeighborFinder without success. I've attached a screenshot to illustrate a line segment that should not be selected within this polygon.
Hello,I have a script which is written like this:import osparent = os.path.abspath('..')file= os.path.abspath('../file_08-06-2024.xls')return fileI would like to replace the date with an attribute defined in a attributeCreator transformer which could change and i write this :file=os.path.abspath('../file_$(date).xls')When i run, it doesn't work. Can you help me ?Thank you.
Hi,A very random question. My son has recently started to like making mazes out of Lego for marbles. I was wondering if there was a way in FME I could perhaps randomly generate a maze?I know there are a bunch of generators on the internet, however they do not account for a cell size of 2x2, to accommodate a marble, or a wall thickness of 1. I see there is a generator on FME Hub, but it also doesn’t work because it calls a webpage that doesn’t exist anymore. So I thought perhaps I might have a go but I can’t work out a way to use any maze generation algorithms. I don’t know python, but I’m reasonably handy at desktopIf anything glaringly obvious comes to mind I’d love to hear itThanks