Using transformers to modify data.
Recently active
Solved with LISP (.lsp) and csv export. Read my last post I working on a script that need to test some parameters in a hundres of dwg files.Just to make it short. Autocad_layer_frozen and Autocad_layer_description are two attribute that I need to check and what I use in this example. However, the only way I have succeeded so far to get empty layers visible is to use a dwg reader and choose individual file types. B No data of course. Nothing is read since the layer is empty. Both DWG reader and feature reader can only read layers that are not empty. Feature reader and with format "Any schema" can read all layers, also empty layers, but does not contain the native autocad attributes like Autocad_layer_frozen and Autocad_layer_description. Is there any way to read empty layers to get all the attributes that exist in a autocad layer feature with only use of FME?
I'm wondering how to use the Python Caller transformer to run the arcpy.RepairGeometry_management geoprocessing tool. I'm working with some input File Geodatabase data that's getting re-projected and producing self-intersections. The Geometry Validator transformer is identifying these but not repairing them (i.e. they come out the Failed port, not the Repaired port). I confirmed that using ArcGIS Geoprocessing tools on the same machine fixes the self-intersections, so I wanted to use the Python Caller to do the exact same thing in the context of the FME Workspace. What I'm getting is a generic error though, see below. Maybe my syntax is incorrect but I've tried a few different ways and haven't had success. Any help would be appreciated! Python Syntax:import fmeimport fmeobjectsimport arcpy # Template Function interface:# When using this function, make sure its name is set as the value of# the 'Class or Function to Process Features' transformer parameter
I have a query relating to raster analysis in FME Form using the RasterExpressionEvaluator I want to extract the maximum value of each pixel from a multiband raster, so for example if band 3 has the maximum value compared to bands 1 and 2 for a particular cell, only the value for band 3 for that pixel will be extracted and used in the resulting single band raster. The syntax I believe should work for this is as follows in the attached image but I cannot get it to work. The "maximum/max" functions are unavailable in the transformer and I am thinking that this logic not be usable on data of this type or within this transformer. Can anyone confirm if maximum syntax is workable on this transformer or even have another method of how to go about this? Thanks Andrew
Hi, I'm recently working on a workflow that creates a customs IFC property set and pushes it back to an IFC file. I have gone through all the materials I can find online but still encountered a problem. The GeometryPropertySetter successfully outputs the traits I intend to set (see column 1&2 in the attached image) but for some reason they can not be written in the IFC file. I can supply more info if required. Does anyone know what is causing this? Thanks a lot.
Hi, I have a workspace that write to SDE using a dynamic schema. The schema is build from an excel sheet where I have the name of the field, the type and the alias. I manage to write to SDE with all the correct parameter: attribute{0}nameattribute{0}.fme_data_typeattribute{0}.native_data_type The problem is that I cannot find a way to write alias. Anyone know if this is possible within a dynamic schema? thank you!
Given a call to a stored procedure like this:declare @return_value intexec @return_value = dbo.myProcedureHow do I re-assign @return_value to e.g. an attribute or a variable?
Got a situation where I would like the store attribute values, @Value(attribute_name), in some HTML code which itself is stored in a SQL table. The idea is that the @Value(attribute_name) will be different for each of our clients, sending them a personalised email based on their own data. Currently FME reads the table in and keeps everything as plain text, @Value(attribute_name) does not get replaced with the appropiate attribute value. Is there a way to get FME to recognise the attribute names in the HTML code and replace it with the appropiate attribute values? if I copy and paste the HTML code into atttributecreator then it works as expected, however we would like to manage all this in SQL server - saving us having to update the workbench everytime there is a change required to the HTML Thanks
Hi, i have a problem where most of a large number of point clouds are missing the first number of the gps_time attribute, so "367091181.0231084" should be "1367091181.0231084". It is always a 1 that is missing at the start.What would be the best way to go about changing this attribute for every point in every pointcloud?The context for this is that the point clouds are data from lidar mobile mapping and need to be matched using the gps_time with trajectories in another software.Any help would be much appreciated.
FME(R) 2023.1.1.1 (20231011 - Build 23636 - WIN64) Hello As stated in the subject line, the Feature Caching icons can be seen in the "Main" tab but not showing in the "Custom Transformer" Tab at all. However the features are cached. So I think they are just missing. ThanksSameer
Hello, I would like to prioritize a layer using the AreaOnAreaOverlayer transformer, is it possible ?Thanks
Dear All, I am experencing the following problem on FME (FME Desktop 2022.1.0.0 - Build 22618 - WIN64) : when I work with PythonCaller, my workspaces randomly crash. For example, starting from empty workspace, I add a Creator followed by a PythonCaller ; run to the PythonCaller -> it works fine ; I add "import arcpy" in the PythonCaller and run -> it works ; I add "print("hello")" in any function of the FeatureProcessor class -> it crashes. Also, the crashes happen in an unpredictable way : sometimes, it crashes after having inserted "import arcpy" ; sometimes I can add 2-3 five more lines in the function of the FeatureProcessor and it works and then after 1 more line it crashes. By crashing, I mean the following : after clicking "run", the mouse cursor takes the form of a blue waiting circle during a few seconds and the window suddenly closes -> when it crashes, it seems that the translation never really starts (nothing ha
Hi, I want to amalgamate polygons from a map of natural environments to distribute it on a larger scale (1:5000 to 1:25000). For this I used the AreaAmalgamator tool with the settings that can be seen in the photo. I have 12193 objet in total. However, the software has been running for 10 hours and nothing is happening. Has anyone ever had this situation?
For instance, one 58 unit apartment results in 17 rows with variously 1-24 units added together. We can't explain why this is happening but need to fix it. Have also tried adding a dupliate filter and another aggregator but this didn't work. Any suggestions are appreciated.
I have used @PadLeft(@Format(%.3f,@Value(FLOW)), 8) in an earlier attribute manager in the workspace to format the values to three decimal places and pad left. My output data and workspace are as shown below:
I have polyline data representing roads and point data representing mile markers. The points are on the line, so PointOnLineOverlayer does segment the line as expected. The point data has a Measure value that I want to use on the line, how do I set the measure value of the points to the lines?
Now that LDAP/Active Directory reader have been put on the deprecation list in FME 2023, I'm trying to find an out of the box solution in FME to update my workbenches and continue using it.
I am writing a shutdown script to logg a workbench result to a postgres database.To log the output location of a gpkg file I am fetching a public parameter like so fme.macroValues['dest_path']But i get some weird formatting where backslash etc ar written as verbose text instead of the actual path? How can I get the actual path? C:<backslash>Users<backslash>User<backslash>Documents<backslash>FME_proj<backslash>20230913_FME<backslash>WIP<solidus>output<backslash>myoutput.gpkg
My input attributes have numeric or string values, with possible empty string values.I would like to replace empty string values with Null. When I use the option "Substitute Missing, Null and Empty by: Default Value", and set "Default Value: <null>", nothing happens. The values remain unchanged (with empty string values). I can get the desired result with the help of "Action:Set Value" and Value: Conditional Value -> If ATTRIBUTE IS EMPTY -> Value <null>". I know I can use the Null Attribute Mapper transformer, and the Set Conditional Value method above, but using the"Substitute Missing, Null and Empty by: Default Value" option seems the most elegant to me. Have I misunderstood the purpose of "Substitute Missing, Null and Empty by: Default Value" or am I using it the wrong way?
I am using the attribute validator to test a list of pavement marking line marking types coming from a AutoDesk SDF. The validator is throwing false errors when I use the "In" ValidationThe list of values in the rule configuration are: Broken 1-1,Broken 1-8,Broken 3-3,Broken 3-6,Broken 3-9,Double Solid,Simultaneous Solid/Brkn-1,Simultaneous Solid/Brkn-2,SolidEverytime I run my workbench Broken 3-3 is reported as an error even though I've verified that the spelling is correct.I've also tried subbing out the commas with double quotes and it doesn't seem to work either.
Hello all, I frequently used the FeatureMerger or FeatureJoiner transformers. However, none of them seem to offer a join based on an expression, such as checking if a value from one table contains a value from another table. How can this be achieved? Thanks for any assistance.
I have a polygon layer that was digitized manually and as a result, has some issues with overlaps and gaps. However, the first issue I would like to solve is making the polygons have right angles. They are all square or rectangle-type shapes so each vertex should have a 90 degree angle. Is there a way to manipultate the polgyons so that they are all at right angles? At this point, I would be able to check for snapping and other issues. Thanks!
I am trying to reproject a wms from the Environment Agency (https://environment.data.gov.uk/spatialdata/risk-of-flooding-from-surface-water-extent-0-1-percent-annual-chance/wms) from WGS 1984 to British National Grid. I need to know the cell size so I can provide a degree of accuracy of the data and have confidence in my areas of intersect calculations with some polygons. However, when I use the Reprojector, the spacing seems completely off. If I view it in ArcGIS Pro, the cell size appears to be 2m, which seems sensible. I have tweaked the parameters in the Reprojector but this doesn't give me the correct cell size. Any ideas what I'm doing wrong?
I have an Esri ArcGIS Binary Grid and a line shapefile. The shapefile was produced by the Surface Draper transformer, so it is 3D and has Z values at the verticies from the same Grid. The Z values that I would like to generate at a 10m interval can be output to a csv, instead of being applied to the shapefile: that is, I do not require verticies to be created in the shapefile at a 10m interval. Just need the interpolated Z values every `10m down the line. Thanks!
To ensure our database's data integrity, which is periodically enriched with measurement data governed by users, we use FME to create data validation reports in Excel. With these reports, users can correct their data iteratively. To make this work, we use SQL statements stored as attributes in a table. Depending on the report to be generated, SQL statements are fed into a SQLExecutor transformer as attributes. At the time of writing, we employ close to 500 validation queries, each with their own set of columns as well as amount of columns. The picture below shows how the queries are inserted into the SQLExecutor as an attribute. This is then routed to a dynamic Excel writer by using the SchemaSetter custom transformer. The Excel report is generated as expected, except for the column order, which is sorted alphabetically instead of the order specified by the (dynamic) SQL queries. Is there a way to preserve the column order specified by the SQL queries instead of having them sorte
(Disclaimer: I have only rudimentary understandings of the inner workings of XML.)The source below is a GML file where I need to fragment/flatten the elements shown. I would like to be able to treat them as "normal" features with regular attributes. I am using the GML-reader associated with this specific data source, Norweigan SOSI, my settings are also below. Q: What would be the best way to flatten this data? (Or would the XMLfragmenter be a better tool? I must admit I find all this a bit confusing)