Using transformers to modify data.
Recently active
Hello,Do you know why autocad_color parameter is allowed from 0 to 256 for Autodesk Autocad DWG/DWF writer but is strictely limited to 1-255 for Autodesk Autocad Map 3D Object Data writer ?It prevents to write entities with ByLayer (256) or ByBlock (0) Color parameter in addition with OD tables
Hello everyone, I’ve been working with 3D Buildings recently and I’d like to add some info to the walls (e.g. indicating which wall has an entrance door). I could set up this information with the 2D Footprints by using the BoundingBoxReplacer and HorizontalAngleCalculator (I’d have used it with my 3D Buildings themselves, but it only works for 2D lines). But I can’t find the right way to add this information to my 3D walls.If I directly extrude the 2D walls instead of the 2D polygons, I lose the classification of Building_IDs that I want. If I reconvert the 2D walls into 2D polygons with an aggregator, all my info goes away and I’m back at the starting point. I tried converting the walls into points with snipping and then converting them into 3D Features with Offsetter and Bufferer such as other past suggestions, but then I hit a wall (pun unintended) becacuse SpatialRelator and SpatialFilter don’t work for 3D Data (INVALID_GEOMETRY will be written). The only transformer that seems to
Hi, wondering if anyone know how to limit the featurereader, I am trying to read only the first 10 rows from each table in postgres and it is still pulling back every row before passing on only 10. What am I doing wrong? Thank you in advance
I wish to use the JPEG writer rather than the attribute file writer, because I want to add EXIF data to the image that doesn't exist in the original BLOB. I do not see a way to add this EXIF information when simply using an attribute File Writer.
I have two lines that are starting from the same point (blue point). I would like to calculate the geometry of the points where the lines start to run in parallel (approx. where the green points are). How can I do it in FME ?
Is it possible to force a custom transformer to process features one at a time when there are blocking transformers within the custom transformer?I run into this problem when I try to create a 3DGeneralizer and want to process lines individually.Example: A custom transformer splitt lines into vertices. The lines are also generalized. NeighborFinder is used to match vertices and generalized lines. I want the NeighborFinder to only process features (line and vertices) from a single line at a time. If Group By is used in NeighborFinder it will block features until all lines have entered the custom transformer.Thanks, Anders
I have a template.gdb that contains feature classes, and some attributes within these feature classes have default values. Like here for the attribute FLOWDIRECTION When writing features into these feature classes using the Feature Writer, I expect the default values to be applied to attributes where no value is provided. However, this is not happening. What could be the reason for this issue? How can I ensure that the default values from the geodatabase are correctly applied?
Hi, we are searching for a solution to create seamlines between aerial photos.So we have a lot of photos with different overlapping areas like this:footprints Is there a possibility to create seamlines between the images? So we wouldn´t like to do this manually. It should be approximately the center line of the overlapping areas. At the end we wanna cut out the origin arial images based on the seamlines. Does anyone have experience with this?
Hi all,I work on a mapping project that requires all of our shapefiles to be quality checked at the end of production. I currently have an FME workbench that converts Esri geodatabases to shapefiles for the final check.However, I’m having an issue with one of my attributes. The attribute is being written out by the workbench as a ‘double’ (which I believe has a max width of 19). The quality check tool checks both the data type (needs to be real) and the specified width of each attribute (needs to be 19).When it is checked by the quality check tool I get an error message which states the expected length is 19 and has found a width of 15? It’s fine with it being a ‘double’ though?Any ideas?Will provide more information if needed.
Hi,I am trying to use the SpatialSorter in my workspace to sort data by location and define group size. However, as I’m currently using the FME Workbench 2024 version, the SpatialSorter is quite different and doesn’t provide a new attribute named “GroupID”, it’s also impossible to define a group size in the parameters.It is quite inconvenient because it’s not possible to use the Aggregator transformer on the GroupID attribute afterwards to group sorted spatial data.As far as I know, there is no unexposed attribute generated from SpatialSorter in the FME 2024 version. To compensate, I used the NeighborhoodAggregator but I’m not satisfied by the results.I was wondering if anyone else encountered the same issue and found another solution ? Thank you for reading!
I have a workspace in FME 2021.2.6 where I produce a TIN from a DEM with the TINGenerator. In this transformer there is a parameter called Tolerance. I was playing with this tolerance to find the right amount of detail, that is still acceptable for my task and reduces the amount of triangles in the TIN. Now we’re about to switch to FME 2025 soon, so I thought there might be a performance win with the new Version, so I gave it a try. But I found out, that this transformer does not work the same way anymore and whether I put in 1 or 100 or 10000 in the tolerance, it does not really matter. The result looks way different and in my opinion is worse, than with the 2021 version. Can someone explain me, how I can produce kind of the same results as with the 2021.2.6 Version? How can I reduce the number of produced triangles and level of details within the TINGenerator if the tolerance does not has any effect on this?Thanks for your helpSimon Different tolerances in the TINGenerator in FME 202
The two lines below share the same end nodes and I want to give them a common group id for later processing. This is to be the step after a TopologyBuilder.I thought this would be pretty simple, but have run aground. So how do I achieve this?The geometris are to be left unchanged. I just want them to have a common “id” if they intersect at both ends.The conditions for the ‘join’ are:_from_node = _from_node AND _to_node = _to_nodeOR_from_node = _to_node AND _to_node = _from_nodeBecause sometimes the lines orient in different directions.
Hello, Has anyone ever created an ArcGIS Pro layer file *.lyrx inside FME for use in ArcGIS Pro? For example, converting a *.dwg file into *.gdb, aswell as creating a layer file which holds the symbology from the *.dwg. Thanks, @Takashi Iijima @danilo_fme @Hans van der Maarel
In postgis i can flatten compound geometries like soSELECT ST_AsText(ST_CurveToLine(ST_GeomFromText('COMPOUNDCURVE (CIRCULARSTRING (576285.49817038781 7034469.7208286244, 576325.10797829565 7034483.5911118472, 576367.02 7034485.76), (576367.02 7034485.76, 576396.53 7034483.05), CIRCULARSTRING (576396.53 7034483.05, 576447.15568394249 7034473.94116881, 576495.46 7034456.26, 576500.76470677822 7034454.0120333815, 576506.21 7034452.13, 576508.88920362911 7034451.3602161128, 576511.59 7034450.67), (576511.59 7034450.67, 576517.82000000007 7034449.45), CIRCULARSTRING (576517.82000000007 7034449.45, 576521.86965882347 7034448.9300352931, 576525.94000000006 7034448.61, 576543.62140925834 7034449.5502338214, 576560.694903961 7034454.2419341141))')))But how do i do the same thing in FME?ArcStroker can only flatten Circular strings, but not compound geometries?
I noticed that the WKT output from GeometryExtractor is not the same as the feature in the source data.If i run Geometri_SPA.STAsText() on a feature from in SQL Server Management Studio my return is CIRCULARSTRING Z (576285.5719837358 7034448.923522126 0,576284.6966432678 7034459.3191996245 0,576285.4981703878 7034469.720828624 0) But i run the same feature through GeometryExtractor with Geometry Endocing OGC Well Known Text my return isLINESTRING Z (576285.5719837358 7034448.923522126 0,576285.1277140373 7034452.078045797 0,576284.8387646212 7034455.250568986 0,576284.705831592 7034458.433448807 0,576284.729235197 7034461.619017426 0,576284.9089190548 7034464.799600528 0,576285.2444502913 7034467.967535808 0,576285.4981703878 7034469.720828624 0)Why is the geometry type changed by the transformer?I want to identify features of type compoundcurve, circularstring, curverpolygon etc and flatten dem to pure line og polygons. But as for now i am not sure how i can validate the results of
I had a look at this documentation:gtfs-measures/docs/GTFS_Script_Documentation.md at master · VolpeUSDOT/gtfs-measuresAnd it is exactly what I would like to do in FME. I already found the script to create lines from shapes, routes and stop text files, the problem is that those lines follow the stop coordinates. I need it to follow an existing road network. I couldnt get the Python script to work and it is pretty old as well. I tried snapping the bus stops to the road network before I run the script, creating a bus_stops_snapped but it still doesn’t really follow the road network. Any idea of how this would be done? I have the road network as both shp or geoDB. I creates line using this FME scriptTranslating from GTFS – FME Support Center
Hello,I am reading a folder with two shapefiles.I am exposing fme_dataset.fme_dataset takes the first values of the two shapefiles and does not change.I’m using FME(R) 2024.2.3.0 (20250130 - Build 24825 - WIN64
Hello everyone, I'm currently imitating this example from FME to generate 3D buildings from 2D polygons, but with my own data. I expected that, being 4 perfect squares, I'd get 24 tiles after running the deaggregator, but instead I have a few more.It looks like some walls have been wrongly divided. I need to "simplify" these parts into an unique wall or else the appearence setter will not correspond. The issue is that I can't seem to find the transformer or process to do this. I've tried changing the parametres to deaggregator and planarityFIlter, I've tried using Orientor and OrientorExtractor, I've been looking for some patterns in the orientation, surface coordinates or other attributes that could allow me to join them together… but none of them have worked. Has anyone got an idea how to solve this?BTW the original 2D polygon comes a FGDB and it's a fme_composite_surface by the time the geometrycoercer is run. The behaviour may be different from Mesh Objects, CityGML or Interpolis,
I have a point cloud with a certain class. This class will be scattered and in clusters within the point cloud, and I want to a) identify these clusters and b) create a point feature layer for the lowest point within these clusters and get the height. Is this possible with FME?
Hi All, I have been getting my head around FME Server and Webhooks with Survey123 data collection, and I am loving it! I can competently capture data via a Survey123 form, then trigger some FME automation to manipulate the data and email a specific user results dependant on what was captured in the Survey123 form. This is working well. I would now love to take this to the next level by using the formal Survey123 Report rest API. So ideally I want to get a copy of the Survey123 report PDF that is generated each time the webhook is triggered, and email this PDF to particular people. I have been searching this forum and I do not see any tutorials or any mention of working with the Survey123 Report API itself. Has anyone had any experience with setting up an automation that works with the ESRI Survey123 Report creation API, that they would be willing to share with me? note: I know with FME I can do pretty much everything the Survey123 report generator can do, in the long run with the doz
Is there a way through FME to automate the creation of plates (3D planar surface), from the following data:XYZ position (centroid) Shape: Always has 4 sides but not necessarily always a rectangle Dimensions info: Width and Length Orientation info: Azimut (DipDIR) and DIP
In the reader file I have multiple full names “John Doe”. I want to ensure my Writer 1 / Output 1 should only have the first entry of John Doe and the rest of the John Doe entry should be mapped to Writer 2 / Output 2. Ex.Name Address John Doe 31 xxx st John Doe 41 yyy st John Doe 51 zzz st John Doe on 31 xxx st should go to output 1, and other two John Doe should go to output 2
Remove space and Space* from the name ensuring John Doe*/ John Doe * converts to John Doe. What transformer and parameters should be implemented? Tried to use the Attribute Trimmer but it only removes either of it.
I can't subtract solid geometry with the fme csg-builder.My goal ist to subtract the terrain (extruded by -10m) from buildings, to evaluate the volume that is above the terrain (subtract the basement under terrain). 3D-View:2D-View: I tried several fme-transformer before plug them into the csg-builder. I used combinations of geometrycoercers and solid-builders with no success. My approach is to negative-extrude the terrain convert it to a solid and then substract it from the building-solids.The result ist always “nothing” (rejected):Or i just get one building dissolved (union) or cut (difference) when i dont use grouping:
I have a FME 2022.1 Desktop workspace with dynamic reader and dynamic writer. The reader generates several lists in some feature classes, in addition to attributes.How can I parameterize e.g. ListIndexer or ListExploder transformers to treat all appearing lists within various features of various feature classes streaming through my dynamic workspace at once, not explicitly knowing their list names (and hence not being able to indicate them as transformer parameter) ?