Using transformers to modify data.
Recently active
GDAL has a pretty handy proximity calculator where each pixel in the output raster represents the distance to the nearest pixel in the input raster. For instance, distance to the nearest road. Is there any transformer doing that in FME ? Thanks!
I have some shape files that might be corrupted i think... However reading/viewing them in ArcGIS Pro is working without any issue whereas in FME it reads them all but it mixes attributes of the features! e.g. Point 1 (shape file feature) becomes attributes from lets say point 10 (another shape file feature) an so on! All attributes are mixed! is this issue known? I am using FME 2022.0 p.s. I am just reading shape files without doing any transformation.
Hi, I have a specific use case to solve. Transform a CSV file to a Turtle file (.ttl).Here is an example:CSV file has: 12345, Fred, 2020-01-01, "Foo, Bar" I would like to then transform this row to: <http://example.com/12345> rdf:type owl:NamedIndividual ; a:name "Fred" ; a:date "2020-01-01"; a:ref "http://example.com/Foo", "http://example.com/Bar" .And then repeat for all the lines in the CSV.Any help appreciated
Hi! I´m trying to add an ID column to a GeoJSON file. I use a reader to read data from an Oracle database and then write it down using to GeoJSON writer. I need the ID not to be in the properties-section but as in the example below:https://community.safe.com/s/article/tutorial-getting-started-with-json Thankful for any suggestions on how to do this 😊
I am trying to send the MapnikRasterizer result to HTMLReportGenerator, but directly connecting them doesn't work. So I am using a TempPathnameCreator and FeatureWriter in between to write the png and then send it to the HTMLReportGenerator. However, HTMLReportGenerator can't read the path generated during the test running.FME version: 2021.2Error: HTMLReportGenerator: Unable to open image file 'D:/FME_TEMP/wbrun_1652070048335_8656/fmetmp_1c/1652075715010_34268_d\\r_2030.png.png'. Please ensure this file exists
Hi, I am trying to use ReplaceRegularExpression as described here:http://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/!Transformer_Parameters/StringFunctions.htmTo do a simple transformation of Quotes to escaped Quotes in strings. I have the following: @ReplaceRegularExpression(@Value(Description),["],"\\\\""",FALSE)(as the instructions say I need to add quotes and escape the quote in the to expression.)This does not work, but at least does not have errors.If I try to slightly change the syntax of the to expression (eg less quotes) I get serious errors... Any ideas welcome...
Currently I set the projection in the reader for the csv to match the gdb. I then added a Feature Writer transformer for the fanout creating feature classes in a staging gdb. My problem now is how do I get the feature classes the feature writer created back into the workspace so I can then use the attribute manager to map to my final gdb. I tried to use the Feature Reader transformer to add these back but have not been able to figure that out yet.
Hi,I'm trying to start a workspace runner just after a FeatureWriter has finished running, but I am getting a weird error with a '@Tcl2 function': ...WorkspaceRunner_ExecutorAndRouter (TestFactory): An error was encountered evaluating a TestFactory test: An error occurred while evaluating a test parameter: @Tcl2 function requires exactly one argument -- the expression to evaluate. If you are using static function evaluation, only one $[ .. ] pair can be on a single logical mapping file line due to parser limitationsFeatureWriter_6_SUMMARY_-1_836_Player (RecorderFactory): An error was encountered evaluating a TestFactory test: An error occurred while evaluating a test parameter: @Tcl2 function requires exactly one argument -- the expression to evaluate. If you are using static function evaluation, only one $[ .. ] pair can be on a single logical mapping file line due to parser limitations...This is happening with different workbenches. It is fine if I copy the whole workbench... But i
Hi FMErs,Has anyone had any experience importing GoCAD ts files into FME using another reader type. It appears that GoCAD is not supported directly in FME, however the geometry of the object/s appear to be 3D triangulated surfaces ?Thanks in advance
Hi I'm using Revit native reader to read Revit 2021 arch project file but having problems with transformers rejecting geometries. E.g. using MeshMerger or MeshSimplifier transformer will result in rejecting all imported geometries. Any hint how to solve this problem? I want to simplify and join geometries before writing to gltf, to get gltf file that's easy to renderThanks
I am writing from a csv where all the fields are text. One of these fields contains a date 10/11/2021. I need to load this to a geodatabase that has the field formatted as a date. I need the date to look the same in the field I am mapping to. I have tried many different things and am probably just missing something but I can't get this to work. Attached is what my current workspace looks like. I believe I need to do this in the attribute manager using the dat time format but I am not figuring out how to dot his properly.
When I run this workspace locally, it puts out a .prj file and all is well. The issue only occurs on fme server. there is no prj in the zipped download.
Hi list.I'm trying to convert a DWG in a local system to UTM. I'm using AffineWarper, and has identified 5-6 control points, that seems to work.When viewing the output in Data Inspector, all looks well, but when I output it to a new DWG, and view that in Data Inspector, it's not good at all.All text features are either still in the local system (masquarading as UTM, i.e. at Equator), or someplace else. Only regular geometries are located correctly.Is this a known issue, and if so, is there a work-around for this ?Cheers.
Hi,I am working on a project where I need to create a new SharePoint list from PostgreSQL data each year.I have three items that I need to put into my list. Two choices fields (called Company and Indicator)A text field (called Feedback) At first, I used the Sharepoint List Writer but it looks like the properties of the Choice field are not what I want because the Choice field is configured to allow free-form input. And secondly, when the list is created, I don't know how I can write into the Title field (the best would be to make it not mandatory). So, my idea was to use the Sharepoint Rest API to do a PUT request in order to create my customized list, but even with the topics I found online, I am not able to do anything other than GET requests... Anyone can help me on what I need to do to create this list ?Thanks for your help and have a good day, CPTSDN_17.
What I need to do is seperate the table by type. The types can be water, industries, woods etc. All are in the same table in postgis. So what I need to do is to get one outport for each value somehow. Later I will turn these in to raster data with 3dforcer. Can anyone help me? Best regardsJesper
Hi,Something looks to have changed on the ESRI side on how they are serving out the tiles for the basemap. Im getting alot of 301 blank tiles and have replicated it with Safe on live chat but ended up asking if there is anything else they can help with???? This looks to be a issue but i'm guessing ESRI will say update the library and it works but the functionality is coded into the transformer so should it be Safe? You dont need to do anything special, just add a esri leaflet and preview in browser. Could I ask if anyone else is also experiencing this? Thanks
Hi All, i am trying to create some statistcis (records counts) on 10 fields in a table. I dont want to use multipule filters if i can avoid it. I want to find out how many rows in the table have valid values such as ie Depth <> "-99, NULL, BLANK, 0) ie Invert <> "-99, NULL, BLANK, 0, 0.00) ie Diameter <> "-99, NULL, BLANK, 0,) The TestFilter looks promising except the test condtions are If, Else if, Else. I want the test conditions to be IF, IF, IF. ie currenlty the test filter allows IF Depth <> "-99, NULL, BLANK, 0) Else if Invert <> "-99, NULL, BLANK, 0, 0.00) Else Diameter <> "-99, NULL, BLANK, 0,) i would like it like IF Depth <> "-99, NULL, BLANK, 0) -- port these to statscalc IF Invert <> "-99, NULL, BLANK, 0, 0.00) -- port these to statscalc IF Diameter <> "-99, NULL, BLANK, 0,) -- port these to statscalc is there another way im missing ? Many Thanks Steve
I have run some stats on a dataset where features fall into a specific polygon and have the count and the category. I now need a list that I can bring together in a single concatenated value that is {count1, cat1, count2, cat2, count3, cat3} The problem is that the number of the categories varies from polygon to polygon. The approach so far is statistics calculator => list builder => list concatenator (using category) => list concatenator (using count) which gives me two lists, comma separated but need to being them together. with the resultDoes anyone have any suggestions on how to bring together?
I am using a statistics calculator for a max value and then use the counter to proces new features which receives the new value thats Counter start = @value()+1. However it keeps failing due to an INVALID_PARAMETER_COUNT_START. I can't figure out why it fails. I tried setting the scope to global or local but it just doesn't want to work. So does anyone have an idea on how to avoid the Counter and get the same result? My thanks in advance! - Zoë
I have a dataset that has been collated daily over the past year but a crucial attribute hasn't been collected which would have taken the submission date of the record and looked back to see if any matching records by Name over the last 10 days and then if true write a True or false into an attribute.Is there an easy way run/play back through the dataset by day and calculate the True\\False attribute and then add to the result, I need to consider all dates cumulatively so the first date I would be just records for that day then 2nd date would be the processed records and the records for the next date etc.It feels like it should be quite a simple thing to do but I can't get my head around it at the moment, any help would be much appreciated. Many Thanks Tom
Hi all, I'm trying to download a file from a secure url using MOVEIT platform. The URL for the file looks like: https://moveit.alleghenycounty.us/download?arg01=file859046970&arg02=124162592&arg03=b24db17e945a7f9aeee83c81d52cbc The site uses a secure login and I have username and password The first step in the workflow is to download a .xls file. Do I start the workflow with an HTTPCaller or do I need a reader first? Any help would be greatly appreciated! -Jason
Hi All, the attached screenshot explains a lot so might want to check that out first. My problem is that I have successfully set up a homemade 'file watcher' where we can drop various files into one folder to be sorted and moved to their correct folders. All this is doing is saving a lot of manual drag and drops but there's a lot of them so it's quite useful (if I can get it to work). As you can see in the screenshot, the first 4 files sorted just get copied back out and that works perfectly. The 5th, an xls file called 'covid vaccine data', needs to be read in and the records written back out as a csv before being copied elsewhere. You can see that I attempted to use a Feature Reader but the records come out blank so the writer at the end writes out 1,274 blank rows. Any idea how to make this work so I can get that file, read in the actual data, and write it back out? It feels like I'm close but it sure isn't working yet :) Thanks in advance,Ian
I'm trying to move address points from essentially rooftoop locations to the curbside of the address automatically (working with about 10,000 points) I've got the polygon parcel data, the address point data (contains which side of road the point is located on, but is the only layer I have with this information), and the road polyline. I thought the best way to set this up would be to move the address points within its containing parcel to the closet edge of the parcel it's contained in. However I think there would be quite a few scenarios where it wouldnt move the point to curbside and so I'm trying to figure out if that is the cleanest approach and how I could set that up, or if theres a better idea. I've added a picture of the layers I'm working with and how I want the points to appear. Ideally I'd want the points moved to where the end of where I've drawn out the red line would be the ideal goal, however if I were to move points to closest edge of par
I sometimes use a FeatureJoiner to correct data fed into the Left port. I use a StringConcatenator and JSONFragementer to generate the corrections, which are fed into the Right port. The FeatureJoiner's Join Mode is set to "Inner"; Join On specifies an Attribute from each feed that match each other 1:1; Attribute Conflict Resolution is set to "Use Right". What I find is that conflict resolution is NOT applied Feature-by-Feature; it's applied to the entire set of joined Features. So, if none of my correction Features correct a particular Attribute in the Left feed, all of the Left Attributes bearing that name are passed through intact. But if even one of my correction Features corrects a particular Left Attribute, the remaining correction Features will replace the value of their corresponding Left Attribute with "<missing>". To avoid this, I have to add that Left Attribute - corrected or not - to every Feature in the StringConcatenator; what a
I already came quite far with the following post (I hope and think) https://community.safe.com/s/question/0D54Q000080hHLnSAM/dgn-to-dwg-conversion especially with the post of lenaatsafe. I think there are probably two important main steps to do: 1) Create a template file which is needed for converting the shared cells to autocad block (in my case I try to make a template file based on a cell dgn library)2) the actual translation between the source data (a dgn file with cells) and a dwg writer. Based on her post, I think I managed to create a nautocad template file based on the dgn cell library. See below image in how I have created the template file. I think the template file has blocks, since next to the autocad_block_name that I have defined in the attributemanager, the autocad_block_number is added automatically added in output template dwg file (see image below) and for example 27 (as in the image below) for all the autocad lines that define water. However when I use this template