A space to discuss FME Form
Recently active
Here is my code: import mathimport fmeobjectsFEET_PER_M = 3.28084TURN_THRESH_DEG = 5.0 # minimum angle to count as a turndef haversine_m(lat1, lon1, lat2, lon2): """Great-circle distance in meters.""" R = 6371000.0 phi1, phi2 = math.radians(lat1), math.radians(lat2) dphi = math.radians(lat2 - lat1) dl = math.radians(lon2 - lon1) a = math.sin(dphi/2)**2 + math.cos(phi1)*math.cos(phi2)*math.sin(dl/2)**2 c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a)) return R * cdef bearing_deg(lat1, lon1, lat2, lon2): """Bearing from (lat1, lon1) to (lat2, lon2) in degrees 0-360.""" phi1, phi2 = math.radians(lat1), math.radians(lat2) dl = math.radians(lon2 - lon1) y = math.sin(dl) * math.cos(phi2) x = math.cos(phi1) * math.sin(phi2) - math.sin(phi1) * math.cos(phi2) * math.cos(dl) brng = math.degrees(math.atan2(y, x)) return (brng + 360) % 360def signed_deflection(prev_bearing, next_bearing): """Smallest signed difference between bearings (-180..+180).""
Hello, its me again.So I’m playing with changing excel documents in Form 2024.1 and its going superb, except from the fact that when Form writes out my changed excel it adds an @ in front of some of the formulas. So for example the formula that gets read in as:=XLOOKUP(blabla)Gets written out as:=@XLOOKUP(blabla)Which then makes the whole outcome excel document breaks.I have ran this with caching and see that at last cache before writing then the formulas are intact, so this must happen in the writer or that the excel gets written out in some manner that my excel setup *misunderstands* it?As always, all comments are welcomed (as long as you not a person just looking to score some points by copy/pasting what AI said the problem was).-Hlynur
Hello yet again.This time I am experimenting with a complex Microsoft Excel document, its basically a calculation file that contains quite a lot of sheets, macros, references and formulas. Idea is that instead of sharing the excel document with the people that need to use it that I would just host it on our Flow, people would then have an option to fill out some published parameters in a flow app and then get a single excel sheet returned with their results (cutting out all the underlying datasheets and formulas and macros etc).Or to sum it up: I have a complex excel with formulas, read that excel in FME, change values in cells in FME, write out an excel from FME that would then recalibrate/recalculate based on those changed values.So I have figured out how to single out cells in the excel table where (basically using counter, and tester for that single number, link to attribute manager where the new value can be inserted to replace the old one, back to a FeatureMerger to put the new v
Is there a resource/database somewhere that has a list of what FME release each version of a transformer was initially released/updated in? You can get it pretty easily for transformers on the Hub, but not for inbuilt transformers.I’ve had a dig through the various Python APIs and I haven’t come across anything (doesn’t mean something doesn’t exist mind you!).Each version of FME does come with the previous versions of the transformer, otherwise this would break the backwards compatibility of the software.
I am trying to write some CAD data to an ArcGIS Enterprise Feature Service.I noticed there has been an update in the latest version but unfortunately we are using 2025.0 at present and wanted to see if there is a work-around to an issue related to true-curves. I am getting the following error message: ArcGISFeatureServiceWriter: Feature type 'Levels' has 'Use True Curves' enabled, but the feature service does not support true curvesPython Exception <FormatException>: FMEException: 1: ARCGISFEATURESERVICE: Feature type 'Levels' has 'Use True Curves' enabled, but the feature service does not support true curvesSAFE.ESRI-AGOL.ARCGISFEATURESERVICE writer: An error has occurred. Check the logfile above for details The writer has ‘Use True Curves’ set to ‘No’ but I still get the error message. Is there are way to remove ‘true curves’ or write the data to our ArcGIS Enterprise Portal to by-pass the issue?
Hi all,I am currently using ArcPro 3.5 DI tool that uses,FME(R) 2025.0.0.0 (20250228 - Build 25208 - WIN64)Some of my FME scripts are failing when reading an excel file if it as a python start up script that imports arcpy specifically. If i remove arcpy, the excel reader works fine.Is this a bug with the FME build that came with our ArcPro 3.5 or is it consistent with a stand-alone FME install?Some of the warnings are:----------------------------------------------------------The Startup Python Script changed the current FME process locale from 'English_New Zealand.utf8' to 'English_New Zealand.1252' and FME has restored it back to 'English_New Zealand.utf8'. It is undefined behavior to change locale and doing so may cause unexpected errors. For more information, visit http://fme.ly/PythonLocaleError-----------------------------------------------------------Excel Reader: Could not read cell at row '0', column '1' for sheet 'can't read more cells in trial version'. Error message is 'can'
I have an excel file with 100 records (100 rows) with 5 columns. I have a process that will filter one record to update one column field called ‘Last Update’ in that particular record row. So The column ‘Last Update’ for that 1 record should be updated and the rest of the 99 records will remain the same. Keep in mind that the one record being updated, only one column is to be updated which is the Last Update column and the rest of the columns fields will remain the same. How can I configure the FeatureWriter?I currently have the following set in the FeatureWriter Parameters and in the configuration but this does nothing. The excel sheet looks the same as before with all 100 records the same and the one record that Im looking to update does not have the Last Update column updated. If I do an Insert, it updates that one record column ‘Last Update’ but the rest of the 99 records are deleted, which I don’t want. So the Insert is not working for my purpose.Thank you.
I believe there is the possibility to configure user parameters in a way that they take a local path for in/output and when they are going to be published the provided alternative for the FME Flow resources path is used.I cannot find my bookmark on how to do this and did not come to anything useful when searching the net.Does somebody have a tutorial on how to configure the user parameter that it uses the local resources when run in FME Form and the FME Flow resources when run in Flow?
Hi all,I’ve successfully solved one issue of enumerating points along the lines (to define flow direction) using this post - Line to connect in order. | Community. Is it possible to enumerate segments of the line the same way using enumeration of points?
Hi all.I’ve encountered a strange issue, when I made a small workspace to help me encode and decode strings on the fly.Apparently you can’t a TextEncoder and a TextDecoder in the same workspace at the same time !??What kind of dark magic is yielding this error ?I even made each of the two transformer into separate custom transformers, but the error was the same.In 2025.2 beta
I think we can all agree that FME is pretty unique, special and powerful in it’s no code approach to data movement, integration and automation.I’m sure many of us have heard of, or even used similar (FOSS) platforms to FME, such as Node-RED (https://nodered.org/) or IFTTT (https://ifttt.com/) ‘The algorithm’ recently pushed n8n towards me - https://n8n.io/, These platforms are more focused towards the API/Event integration side of things, rather than the entire data stack that FME excels at. Of course, with the right workspace, FME can do everything these tools can (and more)!I don’t particularly see these tools as being much of a threat to FMEs core data manipulation as they’re primarily targeted at stringing web events together.What I do think however, is it’s opening the doors to developers/teams/companies who have previously only ever thought of lines of code being able to solve solutions. It’s raising the awareness of these no code solutions and how (GUI based) tools like FME can
This morning I tried to import data using a WFS concerning a Dutch data source. I got into a weird error:Used WFS: service.pdok.nl/kadaster/kadastralekaart/wfs/v5_0?request=GetCapabilities&service=WFSDoes this look familiar to someone?
Edit: I think I found the issue. In the 2025 documentation (https://docs.safe.com/fme/html/FME-Flow/WebUI/Version-Control.htm) this note has been added “FME Flow currently supports only GitHub as a Git repository.”. Since my repository is on Azure it no longer works. I will leave this here, because I'm probably not the only one that will run into this issue.----original post:After update from 2024.2.1 to 2025.1.2 Version control is not working anymore.The issue is sort of the same I had last time: Only this time when I press Push to Remote I get the message “The remote ref update was rejected. Check your repository permissions or configuration and try again.”.I refreshed the token to be sure the right token is entered, but that did not help.I opened the repository with Visual Studio Code on the server (D:\ProgramData\Safe Software\FME Flow\repositories.The check-out branch is main and it says there are 125 changes. The branch is not published.Because last time I figured out the FME Fl
Hi there,We have a plethora of web connections in FME Flow from various people publishing workspaces. now that we can use FME Flow as the web connection repo, I would like to tidy these up and ensure a better naming convention/structure.What would be the best way to do this?I think we have to:download every workspace, open them and audit the connections, build a table to show where all the connections are used, create new ones that adhere to our standards, update all workspaces and republish to Flow, ensure any workspace apps have permissions on the new connections delete old connectionsDoes this sound right? Thanks,marc
Hello. Fairly new to FME, so might be a bit over my head.I’m trying to create a validation workflow that compares 50+ files against 3 main ones. They all have the same structure, except the geography field name that is to be used for the comparison.The 50+ files are all named with a similar structure > final_DOMAIN_GEOG_Distance or final_DOMAIN_GEOG_Driving. Pretty much the files are divided by domain and 3 geographies.The 3 main files are a compilation of all domains and GEOG. My thought process was to have 2 csv readers (1 for distance and 1 for driving) and a few parameters that would read the user choice for domain and geography and read the csv accordingly. I have two issues:the parameters for file path seem to work but the csv schema remains the same (eg, it’s reading the original reader before adding the parameters), so it doesn’t update the field name with the geography, when it’s different form the original one is it possible to create parameters that can be used in the tra
I'm getting a weird error at the very end of the log (after Translation was SUCCESSFUL) The dataset is LL-GDA2020 but at the end I get this, even after adding in a reprojector just in case and setting it to reproject from source to LL-GDA2020: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Feature Type: `'Attribute(string: windows-1252): `fme_geometry' has value `fme_point'Attribute(string: windows-1252): `fme_type' has value `fme_point'Coordinate System: `_LL-WGS84_0'Geometry Type: IFMEPointCoordinate Dimension: 3(148.19125855756474,-32.732898266064595,0)===========================================================================Unknown coordinate system '_LL-WGS84_0' specified - aborting+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Feature Type: `'Attribute(string: windows-1252): `fme_geometry' has value `fme_point'Attribute(string: windows-1252): `fme_type' has value `fme_poin
I have seen some partial answers to this while searching but nothing definitive.Can someone explain the best way to install a transformer [package] manually on Windows? More specifically, the emailer package from FME Hub. We don’t have internet connection to FME Hub so would need to download the package and install it. Does it have to be installed for each profile or can the users share a location for the package?Thanks!
Hi ExpertsNeed your support and Guidance.I was having p scanned PDF and exported a page of the map which was of 1984 and I need to extract the Points with location details with size of each point size so that i can differentiate them based on that.Main challenge is how to georefence it and I have vector file for the province and Extent and 30 M grid i was able to secure that but How can i proceed to georeference and get the details.Kindly Guide and support.I have attached the Image file with GDB of it https://drive.google.com/file/d/1SZXkbyDlMxL_cE0FPsiHKuuECl7k6HrW/view?usp=sharingThanks
When I go to publish my workflow from form to flow I get this error: However when I go to run it on flow, I get an error saying that it doesn’t exist: 58 2025-9-23 12:18:08 | ArcGISFeatureServiceReader: Connection 'connectionname' does not exist. Check connection parameter and connection definitions in FME options and try again59 2025-9-23 12:18:08 | Python Exception <NamedConnectionNotFound>: FMEException: 1: ArcGISFeatureServiceReader: Connection 'connectionname' does not exist. Check connection parameter and connection definitions in FME options and try again60 2025-9-23 12:18:08 | An error has occurred. Check the logfile above for details61 2025-9-23 12:18:08 | The below feature caused the translation to be terminated77 2025-9-23 12:18:08 | FeatureReader_2_<Rejected> (TeeFactory): FeatureReader_2_<Rejected>: Termination Message: 'FeatureReader_2 output a <Rejected> feature. To continue translation when features are rejected, change 'Workspace Parameters' >
Hello FME brains trust. I have a situation where I need to run a regular update that takes a supplied point and looks up a corresponding lot and plan (cadastre) and add it as an attribute to the point. I am currently using the Point on Area overlay transformer, which works, but the updates are only one or two points, and our parcels layer has over 3 million features, which takes quite a bit of time to read and run.I am hoping that there might be an alternative that basically runs a spatial query on the server side and only brings in the intersecting parcels or any other options that might help me streamline this process.
can you think of a tester or tool in FME that can check for polygons in a dataset which are separate (not connected) but have to the same objectID Ie . fixing this issue below:thanks!
Hi Everyone, I have a java-based custom transformer built with the FME plugin SDK. I created an HTML help file for my custom transformer, and I would like to link it to the transformer, so it can be displayed in FME Form when I right-click on the transformer and click help. Where does the HTML file need to be placed, and where/how do tell the transformer about the help file? Do I need to add something to the .fmw or the .java file, or both? If so, do you have examples or documentation on what code needs to be added? Thank you for your time!
Wow - new marketing campaign?!https://youtu.be/XaXGa_zijlo?si=_6mP-oYSZanl9ZfII think Im a fan
Just wondering what kinds of workflows do you all use to try to reproduce an issue in a workspace which was run on FME Server.I have some workspaces which have quite a few parameters and copy and pasting the parameters from FME Flow to FME Form is getting pretty old…Any clever workflows people have developed to set parameters automatically from a job?I’m thinking of putting together a tool/workspace to try auto populate parameters from a job but I wanted to see if I was just being dumb.I’ve been using presets to save time for a lot of the parameters which tend to stay the same, however, it I’m not careful I end up missing something and speeding time wondering what my results in Desktop and Server are different because I missed something small in the parameters
Hello Forum, I am reading in two .csv files into FME Form... csv 1Candidate_UPRNs.csvThis has just one column: candidate_UPRN. It contains 100 records. Each record contains a UPRN value in the candidate_UPRN attribute.Note for those outside UK: the UPRN is the unique property reference number (UPRN) from the Local Land and Property Gazetteer (LLPG). As the name suggests, the UPRN is unique and can not be repeated. UPRNs are managed in the LLPG. csv 2LLPG_PAs.csvThis is an extract our entire LLPG with around 169,000 records. It contains multiple columns including UPRN. I want to filter LLPG_PAs.csv down so that I am only using the records that match (using the UPRN value) with the records in candidate_UPRN.csv (i.e.: the 100 records). Before I take the workspace on further from that point I need to establish the filter first. I’ve looked at SpatialFilter, but not sure that’s ideal. Any advice would be welcome. Thanks,