Using transformers to modify data.
Recently active
Hello , I'm working on finding the path for specific lines and reorder points .I have several lines, each defined by a start and end point, but these lines also contain intermediate points. Should I merge the intermediate points with the lines before using a shortest path finder, or how will the transformer know which intermediate points belong to each line if I don't provide them? My goal is to reorder all points, including the intermediate ones, to find the correct sequence from point A to the final point, such as A, B, C, D, E, F, G. Thanks in advance
Hello, I am seeking help with using a Regex to replace the first instance of an underscore in a string. I am using a BulkAttributeRenamer to rename a series of attributes with multiple underscores like this as an example: 0_4_C11_M I am trying to replace just the first underscore in the string with a dash with a regex replace to change the name from 0_4_C11_M to 0-4_C11_M. The regex I’m using is ([\_]+) When I test that expression in RegEx101 is does exactly what I need and only replaces the first underscore in the string as shown below:However, when I use the same expression in the BulkAttributeRenamer it’s returning and replacing all underscores as shown below:Hoping someone can help with advice on how to limit the return to just the first underscore in the string please - it the expression incorrect or is there something else I need to add to the parameters? Thanks :)
I am trying to find shortest distance from all points in red to all other points in green using network connecting all of them. The point feature has only types (A,B).Is it possible to have the short path finder to search the path always staring from point A to pint B.
Some workspace of us is using ogr2ogr to move data from one postgres db towards another (more performant then setting up a FDW in postgres itself and more performant then FME for doing the data move).Calling this via the system caller shows all information in the log file (including password information). Is there a way to avoid this more recent then this post:
I am creating a set of workbooks which require the correct value being set on a session based temporary table in a postgis database. To achieve this, I am using a multiline sqlexecutor, where the first query calls a function which sets the values, and the second query returns the values. The issue I am having is that the transformer is only returning a value for the first function call. FME_SQL_DELIMITER ;SELECT sms_1transact.goto_checkpoint('$(end_transaction_name)');SELECT "A"."fid", "A"."theme", ST_Envelope("A"."geom") [...] -- « This is the result I want returned by the transformer. I cannot change anything about the database I am getting the data from, as it is third party, and isnt in scope for change. For an earlier call, I am using the “SQL to Run Before Read” on the Reader, which works fine, but this second query is dependent of the values retrieved in the first, so needs to be inline.
We have been putting together a transformer using the FME Packages SDK using FME Packages SDK Guide. As part of the package we are using the fmeobjects.FMEUniversalReader to read features. When we pipe the features to pyoutput to one of the transformers output ports all the attributes are not exposed. As the UnversalReader in our package references parameters in the transformer the attributes will not be consistent. Is there a way to make the attributes exposed on the output?ThanksBrad
Case: To get an unified look I am trying to aggreagate line features before offsetting them. Once they are offset I want to deaggregate them back to their original geometries and attributes. I assume using ‘Geometry - Assemble hierarchy’ in the Aggregator is the way to go. Unfortunately I find the documentation a bit confusing.Q1: Could someone please explain the parent - child concept? I have features and their attributes, so two(?) levels deep. I want to “pack” and then “unpack” them. But I don’t understand where to get the ‘parent ID’ or ‘child ID list attribute’? It would make sense to me that they were created when I group the features, not before?Q2: In the documentation the word nodes is used frequently. I guess this should be understood as ‘parts’?NB this might not even work. When using the setting ‘geometry - assemble one level’ features wont deaggregate after being offset. If it is also so when using Hierarchies, is there an other tool to achieve my desired result?
As the short path finder requires FROM.TO. input with line terwork.I have a data that has 680(From) and 1882(TO). So the From To table will be 1,279,760 record which takes too much time. For analysis..My data extent is 1500m*4000m.The farthest From To path in my data never exceed 300m.My idea is to create a table using neiblghbour finder to search for all( From) point to TO points with a tolerance 300. OR within a boundary.Or something like excluding the To found with minimum distance shirt path finder found.Is this valid?I'm trying to minimize the matrix created by FME to reduce the process for short path finder.Any help or ideas.?
Hi, I have multiple lines / links that each have attribute per feutureID Vehicle Load1 02 3003 250 In this case I would like all of them to create a single line with the total load, so new ID:4 and load:550. not keep the old ones. This is the easier part however ther are intersections as well. Some times very complex ones:Preferably this should be 2 lines with one node in the center. Maybe 2 parallell ones for the left lower part. I have done similar before with snapper and topologybuilder but would appreciate help. I used segment snapper.My workspace
I wish to implement a filtering procedure for the vertices of each polyline. The goal is to retain only the vertices where the elevation difference between consecutive points exceeds a specified threshold, for example, 10 cm.I have developed a script that extracts all the vertices and identifies them based on the polyline to which they belong, as well as their specific index. The process involves testing the elevation difference between each pair of consecutive points. If this difference is below the threshold, the point should be eliminated, and the process moves on to the next point.Example of the process:If Z_PL1_1 − Z_PL1_2<0.1, then point PL1_2 should be eliminated. Next test: If Z_PL1_1 − Z_PL1_3>0.1, then the point PL1_3 is retained. Next we test PL1_3 with the other points of the polyline excluding PL1_2, and so on. This principle is applied iteratively to all polylines.Problem encountered:I am facing difficulty with the implementation of iterations to apply thi
I have a workspace which writes multiple tables to a single Geopackage. When running manually it works with no errors but when running via tasks scheduler it fails with the following error: OGCGEOPACKAGE writer: A file system object called '\\xxxx\output.gpkg' already exists.2025-02-10 07:35:51| 25.2| 0.0|ERROR |OGCGEOPACKAGE writer: Unable to open or create file '\\xxxx\output.gpkg'. Please ensure the specified file exists and is accessible2025-02-10 07:35:51| 25.2| 0.0|ERROR |OGCGEOPACKAGE writer: An error has occurred. Check the logfile above for detailsHow can I avoid this happening? Is this happening because multiple writers trying to access the same GeoPackage file simultaneously, causing a conflict? Thank you!
Hello everyone, I am reaching out because I have run into a problem recently and searched through previous thread and couldn’t quite find my issue with a solution.I am running into a hang up when I run a workspace that triggers an additional workspace through FMEFlow using FMEFlowJobSubmitter. I will paste an example of what the log looks like. FMEFlowJobSubmitter: https://your.specific. - Submitting a request to run workspace 'Your-Workspace' in repository 'YourRepository'…FMEFlowJobSubmitter: https://your.specific - Failed to submit request to run workspace ''Your-Workspace'' in repository 'YourRepository'FMEFlowJobSubmitter - 'Failure when receiving data from the peer' My workflow is submitting around 70 jobs so after this error occurs around 15 times the error switches to:Error: Failed to update access token.FME Flow error: `FME Flow error: `929026:Error: Connection reset''FMEFlowJobSubmitter: https://your.specific - Failed to submit request to run workspace ''Your-Workspace'' in r
Is there any possibility to use an if statement similar to the xmlTemplater: https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/Transformers/xmltemplater.htmThe following code in the jsonTemplater returns the error "JSONTemplater_2(XMLTemplaterFactory): The following error occurred near line 2, column 50 of the query:JSONTemplater_2(XMLTemplaterFactory): invalid expression: syntax error, unexpected ExprSingle (missing comma "," between expressions?)"Suggestions and code samples would be very welcomed.{ if (fme:get-attribute("IS_GRENZPUNKT") eq "1") then "1": {} else "2": {}}
I am getting some really strange results when trying to offset aggregated lines. The fat red lines below are aggregated. This is sent to an OffsetCurveGenerator, thin pink lines. In this instance it seems like the OffsetCurveGenerator treats the lines as individual parts and offsets them to different sides (I am looking at only left channel out here). In other cases it fuses the lines into unities that can not be restored afterwards with a Deaggregator.Any ideas on how to resolve this, or workarounds?Edit: I went back and checked the geometries in the examples below, there where to complaints in the GeometrValidator. This is a spinoff from my previous thread:
I have this XML that I want to update:1<?xml version="1.0" encoding="UTF-8"?>2<batch name="Simple Batch" default="root">3 <!-- This is the starting task -->4 <target name="root">56 <openmodel file="c:\\temp\\test.smc"/>78 <updatemodel file="c:\\temp\\test.ifc" with="c:\\temp\\test.ifc"/>910 <savemodel file="c:\\temp\\test.smc"/>1112 <exit/>13 </target>14</batch>I want to read other files, for example, test1.ifc and test2.ifc in FME, and I want to add them to the XML to be like this:1<?xml version="1.0" encoding="UTF-8"?>2<batch name="Simple Batch" default="root">3 <!-- This is the starting task -->4 <target name="root">56 <openmodel file="c:\\temp\\test.smc"/>78 <updatemodel file="c:\\temp\\test.ifc" with="c:\\temp\\test.ifc"/>910 <updatemodel file="c:\\temp\\test1.ifc" with="c:\\temp\\test1.ifc"/>1112 <updatemodel file="c:\\temp\\test2.ifc" with="c:\\te
Am using DateTimeConverter to change date YYYYMMDD into YYYY-MM-DD (CSV File), it is converting it when check on Visual Preview. But when open in excel, does not show it. Seeing FME_Rejection_Code = Invalid Input
Hello, I have 4 excel documents hosted on SharePoint, I am using a FeatureReader taking in a temp download path. As can be seen the 4 items are being opened successfully in the featurereader, but the data is not grouped in any meaningful way for me to extract and sort out the various excel documents data (which is varying formatting, some have multiple tabs with differing data/headers between them, as you can see there are 14 schemas (total tabs within excel docs), and 1546 generic bits of data (total rows))I’ve read that I can re-group the datasets by using fme_basename but I cannot work out how to expose this, I’ve found the post below, which offers suggestions of how to expose that data. But the solution it offers is not applicable, I am using version Does anyone know how I can expose the fme_basename?ORIs there a better way to do this?
Hi All,I’m using the JSONTemplater and I am getting the following errors from FME when it parses the root template:JSONTemplater (XMLTemplaterFactory): The following error occurred near line 81, column 59 of the query:JSONTemplater (XMLTemplaterFactory): "fme.get-attribute": function with arity 1 not declaredIn the root template, I have the following starting on line 80: "Subfeature1Array": [ fme:process-features("Subfeature-First", "xxxNumber", fme.get-attribute("xxxNumber")) ], "Subfeature2Array": [ fme:process-features("SecondFt", "xxxNumber", fme.get-attribute("xxxNumber")) ], "Subfeature3Array": [ fme:process-features("ThirdFeat", "xxxNumber", fme.get-attribute("xxxNumber")) ]Both the root features and the sub-features have an xxxNumber attribute. I am following what is documented in the Help for the JSONTemplater “Selecting the Sub-Features to Process” section example but have no clue what the issue is. Any help would be greatly appreciated!
Hello Community,I have data in the following format:Attribute value field1 a field2 b field3 c field1 e field2 f field3 g field1 j field2 k field3 l Which transformer can I use to transpose my data into this format? field1 field2 field3 a b c e f g j k l The names field1, field2, and field3 can be dynamic, and their number may also vary
I am using a WorkspaceRunner so that I can run multiple times the same FME workbench on different DNG separately. Just to be clear I will call the WorkspaceRunner to the workbench that runs the “child” workbench, and i will just call Workbench to the child workbench. I was all working fine the first times and now I find that some User Parameter (in my case “DNG”) I was “sending” from the WorkspaceRunner to the Workbench is not working anymore (I didn’t change the parameter in the WorkspaceRunner but maybe i used it in more places inside my Workbench). When I run it directly inside my Workbench it makes no problem. But when I run it from the workspacerunner the following error appears: ERROR : Undefined macro `DGN' dereferenced in file `G:\Buzon\Miguel\CQ_topologia_copia\wb-xlate-1738321227449_8672'I think the wb-xlate is a temporary file of some sort. I have a wb-xlate in the root of the project but not the name does not match the one appearing here. That wb-xlate actually contains th
Hello Everyone,I am trying to use RCaller in FME 2024.1.3.0 with R version 4.3.3.To get started, I followed the tutorials, but in every case, the script gets stuck at RCaller. There are no errors or warnings—it simply does nothing and keeps running indefinitely.The last thing I see is: It seems that the connection to R.exe is working.Does anyone know what beginner mistake I might be making?
Hi All,Need your help fix the below scenario,I have a dataset approximately 100,000 records and these records have Polygon geometryI am using "aggregator" transformer to group the records as per column attribute and it creates 100 aggregated records.My requirement is to show each aggregated record as 1 shape on the map when user clicks on it.Issue: I am facing issue with geometry aggregation. When I plot data on ArcGIS online, I see all 100 aggregated records, but see some empty spots on the map.If I plot the same data on map without aggregating it, it plots fine.looks like something is going wrong with geometry aggregation.Would really appreciate if you could provide some input on how to handle it.Below is the configuration of my Aggregator transformer, Thanks,
I’ve got a test filter with about 12 different output ports. My goal is to unfilter all of these but have an attribute of “test result” and the value set to which output port the feature filtered through. Is there a way to expose the output port name? I know I could add attribute creators after each port or set one with a conditional statement but was hoping there was an easier way.
I am using FME Form 2021. I have been running two workspaces for about a year now. These upload spreadsheets to an SFTP site. Every once in a while, I get this error message: The FTPCaller Error Message from the Rejected Port:Error in the SSH layer This error prevents the spreadsheets from being uploaded to the SFTP site. Usually, the error seems to go away after a few days with nothing done on my end, and then the workspaces run normally. There does not seem to be a pattern of when the error is received. I checked the Log Files, and they show nothing unusual. I checked with our IT Network Admins, and they say nothing is blocking files from being uploaded to the SFTP Site. Here is a screenshot of the parameters in the FTPCaller Transformer I use: Questions:What is the cause of this error?Could the error be on the side of the folks who manage the SFTP site? (outside my organization)Is it a bug in FME Form 2021?Is this error received when using FTPCaller Transformer in FME Form 2024?Ho
Hi, our ArcMap license will expired tomrrow and will not renew after it expired. Also, I have Arcgis pro installed on my machine and the license is valid (will not expire).Currently all of my script setting is set AUTO under the “Esri ArcGIS Compatibility” . Will the AUTO setting pick to ArcGIS Pro license, after ArcMap license is expired? or do i have to manually set to ArcGIS Pro in each FMW script individually?“FME Workspace, go to Navigator --> Workspace Parameter --> Translation --> Esri ArcGIS Compatibility --> AUTO”thanks,Wilson