Using transformers to modify data.
Recently active
Hi FME Community,I've recently been given quite a big task of migrating, renaming and sorting documents. I have naied the moving and renaming part by using a mix of FME and SystemCaller for Robocopy (as FME would output the PDF files as folders, for some reason). So, the moving is all good, but is there a way I can use FME (as I am quite constrained by my working environment, such as python being stock and FME version) to say - "if a file exists in folder A, but also exists in subfolder X, delete the file in folder A" I've tried with a DuplicateFilter, which gets a few, but misses others (attached screenshot). Been going mad with this one
Dear FME community,I'm trying to run the CsmapReprojector transformer to modify the vertical reference and projection system of a LAS dataset.The change of projection system seems to works well, but the change of vertical reference does not. I use a .grd file that I made with a workspace to transform an Ascii Point Cloud to a grd format that would be more suitable to transform it from the https://community.safe.com/s/article/creating-vertical-adjustment-grid-files-for-use-wi help.I can provide this .grd file if necessary (as well as .las test).Do you know if this transform works in a particular way?Thanks in advance and have a nice day.Julian.
Can somebody explain the process of how to add a Coordiante system to the FME Coordinate System Gallery. I have the .prj of the new one I would like to add, I do not know how to edit the "MyCoordSysDefs.fme" file in order to implement this.
We are working with simple workflow of reading in data from a SQL Spatial Table reader, setting null attributes to missing , and writing out to fGDB/eGDB/Spatial table. Our end goal is to remove the fields that are empty but there are occasions when these fields may have values. When writing out the features after mapping all null to missing, the fields that are entirely missing still write out when writing to a fGDB/eGDB/Spatial table (they appear as null in the featureclass). We are unsure if there is a way around this or if it's a limitation of the GDB format. My only idea of bypassing this is writing out to another format that would remove the field (like JSON) and then reading back in using feature writer and feature reader. This is a poor solution so any other ideas are appreciated.
I have a workspace where I am reading spatial data from an Enterprise geodatabase, modifying only a single attribute and updating that attribute using a feature writer. I'm reading the data dynamically and want to write it dynamically too. The data consists of points, lines, and polygons. My question is, when updating only a single field, and not spatial data, does the writer ignore the geometry type? Or do I have to split my data up into point, line and polygon before it hits the writer and specify the correct geometry for each type?
Hello,I have an original table and api result that I monitor with a ChangeDetector. I created changes {} and do a ListExploder to return each record and write to a DIM table. Now I want to add the dates ValidTo and ValidFrom to the DIM so I can keep a history of those records.Short said, which each Update output from ChangeDetector I need to create a new record and change the dates (in the previous with the same id) ID AttrColumn ValueColumn1 AttrValue1 12 AttrValue2 2DIM_id AttrChanged ValidFrom ValidTo Active1 ValueColumn 2021-02-01 2021-02-12 N1 ValueColumn 2021-02-12 DefaultValue YHope it's clear..Any ideas?Thanks!
Hi. I have a FGDB (esri) with coded value. I've tester for field (HorizontalAccuracy). This field must be in some value (Low, High, Medium).I use in for operator but it doesn't work. I've try so with coded value. Can you help me please, I use FME 2018, i don't have cachedvalue :(
I am working with street network data (in Esri format) that has attributes for address ranging. I am going to be splitting the streets everywhere they intersect a crosswalk feature and I would like the address ranging to then be split between the resulting features proportionally instead of being duplicated to both from the original. I've attached a beautifully done MS Paint illustration. Essentially, segments currently have 4 attributes: Left_Address_FROM, Left_Address_TO, Right_Address_FROM, and Right_Address_TO. Right and left are determined based on the direction the segment is drawn. In the illustration the original segment has attributes:Left_Address_FROM = 1Left_Address_TO = 199Right_Address_FROM = 2Right_Address_TO = 200 If I split the segment at the midpoint, I would need the attributes on the new segments to be:Segment 1 - Left_Address_FROM = 1Segment 1 - Left_Address_TO = 99Segment 1 - Right_Address_FROM = 2Segment 1 - Right_Address_TO = 100Segment 2 - Left_Address_FROM
I am using several ListConcatenator transformers in my workspace. I want to give them unique names, however, when I rename them and run the workbench, it fails and gives me an error. When renaming my transformers, I normally use an abbreviation for the transformer name followed by a colon ":" then some unique name. For some reason the ListConcatenator doesn't work when a colon ":" is in the transformer name.Example: I rename the ListConcatenator transformer to "LC: RunwayNameList" and it throws this error:2020-03-02 08:32:52| 2.2| 0.0|ERROR |@Tcl2 -- failed to evaluate expression `set LC:_RunwayNameList__separator [FME_DecodeText {<comma>}]; regsub -all "{}" [FME_DecodeText {_listAll<opencurly><closecurly>.RUNWAYNAME}] [FME_DecodeText {<opencurly><backslash>d+<closecurly>}] LC:_RunwayNameList__listPattern; set LC:_RunwayNameList__listPattern ^$LC:_RunwayNameList__listPattern$;' -- can't read "L
Is there a specific case, or exercise, about the transformation from DWG to PostGIS that contains data sets?
Hi I have a list of urls and want to download files from each of them. I am using the http caller and extractor to find links to pdf files on a webpage and then another http caller to download the file. The fist part works fine and when I inspect it I can see the urls to the pdf files. However, the second part does not work. FME rejects the features saying the url doesnt exist. I have tried it directly in a browser and it is entirely correct, the url doesnt exist. It only appears to exist whilst the original page is open. Is there a way to keep that page 'open' until the files have been downloaded and the it moves on to the next record? Many thanks
I am using the NullAttributeMapper to set my null values as missing (reading from MSSQL spatial table). This is working, however only for a certain number of rows. The first time run, it changed the first 100 rows. Second time 200 rows, after a few more attempts top 2000 rows. It seems to be processing in 100 row chunks and stopping at random points? The parameters are very simple;Map: All AttributesIf attribute value is: Null EmptyMap to: Missing That's it. I have had no other issues of partial completion for any other transformers. Thanks!
Hi. I have a featureJoiner with 2 tables, from FGDB Esri files. I have to make a query on 1 table. I Can't make the query directly in table because i have other featurejoiner from this table. I hope it's clear. Than for your help. I
Hi, I have a “Reader” file in DWG format and in EPSG coordinates: 25830 ((ETRS89-TM30)This file is located in coordinates UTM Zone 30 I need to change these points from Spindle 30 to SPINDLE 29 I apply the transformers1. CoordinateExtractor2. AttributeReprojector3. AttributeManager (with custom parameters) So far everything is correct, I see it in FME Preview and it is correct. My question is this: How can I transform this data to the Google Earth KM format? What transformers do I have to add? Thank you.
How can I write to the master database without adding unwanted duplicates? thanks
Dear FME community,I want to create 3D-tiles from city-gml-data. These tiles should be sved as OBJ-files. I like to create simple models of trees of coordinates. Since there are over 200000 coordinates, there will be over 200000 trees. Each tree will have a certain amount of polygons. So at the end there would be several million polygons in one file, if I were to save one OBJ-file. I decided to create over 200 tiles in order to have many smaller files. In order to create those files, I would like to use the "Workspace Runner"-Transformer. So I have one workspace, that created the tiles. In this workspace I basically created tiles made out of point-clouds. Now I want to transform every pointcloud-file into meshes which sit on one tile. Each point in the point-cloud will be used to create the tree geometry. Since I have over 200 point-cloud files I want FME to send every singe point-cloud file into the workspace that creates the geometry out of the points. At the end I wish to
I'm reading a CSV file from the web. The file is served encoded, so I first decode it, ending up with an attribute "_decoded", containing the csv data. I want to use this data to create a table (like the csv reader does), without writing the output to a file first. Sample format:objid;xcoord;ycoord;name21;123;456;house22;125;458;treeThe solution suggested in the thread linked below doesn't work, throwing the error "Python Exception <Error>: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?", but I can't figure out where to stick the read mode (rU).https://knowledge.safe.com/questions/78520/parse-csv-data-stored-in-database-table.html
Hey community!How can I extract a bound from a polygon without the empty polygons that are inside de main polygon?Image attached
Hey community! How can I create a network of points spaced 250 meters apart within my polygons? (Attachment image)
I am in the process of aggregating some polygons, then joining these simplified polygons (geometry) with sensor data (no geometry) on a common field. It doesn't matter whether I am using the FeatureJoiner, or the FeatureMerger my process is taking way longer than what I know FME is capable of doing. I purged the temp data, as well as turned off feature caching to no avail. Any ideas or suggestions would be appreciated.
I'm getting "Provider error `(-2147467259) Could not use ''; file already in use.'" in the log when trying to read an MS Access mdb. This raises 2 questions: 1) it's a reader not writer, so why does it care if the file is in use? I have other applications that read mdb fine if it's already open. 2) The final status for the entire script is successful. I would expect the failure be noted at the end. I don't know how long we've been missing this error buried in the middle, and more importantly if we have corrupt data at the end as a result. 2021-2-5 14:21:29 | Creating reader for format: Microsoft Access2021-2-5 14:21:29 | Trying to find a DYNAMIC plugin for reader named `MDB_ADO'2021-2-5 14:21:29 | FME API version of module 'MDB_ADO' matches current internal version (3.8 20200115)2021-2-5 14:21:29 | Performing query against MDB_ADO dataset `\\\\server\\infosys\\xxx\\WR\\DB\\xxxResources.mdb'2021-2-5 14:21:29 | Microsoft Access R
Hello!I am new in FME and I have some errors when I try to use a reader (IMSpoor Reader PGT 123.0.1 - previously installed with FME). The error message says "XML Parser error: 'Error in input dataset:'XML-Document-Stream' line:1 column:1 message:invalid document structure". Do you have any suggestions to solve this? Thank you!
I have vector data for my town and i want to create rasters of 1x1 kilometer. I use the mapnikrasterizer. How can i create many rasters from the vector data?
Hi guys, I am having some issues with my TINGenerator. with some pointclouds, it's entering in an infinite loop . My questions are>Do you know how to implement an exit in this case, that will include the loop detetion, and a channel to post info about the loopDo you have any suggestion on how to avoid this topology issue. For it work the regular spacing in XY, specially when working in the 2.5D domain. But I have no clue when targeting 3D elements. Thank you very much! J
I'm trying to to filter a point cloud based on a user selected colour. The PointCloudFilter can have expressions like@Component(color_red)==230 && @Component(color_green)==0 && @Component(color_blue)==0 The fme colour parameter stores the colour as `0.901961,0,0' Is there a better way to use the colour parameter thanParameterFetcher, AttributeSplitter, AttributeCreator (_list{i}*255 3 times)