Using transformers to modify data.
Recently active
Dynamic attribute name reading does not seem to work still (FME 2021). I'm trying to extract attribute names from certain excel row. I don't know the attribute names beforehand and workflow should be completely automatic. Basically I have attribute names like Extra1, Extra2, Extra3... and if there is any extra attributes, those names would be changed in excel: "Extra1" --> "car". What I'm trying to do is reading those changed attributes automatically, but can't get excel reader to dynamically detect changing attribute names. I know there is a work around with generic reader (link to question below) but that really don't work because I have to read specific cell range from excel and can't determine that cell range with generic reader. Any ideas how to work around this? https://community.safe.com/s/question/0D54Q000080hFpiSAE/dynamic-excel-sheet-reading-without-having-to-reload-the-reader
I am using the DuplicateFilter to remove features with the same attribute. It does work well but I am having an odd issue with the geometries behind each feature. The features that gets filtered out somehow 'still exists in the background'. It doesn't get counted as a normal feature if loaded in GIS, nor appear as one, but when using transparent symbology it is visible, as if it hasn't been fully removed. Just the attribute seem to be removed. The filtered out feature still seem to exist hidden in the dataset (a shapefile in this case). How can geometries be filtered out properly with their attributes?
I'm sure this is really basic but I'm stumped. How do I take some sort of action based on the number of features emitted by a previous transformer? In this particular instance I need to abort the final write (and send an email) if the number of features are less than 2000. I have a Counter, and can see the number of features. I have a Tester, but it appears to be testing each feature instead of the total count.
I have a shapefile of the road and I want to convert it into GeoTIFF But I want the GeoTIFF should show the road name
If I use a Counter Transformer in my workspace, I often find myself using a 'Local' Count Scope, and also I prefer to start counting at 1 (instead of at 0). Also, I would prefer to use the count functionality through Count() FME Feature Function(s) as opposed to using Counter Transformers, as this makes my workspace a bit more compact. Unfortunately, I haven't been able to combine both of these goals. In particular, I haven't been able to use the 'Count()' FME Feature Function in combination with a Local Count Scope and a Count Start of 1. See below screenshot and the attached workspace (FME 2021.2.2.0 b21806, Counter Version 3)). I had a look at the FME Feature Function documentation page, and I thought that the NO_LOG option could be similar to the Local Count Scope. If I look at the indicated Syntax of the Count() function, i.e.@Count([<domain>[,<startVal>[,<modulo>]]][,NO_LOG]),I'm tempted to believe that it should be possible to us
I have Esri SDE writer that is not updating a representation domain. I am trying to update two fields, a string for color and the rep field with an integer. If I remove the color field it writes the domain field fine. If I "enable" the color field it nulls out the domain field and writes the color. The log is not showing any errors. The workspace is super simple. I don't understand why it is doing this.FME 2021.1Esri 10.6.1Oracle 12c
Currently I have an XFMap file to parse attributes, but I'm looking at creating an attribute with the raw XML of the item to write out as a CLOB. Is there an easy way to add this into the xfmap to include it as an attribute when parsing out all the other attributes? I've tried mapping match=".", mapping match="*.", mapping match="*" all which don't work correctly.Thanks in advance!== Feature-Map to parse out each item ==<feature-map multi-feature-construction="true"><mapping match="item"><feature-type><literal expr="Feature"/></feature-type></mapping></feature-map>== Feature-Content-Map (what I'm trying to get to work ==<mapping match="."><attributes><attribute><name><literal expr="RAW_XML"/></name><value><extract expr="." /></value></attribute></attributes></mapping>
Hello,Here is my situation. I have nearly 500 gdbs with exactly the same schema (each gdb contains 7 feature classes). I need to merge only two feature classes. My process also involves a loop and because I do not want to read all the gdb everytime, I have an index shapefile (one feature = one gdb extent) which I intersect with the area of interest in order to extract the names of the targeted gdbs. Right now I have come down to creating a custom transformer which is able to select the good 2 features classes but in order for my filters to work, I need to be able to input the list of the previsouly selected gdb names in my epxression. So far this is what I manage to do. I know there is something missing but I can't seem to figure out what. Basically, what I need is a way to feed the list of attributes to build the expression that will filter what I need. Thank you for your help!
Hi, my attributes to expose in an jsonfragmenter comes from an user defined parameter, but I have to insert array brackets (like "WIND_6H{}"). How can I do this? It is only possible to edit this list manually or to take userdefined parameters, but not to edit the parameters dynamically.Thank you for your help!Christoph
I encountered something peculiar and I was wondering how/why this is the case. When I build a JSON document, I am able to fetch a number parameter, and parse that to a string.When I however try to do the same with a text parameter, and try to parse that to a string, I get an error. See below: Also seems related to this old community thread. In some sense I get the error 'undeclared variable' (since in XQuery the '$' is used for variables), but it seems odd that this error does occur for a text parameter and not for a number parameter, and I was wondering how that is possible. Of course there are easy solutions. I generally try to enclose user parameters in double quotes in these situations, like e.g. { "key": "$(IN_Text)"}In that case, (data type parsing) functions also can be used, like e.g. { "key": xs:string("$(IN_Text)")}But in this case that's a bit of a redundant example, as without that data type parsing function, the parameter is already inserted as a string. Just as a ca
Hello, I'm currently reading multiple data sources with a File/DIRECTORY reader and then using the path to read data whether its from a gdb, shp or json. I'm having trouble understanding how I can manage to read ONLY features that have a POLYLINE geometry. I'm guessing there is something to do in the constraint parameters of a FeatureReader transformer but, for the life of me, I can't seem to figure it out.Thanks for your help!Anne-Marie
I'm currently working in FME 2021.2 and trying implement a workbench that can do some dynamic filtering, etc by using a user parameter that defines which fields to act against. The workbench reads in zipped shp file(s) that can have different schemas each time it runs and I want to use a parameter to define which fields I wish to analyse. I can successfully get it to work when one field name is entered but never with 2 or more.Does anybody know what the parameter type should be (eg. text) and what format the field names need to be entered as (eg. VM_STATUS,R20AH or VM_STATUS R20AH)? When 2 or more fields, only 1 feature is returned. I know for a particular datasets that I should expect 207 which is what I get by manually selecting the fields when the data is cached while debugging the workbench. Thankyou for any time spent looking at this
I'm struggling to understand why I get different results for what should essentially be the same transformers. I created a set of sample data and workbench to demonstrate my question. Using NeighborFinder I'm getting points about 6 miles away from my test point. Using the same test point and using GeographicNeighborFinder I find the correct nearest points only 5 miles away. Since all my data is in same LL84 I don't understand why NeighborFinder isn't giving identical results. I'm asking because I eventually have to run millions of features and GeograpicNeighborFinder is nice but has a lot more overhead and will take much longer to complete. I don't need the extra features if NeighborFinder would give identical results.
A while back I developed a workspace in which I wanted to calculate the 'outsideWallArea' of buildings. That is, whenever buildings are directly next to each other, the touching wall that they both share, shouldn't be counted as an outsideWall. So for example, consider these 3 buildings (cubes with sidelength of 1);Now both building 1 and 2 would have an outsideWallArea of 3, and building 3 would have an outsideWallArea of 4 (note, the floor and roof do not count as wallArea). For this purpose, I used a SurfaceOnSurfaceOverlayer on the buildings. In this way neighbouring buildings fall apart in individual IFMEFaces, and by using the _overlaps attribute neighbouring walls can be excluded from the (outside)WallArea. The 'problem' now is that disjoint buildings are not overlayed to other buildings, and these keep having an IFMECompositeSurface geometry, where neighbouring buildings fall apart in IFMEFace geometry features. So after this step I need to distinguish betwe
Are there possibilities to do an automatic texturing with oblique aerial photos in fme? Ther eare some software like CityGrid or RhinoCity who can do that. They only need some parameter regarding orientation of cameras. We have an production workflow for CityGML buildings in fme and we would like to texturize within the workspace or by implementing existing functions or something else. Does anyone know if this is possible by using FME?
I have a workspace that has two SQL Executors connecting to an Oracle database (the same database connection). In between there is processing that happens. It appears that FME is keeping the oracle connection open from the first SQL Executor for the entire duration of the processing, and using the same connection when it runs the 2nd SQL Executor. This is causing a network timeout error to occur. To prevent this I have tried unchecking the Persistent Connection option in the 2 SQL Executors, but still get the same behaviour. As a test, I have logged the oracle session ID from the first SQL Executor to the log file, and in the 2nd SQL Executor I have logged the session ID and session duration. Both session IDs are the same and the session duration is the entire running time of the workbench. See attached screenshot for workbench, the decelerator is to simulate processing time. So to summarize, the Persistent Connection check box doesn't do anything in FME Desktop or Server.
I'm creating DEM rasters (1m cell size) from Lidar using RasterDEMGenerator. Then Hillshades from the DEM rasters using RasterHillshader.I'm getting hillshades that look like stacked contour layers.I believe the hillshades "should" be smooth surfaces (especially Lidar surfaces) so I'm not sure what I'm doing wrong.I've attached my model and sample output.
Hello, i have an e57 file with size over 100g. It contains 50 pointclouds and 300 raster. So i wan to reduce the point cloud size .I've 2 questions I'm not sure if my workflow for this is correct. Cloud someone give me advice?In transformer "Writer" exits much options, i'm not sure the one i've choosed enough to export and save the minified file Thanks in advance
I can set up a zip file extractor with a user parameter but how do I then connect it to the reader to have it extract the shapefile from the zip file?
Hello, I am a basic user of FME and have created a workbench merging many tables. I need to add a further table, but before I use the FeatureMerger I need to specifiy a WHERE clause on the reader. I have tried doing thison the reader with no joy. I have also tried with the FeatureReader and no joy. I cannot find any help documentation in the reader to help me with syntax. Is there a simple transformer I can use? I need a very simple clause to pass only certain attributes from one of the fields into the next transformer. Can someone assist please? Harriet
in the data inspector , and it looks like its just those two columns in the screenshot. is m new to fme and I could just be missing something many thanks in advance
Hi there guys (and girls), I've been trying to combine several 3D-geometries (arcs, polygons, lines) into 1 big polygon. What I have now are seperate parts (a window, a floor, a wall and so on), but what I actually want is a clean building that is only clickable as a whole. I already managed to combine the different geometries into a geometry collection with the Aggregator Transformer, but I was not able to write this geometry to the destination file (OBJ). Does anyone have any idea how I could solve this problem? I am looking forward to hear from someone else from this planet soon,Claire
i have adobe geospatial pdf and it has lots of points that connects together with different lines ,i would like to extract the lines coordinates and also the length and extract also line number for each line . FME 2020.2 Thanks in advance
I want to write out a bunch of MapInfo tables, placing multiple tables into multiple folders. My folder structure is about ten folders named after Districts. The District name is a value in one of the columns. How do I tell FME Desktop to fanout to a different folder based upon the value of the District name?