Using transformers to modify data.
Recently active
Hi,I don't have a specific problem that I'm trying to resolve, I'm just looking for opinions/discussion on alternatives. More of a "poll" on what types of solutions people might be currently using...The SchemaMapper transformer can be very handy but it definitely has it's limitations and it feels like it's getting a bit long in the tooth. I don't think there have been any significant changes made to it in several years, so I was wondering if people are still using it, or what design patterns might be used as an alternative?Some of the limitations of the existing SchemaMapper transformer that I'm aware of are:No ability to parameterize input parameters, esp. the schema mapping fileNo way to perform complex "and/or" conditional mappingNo way to use conditional operators other than "=" in mapping rules (e.g. <,>,!=, in, like, etc.)No way to map if null/empty/missingAside from manually performing these mappings in the workspac
Hi. I want to write my file which consists of some IFME Faces to Ground, Roof and wall surfaces. But the results after Writers are IFME null. How can I fix this Problem? I need some faces at the end
Hi community,I would like to divide a specific road by equal segment of 10 meters. Is it possible, and which transformers should I try? I tried some, but it didn't result with the result I'm looking for. Thanks.
I am writing out AutoCAD points--no blocks--to a new CAD file, but I want to save the Block Name, Layer Description, and Source File info for use later. For that purpose, I have created three User Attributes (in Manual definition mode) in the User Attributes tab of the CAD Writer: BlockNm, LyrDesc, and OrigSrcFile, respectively, and populated them with values from existing attributes. When I look at the attributes of the output CAD file in ArcGIS (Pro or Desktop) or in AutoCAD Map 3D, I do not see these added user attributes. During translation, I get a warning message that the OrigSrcFile value had to be truncated (I'll handle that later), so it appears that the Writer is actually writing out those user attributes. I just can't see them in ArcGIS or AutoCAD. Should I be writing out the User Attribute differently to make them accessible in ArcGIS and AutoCAD? (I do see in help files that ArcGIS Pro reads user-defined block and Civil 3D attributes, but the help does not e
Hi I've tried following the recipe in this article https://community.safe.com/s/article/Using-the-Directory-and-File-Pathnames-Reader-Record-File-Metadata for reading metadata on a bunch of shape files stored in different subfolders (one *.shp per folder) in parent folders in a collective project directory.All the shape files (54 in total) have the same file name "Vejle.shp" with similar attributes in them. So I only have the distinct [parent-folder/subfolder] names to identify them from another. My goal is to use the the outcome metadata for renaming all the shapefiles so they are matching the folder names. Or even better: directly write a new attribute to the files based on the respective input folder name as i transform and load my data from shape into one feature class in an ESRI file geodatabase.How do I do that?
Like others, I've also been stumped on how to do this after trying variations of the JSON transformers.Can someone upload an FME sample snippet or provide detailed instructions on how this can be accomplished?Thank you in advance!! I have the following JSON which contains an array within an array.I'd like to:extract the TaskListType from the 1st array (MaintPlanData)extract the OperationNum and OperationDesc values from the 2nd array (TaskListItems)and put them into a row/column format like the example below. TaskListType OperationNum OperationDescABC 0010 ExecuteABC 0030 TechnicianABC 0040 RecordEFG 0010 Executeetc { "RemainRecCount": 0, "MaintPlanData": [ { "ScheduleIndPlan": 1, "PlanItems": { "ItemNum": 1234, "TaskList&q
Hi, I am trying to write a CityGML LOD1 file containing building parts in a proper way. I use OSM data (3dbuildings.com) in geopackage format as a proving ground. The only example workflow I have found was about Cesium https://www.youtube.com/watch?v=xSB_GLB_ikQ but the output file consisted of building parts only. Actually I find resulting files looking similar to sample data from Hamburg in FZKViewer but I am not sure anyway. The main idea as I get it right is to remove geometry in case of a building that consists of building parts and link them to a parent building with a gml_parent_id. Do I need to create a separate gml_id for each building part or it's enough to leave a part without it? Unfortunately there are errors while validating an output file. Can I connect directly buildings without geometries and building with geometries into the same CityGML Building writer? Is there a more compact manner to get a right result (please find attached a workspace)? It looks clumsy ma
I've been trying to rotate a 3D feature around its own axis using the 3DRotator but I don't seem to be able to get the custom axis right. Could someone please help me setting the parameters based on the input feature coordinates so that the result is rotated 90 degrees around the feature axis? I've attached my workspace as starting point. Here's what I've got: Buffer line to polygon:Extrude to solid Now rotate the feature along its axis (indicated by red line) - rotate as shown in green:
I have two groups of features, we will call them Group A and Group B. I'm processing them separately and then summing up Group A attributes using statistics calculator which I then need to use to calculate values for Group B features. Is there a way to force the .sum or .max value to features not a part of the original calculation?
Hi, I'm having problems with the JsonFragmenter. When I supply de HTTPCaller output to the Defragmenter some values are adjusted. I can't explain why.Anyone with a solution? Regards,Eddy FME InformationEdition: FME Database Edition (floating)Version: FME(R) 2018.1.1.2 (20190121 - Build 18586 - WIN32)
Using a HTTPcaller I downloaded a Zipfile which contains a XML. Using a FeatureReader I retrieved the path of the XML file. Furthermore the FeatureReader was used to read this XML using 'path_windows' as attribute which contains the XML file. However, I got stuck there. In case I read the XML directly using a XML reader it works perfectly.See the attached screenshot for my workflow.
HI guys, I am trying to create an image from vectors and point clouds, and later include it on an HTML report generator. After RasterExtractor and a BinaryEncoder, the HMLResportGenerator is unable to open the image file. Do you have any suggestions? Thank you!
Hi guys! I am facing what it seems an easy challenge. I have a group of points and I want to filter them using as reference the center of mass of the cohort. For the center of mass Im using CenterpointReplacer (based on their hull) + coordinate extractor. I dont find the way to transfer these X, Y coordinates to the sparce cloud. Tried the following path: 1_FeatureMerge, not working, parameters on the image. I guess it's related with the number/string format2_Set variable - retrieve variable . When retrieving, I dont find the variable :S Any idea? Thank you! J *featuremerge parameters>
Hi,I'm a complete noob with FME with just a few days of dabbling around with it.So far I've managed to filter out areas from a shape file and extrude those areas with a value from a variable and send it to Cesium Ion and display it in Unreal Engine. But now I'd like to know how I can add random points to those areas and populate those points with a 3d-object and use the generated tileset with Cesium Ion and Unreal. So far this https://community.safe.com/s/question/0D54Q000080hDPMSA2/adding-a-3d-model-and-georeferencing-it-with-multiple-xy-points, is the only thing I've found related to this. But haven't been able to get it to work. See attachments for my current pipeline, which does bring a single object to Cesium Ion, but no location data (Tileset location has not been set). How far off am I? Thanks in advance.
I want to map values from the following feature:Myfeature:- x = 100- y = 100- z = 150Based on the following rulesnewattribute = a if z > 0 and z < 50 newattribute = b if z > 50 and z < 100 newattribute = c if z > 100 and z < 120 newattribute = d if z > 120 and z < 175 So this feature will get the attribute:newattribute = dI can not seem to find an example with the schemamapper (or any other solution which is NOT Python-coding).The issue is that I have alot of changing interval-rules, in a database - so they can not be hardcoded in the workspace - but have to be read from a csv / Excel-file so the Schemamapper would be great if it could handle larger than and smaller than etc.
I have few huge csv files (each has nearly 10 millions rows) that I wanted to process in FME. However, FME can't read them properly. For most of the rows, one of the column's values appear to be "Null". Hence I am not able to read the values and join the values with other files. I have tried FME 2020 and FME 2021 but none of them can read the csv properly. Has anyone ever encounter this issue?
I need to create an annotation feature class in a file geodatabase (FGDB) from input data holding attributes like label alignment and rotation.For some reason, the rotation angle of the text labels is not stored in the FGDB while the other attributes are.According to the documentation (https://docs.safe.com/fme/2020.0/html/FME_Desktop_Documentation/FME_ReadersWriters/geodatabase/Feature_Representation.htm, section "Annotation Attributes"), the attribute "geodb_text_angle" can be used to specify the angle for the label. It should be measured in degrees, so I assume values between 0 and 360 are sensible.However, while a non-zero value is present in the attribute "geodb_text_angle" just before the writer, the "Angle" is then 0 in the FGDB.I have a simple workspace that demonstrates the issue. It just creates one feature, sets some annotation related attributes and then writes an FGDB. The issue is persistent.I am using FME Workbench 2020.0.2.1 (Buil
I have set of lines and a set of points. I need to find the point that is nearest to the start of each line segment and the point that is nearest to the end of each line segment. I want an attribute from those points to transfer to the line segment.
My best result is converting my input building model into a point cloud using "PointCloudCombiner". Then converting the point cloud to a surface using "PointCloudSurfaceBuilder". I used the "Poisson" algorithm, which seems to produce the best result. I'd like to improve the result, as you can see in my picture, the final surface is still quite rounded at some areas. Have you any idea to improve the parameters as the "Poisson" algorithm is quite complicated. Thanks in advance, Frank
I got two different Readers : one is for my different routes (lines) and one is for my different addresses (points). I need to merge them and I want to know which points are within 10 meters of my different routes. Thanks.
I would like to duplicate features based on attribute. See following example.The result I would like to acchive would be a set of new features containing only A, only B and only C. E.g. this would require the geometry1 to be duplicated into one A and one B. To make things more complicated the attributes are dynamic, so matching sets need to be found before duplicating. Any ideas on how to achieve this?
Hi all,I'm trying to set up a change detection workspace, where I have a WFS that is my updated data and a ArcSDE, which is my original data. I have added a Feature Reader, which grabs my WFS and the three relevant layers and used that as my Revised part in the Change Detector Transformer. The Original part comes from my ArcSDE Reader. My problem is this: The WFS service usually has a maximum amount of features it will allow me to retrieve. I have different layers in the WFS which far exceed that maximum. Therefore my reader will only parse half of the features on to the Change Detector. How do I get past this? I tried adding a layer with polygons covering my area, and connecting it to my Feature Reader, setting the Spatial Filter to "Initiator intersects results". This should help the Feature reader, to only read the features within each polygon at a time, and then "ignore" the maximum amount restriction. But this doesn't seem to work, even though I'v
I would like to utilise FME to perform an update on a table a Slowly Changing Dimension (Type 2) . Where historical records are preserved, and you have Start, End dates and a Current flag for each record.While the Change Detector transformer helps, it will still require some tricky manipulation.I did find this article but can't see the detail...It would be great if there was a ETL Transformer that could do this.Any help would be appreciated.
There is nothing in the FME universe that has me pulling my hairs out as much over and over again as DateTime formatting and conversion. I realize I might be be at one extreme end of the FME user spectrum in that In connect to a very small subset of data source/target types. 90% of my work is reading and writing to/from spatial and non-spatial SQL databases. Which means I don't have much use for the full range of date/time manipulation available in FME. But that makes it even more annoying when I read datetime() from SQL and write datetime() to SQL and suddenly find myself puzzling why any formatting or transformation is necessary!? Then, there are just as many occasions when this does not happen and I immediately forget the steps I took to get things to work. As a recent example, I'm reading a number of date fields using:FeatureReader, Type: Microsoft SQL Server Non-SpatialThen I write some of this data back to SQL using:SQL Executor: Microsoft SQL Server Non-Spatial Now why this woul
I have records with the same identifier but I would like to select the most recent activity on the record. So for example - 2 records with an ID of "2465100000" but against that ID are 2 different cross references added on different dates. I want to select the most recent one (or the oldest). Please can anyone advise as to the best way to do this so I have only one line remaining based on date. Many thanks