Using transformers to modify data.
Recently active
Hi,the AttributeTrimmer transformer does no longer trim correctly after updating from transformer version 3 to version 4.In my workspace I use the AttributeTrimmer to strip whitespaces from attributes. This used to work as intended and as described in documentation. It stripped all whitespace characters from the attributes, regardless how many there are. Recently I upgraded this transformer from version 3 to version 4. The new version works differently after that. Now it strips only 1 whitespace. When there are more of them at the beginning or end of the attribute the rest of them is left untouched (i.e. if there were 3 whitespaces at the end of a string entering the transformer, the result still has 2 whitespaces at the end).This seems to be not working as intended and described in documentation and should be changed in a future version. I use this transformer a lot to clean up attributes for comparison.Can someone else confirm this problem?Kind regards,Andras
Hi all,I’d like to use a FeatureReader transformer to read in an ArcGIS Feature Server and then have a user specify which specific Feature Service they would like to process. The Feature Server has ~15 services whose names I have added into a parameter. I added the parameter to the “Feature Types to Read” option, but can’t get the tool to successfully read in the service that I specify. I attached a screencap of how I have things set up so far...does anyone know how I can accomplish this? I think I’m close and might just be missing something small.
I’ve imported a topographic map that is in GeoPDF format. I want to convert to GeoTIFF. I see advice posted to put an ImageRasterizer between the reader and writer. My question is how to set up the ImageRasterizer “rows and columns” data. Where do I get this data? ThanksBill
I’m having a workspace with some connections to files that are on sharepoint. I did create the correct setup with the web connections to have a sharepoint account with client & tenant id etc in it. workspace works fine at my side, but the account that was provided is an account that has access to a lot off stuff.When I want to share the workspace with production so that they can run it, they also need to have the webconnection present in their workbench to get it to work (otherwise sharepoint online connector turns red etc).With this they can actually access more files than what is stricly needed (even though my workspace is password protected, nothing stops them from using that account for fetching different files) and this may lead to security issues.Although using a account with limited access to files on sharepoint would also help, I’m wondering if there is a different way to access files from sharepoint? I’m comparing it a bit with database connections:Connections are convenie
Hello, i am looking for a transformer that changes all objects of a dgn or a gdb by a certain amount in their z-value.Please help. Thank you.
Hi, Can someone explain the following behaviour?Goal: create one mesh with each surface as a ‘flat’ color’ without shading. Problem: I get a shading effect that I do not want after merging many faces into one mesh. Images are attached. The first image is correct, it shows each side as one flat shading of the color #c8c8c8 (200, 200, 200). This is when I applied that as appearance to each single part (40.000). After merging all these 40.000 Faces or Meshes into 1 mesh, a new shading is applied that is undesired. I use MeshMerger with default settings. Can someone explain to me why this is happening and how I can prevent this to happen? If I re-apply the appearance to the single mesh it still gets the shading. Why is this happening? Where is it coming from? I also tried using appearance from a single jpg with the solid color, but this also did not work. Thanks.
I have an issue in which my HTMLExtractor does not give the page time to load before it returns a null value for the DIV im trying to scrape. It works well on pages that load quickly, but this particular page can take up to 10 seconds to load. How do I work around this? Thank you!
How to identify Geometry and Street name attributes gaps continuity checks considering the flow of street name starting point to end point where street name ends.Please help me in this continuity checks logical approach or any flow of transformers to consider for this street name attribute values checks for the complete stretch in the geodatabase line feature file or shapefile.
I find that the string functions on FME2024 don’t work similarly in FME 2023, in this case, it led to some problems with the outcome as not expected. Example:I have 2 strings:“EMD-1” “ÊMĐ-1”I use string functions as below: I received 2 outcomes differently:With the text 1: Count_index = 4With the text 2: Count_index = 6It is not right, in FME 2023 the outcome is 4 for both situations.Is this a bug in FME2024 ?
Hello,I have just upgraded to FME 2024.1 (was originally using FME 2022) and when running an SQLCreator using ODBC3.x I get an error, this was working just fine when using FME 2022.What’s strange is that even though I receive an error, all expected features are semi-cached and observable in the translation view as shown in the picture, the problem is that I can’t continue to run the following transformers as FME is taking it that the SQLCreator failed.Does anyone have any advice on how to get around this? My SQL code is fairly simple, just pinging an Azure database and doing some basic joins (the code also works fine when running on Azure Data Studio). Thank you!
I am using the FME objects python API including the FMEUniversalReader. fmeobjects.FMEUniversalReader — Python FME API FME 2024.1 b24615 documentation (safe.com)In the documentation for this API it says to pass “Reader’s type mneumonic as found in the FME Reference Manual Part II” but the reference manual isn’t linked.It isn’t in the admin guide: FME Desktop Administrator's Guide (safe.com)And Safe Docs just link back to the python API Search (safe.com) which doesn’t actually tell me the mneumonics.When I pass it’s reference in the UI for FME Form I get this error in my python caller.This FME edition does not recognize the `ARCSDE GEODB' reader. Please ensure that the current platform supports this reader, the reader name is spelled correctly, and that you have installed all required plug-insThe reason I am doing is because of this issue; AreaonAreaOverlay with intersecting features | Community (safe.com) and using the python caller seems like the best median to keep this in FME.
I have a glut of features of multiple types coming in from a handful of .ifc files. I am attempting to write a transformer as a proof of concept that will allow me to filter the features (currently 174000+) to different writers based on a small difference within their source filenames. Basically what I want to know is if it is possible to use the text editor to create an “if filename contains text (abc)” filter. If not, what would be the best way to filter for something like this.
I need to use the PythonCaller because the area on area overlayer doesn’t work with my input featureset. I want each polygon in featureset A to overlay against all the polygons in Featureset B (which does not self intersect) and then drop overlays with NA values in specific columns. I found documentation for the fmeobjects.PythonCaller, but the documentation doesn’t include how to actually run the transformer.fmeobjects.FMETransformer — Python FME API FME 2024.1 b24615 documentation (safe.com)i.e. what do I do with f = fmeobjects.FMETransformer after I’ve set the attributes?Additionally, it’s unclear what the parameters are for this object, as there is no function definition returned to define what is required for each transformer type.AreaOnAreaOverlayer (safe.com)Related questions:AreaonAreaOverlay with intersecting features | Community (safe.com)Where is the FME User manual | Community (safe.com)
Is there a transformer that can create classes based on natural breaks, quantiles or equal Intervals?
I have a complex workflow where a specific attributes, i.e. “PositionID”, which are referenced across multiple transformers. I need to rename these attributes to another name throughout the entire workflow. Manually opening each transformer to change the reference would be very time-consuming.Is there a way to quickly rename this attribute in all transformers without having to edit each one individually? Any tips or tools within FME that can help streamline this process would be greatly appreciated.Alternatively, next time I create a project can I set these up as parameters or variables and reference them that way and hence change them more easily? Thanks
Hello,I am trying to start a workbench that uses data from my enterprise geodatabase. I have a feature class called WaterDevices and it has attachments. However, the FeatureReader does not read the relationship class. I attached an example where does read the relationship class in a different enterprise geodatabase for sewer.I’m not sure where to start troubleshooting this. Any advice would be appreciated. I’m on FME Form 2024.0.3.0.
how to find the all paths between start node and end nodeexactly i have 8 nodes ,as point A,B,C;D;E;F;G ;Hi want to check the all paths possible what ever the length of path but i want to find any path available between every Node between Node A and the rest of nodes (B,C;D;E;F;G;H)then checck between Node B and the rest of Node (A,C;D;E;F;G;H)and so on ,i want to check between one node and the rest of nodesfor sure some of them has no connections liens ,i want to define that also which two nodes has no possible paths. i used shortest path finder but i think,it is working only to find the short path between path A and path B,but i want to find all possible paths between A and B even it is long or short and get the id of each line through this path . i prepared my network so all lines are connected without any gaps so i have now paths between some nodes and some not depend on the network .Thanks for any help
Hi friends,I am trying to do converstion from a vertices to lines that I am working on for a somebody. He use a GPS to track prarire dogs for his work.So I looked at the shapefile he provided me and it has no GPS. So I create them with the latitude and longtitude. What I am trying to do here is to use the LineBuilder here and then use writer to create a new shapefile…It came out nothing…What might I go wrong here ? I work for US agency and we have FME Desktop 2022.2 version. Do not ask me why. Thanks
Hello dear community,For our student project, we need to provide an evaluation using the FME software. We obtain our data via a REST API, which has a limit of 500 records. The output is provided in JSON format, and the JSON is structured as shown in the code. { "count": 523, "totalCount": 523, "results": [ { "score": 0.3534, "object": { "id": "1234234", "type": "LO/LOV/LOVZ", "leikaKeys": [ "99005004114000" ], "name": "Reisepass beantragen", "teaser": "Zur Einreise in bestimmte Staaten benötigen deutsche Staatsangehörige einen Reisepass. Über die Einreisebestimmungen weltweit informiert das Auswärtige Amt auf seiner ...", "textBlocks": [ { "type": { "id": "835343545", "name": "Type (z.b. PostAdress, Telefon, Stadt, etc.", "description": "Beschreibung/Hinweise", "key": "KEY", "notPublic": true }, "text": "Da
Which transformer can I use to identify overlapping polygons in a single dataset and show them as the output.
I have a very large dataset where all of the polylines have elevation that should be measure data. The custom transformer ElevationtoMeasureCopier is such a memory hog that the workbench is failing on my computer and on my server. Is there a different way to copy the elevation data to measures?
I have two workbenches, in which the emailers fail every night, the error being:Emailer_<Rejected> (TeeFactory): Emailer_<Rejected>: Termination Message: 'Emailer output a <Rejected> feature. To continue translation when features are rejected, change 'Workspace Parameters' > Translation > 'Rejected Feature Handling' to 'Continue Translation''Error encountered while calling method `input'for the one that runs first, and:Emailer: <class 'TimeoutError'>: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respondfor the second. First is an all out error that terminates the workbench, the second just being a warning, but the outcome is the same - no emails sent! It works perfectly fine on FME Form, and it was working perfectly fine on FME Flow for the last 2 months, now all of a sudden, it has stopped. This isn't affecting
I have a summary query with GROUP BY, HAVING, and ORDER BY clauses and I would like to send an email with the results from this query. My workspace can send html results of a query of listing all the records but that is not the summary I’m looking for. The Aggregator transformer doesn’t seem to have what I’m looking for either. Is there a way to send the result of this query shown below? My data is in SQL Server. SELECT caseID 'ID', count(*) 'Count' FROM my_table group by caseID having count(*) > 1 order by count(*) desc
Hi everyone,I am currently comparing lines in database A and database B, and I want to categorize them based on distance from each other:If line A < 10cm line B → class 1If line A 10 - 30cm line B → class 2If line A < 30cm line B → class 3I thought I'd do this using the Clipper transformer: if part of line A is within 10cm of line B, and another part of line A is 12cm from line B, I want line A to be split. See my workflow below:I have my Clippers grouped by ‘type’ and ‘level’, so [railroads on level 1] are compared to [railroads on level 1] and [road lines on level 2] are compared to [road lines on level 2]. I have Overlapping Clippers set to ‘Clip Interim Results’ and I am generating a list of IDs from line B on line A. This is the situation im currently facing:Database A in red, database B in black and a 10cm buffer around database B in grey. The darker grey area is where the two database B buffers overlap.In the situation above I want to compare ID_A = 1 to ID_B = 1, but ID_B