Using transformers to modify data.
Recently active
I'm new to FME and tried to use the Rcaller transformer. However, the software lags at the log point "processing Rscript" and does not finish the translation but does not give back an error. This is also the case if I try to run the Rcaller example dataframe() script without any input data. See screenshots for details. Any help much appreciated.I'm using FME 2019.2 with R >=3.6. Translation log:Rcaller parameters:FME Translation Options:
I need to check the encoding of several files. For this I can use a scripted parameter like so: featureType =open('F:\\PGV\\Projektarbejdsmapper\\P4\\SCSV_til_kontrol\\scsv_2021e1_2021e3\\\\2021e1_lev_k_fortidsminde.scsv')t = str(featureType)return t With a Creator and a ParameterFetcher i get the following attribute:<_io.TextIOWrapper name='F:\\\\PGV\\\\Projektarbejdsmapper\\\\P4\\\\SCSV_til_kontrol\\\\scsv_2021e1_2021e3\\\\2021e1_lev_k_fortidsminde.scsv' mode='r' encoding='cp1252'> When I try to do this with a useparameter like so: file = FME_MacroValues['SCSV_file']featureType =open(file)t = str(featureType)return t This returns the following log:Starting translation...INFORM: Using Python interpreter from `C:\\Program Files\\FME\\fmepython38\\python38.dll' with PYTHONHOME `C:\\Program Files\\FME\\fmepython38'INFORM: Python version 3.8 loaded successfullyERROR : Python Exception <KeyError>: 'SCSV_file'INCLUDE -- fai
Hi everyone,I wonder if there is any way to force the SurfaceFootprintReplacer to not ignore holes in polygons?I have 3D cityGML data and want to get only the footprint, using the SurfaceFootprintReplacer the result is image Nr.2, all holes are gone and merged to one polygon. There is a custom converter called "GroundSurfaceExtractor" (I found somewhere in the web), what does it correct but this one takes around 10 times longer to calculate. Any hints?(btw: the cityGML does not include "ground_surface" elements to query for, I tried this one...)Thanks a lot!Building Polygon in 2D:SurfaceFootprintReplacer Result:
Hello,An enterprise geodatabase reader interprets a value in a date field as: 20130426000000A file geodatabase reader interprets the same date value as: 20130426This is a problem when comparing date values in ChangeDetector, as they are always noted as an update, even though they are essentially the same value.Does anyone have any ideas on how to make the 2 dates comparable?
Hi there, I'm using the UpdateDetector transformer and it's detecting changes with lat/long fields where numerically there's no difference. This is because in one reader (the CVS reader) these two fields have trailing zeros, while in the other reader (an oracle table) they do not. What's the best way to resolve this?
RegEx, FontEncoder and StringReplacer experts, please help! I want to replace regular text characters in a text string attribute with entirely different unicode characters, and be able to use them as geographical labels.For instance, let's say that I want to convert the character "A" (unicode U+0041) in my text attribute, to the Roman numeral "I" (unicode U+2160), and label my map with that. Some other characters should use other conversion codes - maybe using a lookup table. Is it possible?
Does FME support ESRI Representation when mapping data between two file geodatabases? If so how do you go about setting this up? Thank you, Sam
Hi, I am trying to IMPORT an EXISTING relationship feature class and FME complains about the name being too long....I cannot rename the Relationship feature class since it is a part of an existing data model. The table/feature class name 'WaterstaatswerkWaterkering_Waterkering' is too long for Oracle (!!??) to accept. Please shorten the name and try again I think this is a FME limitation that should apply if you are going to CREATE the table, but should not apply if the table/relationship feature class already exists! Anybody any thoughts/ ideas on how to go about this?
When using PointOnPointOverlayer (POPO), after FME 2018, I experience performance issues. With FME 2018.1.2.0 (20190225 - Build 18590 - WIN64) I could use the POPO with 600,000 records and this portion of the job use to run in 30+ minutes. Now with FME 2020.2.1.0 (20201130 - Build 20806 - WIN64) it takes 7+ hours. I also tested briefly with FME 2021.1.3 (Build 21631 - win64) but saw no significant improvement. What options are available for removing this additional 6.5 hours of processing time? Similar issue to this article from 2017. Thank you in advance for your time :) Julia Highlights from the logfile:2021-10-21 14:11:59| 0.4| 0.4|INFORM|FME 2020.2.1.0 (20201130 - Build 20806 - WIN64)2021-10-21 14:11:59| 0.4| 0.0|INFORM|FME_HOME is 'C:\\Program Files\\FME2020\\'2021-10-21 14:11:59| 0.4| 0.0|INFORM|FME Desktop ESRI Edition (floating)...2021-10-21 14:12:50| 50.4| 0.0|INFORM|Creating spatial index of 2 point features2021-10-21 14:12:50| 50.4| 0.0|INFORM|Completed spatial in
Hi. I was trying to figure out a way to rename all the fields of my output shape using a PythonCaller. I used the "BulkAttributeRenamer" to rename the fields, but just using a single parameter as: prefix, sufix, lowercase, uppercase etc and it's not enough. When I tried to use PythonCaller, I could change only the attributes itself, but not their field's name (I used the function setAttribute(name, new_value))Is there a python function that can set the AttributteName ?
I’m trying to define a transformation process between Intergraph GeoMedia SQL Server Warehouse (Reader) and Esri Geodatabase (File Geodb API) (Writer) using FME Workbench 2015. I have defined a schema file in a spreadsheet that is added in the Workspace Resources (Schema - From Table) to be used as Schema Source for my writer. The features that I am reading are coming with geometries like: `fme_geometry' has value `fme_aggregate' and `fme_type' has value `fme_point' OR `fme_geometry' has value `fme_point' and `fme_type' has value `fme_point'. Basicly this means that my source contains multipoint features and single point features. In my schema file I have defined the Geometry Type Value as fme_point. When the process tries to write the multipoint feature it fails with the message: Failed to write Geometry to feature class … with geometry type 'esriGeometryPoint'. The process works if I manually set the geometry output to geodb_multipoint but I w
Hi all,I was wondering if the same way that I can easily access to the layer content via ArcGIS Online, ArcGIS... can be made too via FME Desktop. I've tried the "Esri ArcGIS Portal Feature Service" reader, but not sure if I needed to have credentials for authentication. The URL:https://geodata.antwerpen.be/arcgissql/rest/services/P_Portal/portal_publiek2/MapServer/83 My purpose is to only read features from that service.Thanks,
I want to single out polygons that share only one edge with other polygons. In the example below the polygon circled in red has one shared edge whilst the blue polygons have two neighbouring edges. I have tried everything I could think of using TopologyBuilder but have not found a way to separate "reds" from "blues". I can't find a useful patern amongst lists and attributes. Any suggestions on how to count how many of a polygons edges are shared with other polygons?
I am wanting to change the the background color of a table cell based on the text value within the cell. I.e. if the value in the cell is "Good" change the background color to green and so on. I am converting an excel table to html table using the HTMLReportGenerator then created custom html where the script below runs but the output doesn't work. I just get the html table with no background colors. The jQuery code below seems to work when testing it using this site - jQuery toggleClass example - JSFiddle - Code Playground : <script> var cell = $('td'); cell.each(function() { //loop through all td elements ie the cells var cell_value = $(this).html(); //get the value if (cell_value == "Bad") //if then for if value is "Bad" $(this).css({'background-color' : 'red'}); // changes td to red. else if (cell_value == "Good") //if then for if value is "Good" $(this).css({'background-color' : 'gr
I would like to save the feature count from a reader and later use it as a conditional check before writing the data back to the database. For example if the reader feature count is 600, I would like to make sure there are 600 features after processing and before writing the feature back to the database. I have experimented with trying to connect StatisticsCalculators to get the count, VariableSetters /Retrievers and the Terminator, but cannot get everything to work and it seams overly complicated for something so simple. Especially since I can see the feature count on each connection line. Any input or suggestions?
I have developed a workbench that reads from Oracle SDE geodatabase and writes to a filegeodatabase. If I run it from fmeworkbench, it works fine but if I run from a command line, I get the following error: The Esri Product license used by this machine does not include licenses for the 'ArcServer' licensing levelThe ArcObjects license 'Standard' is being selected from the Windows registryThe Esri Product license used by this machine does not include licenses for the 'Standard' licensing levelThe ArcObjects license 'Standard' is being selected from the Windows registryThe Esri Product license used by this machine does not include licenses for the 'Standard' licensing levelUnable to load a library in the folder: D:\\Program Files\\ArcGIS\\Server\\framework\\runtime\\ArcGIS\\bin64. The error number returned from GetLastError is: 126I have 64 bit background geoprocessing installed. ¿Is it not possible to run it from a command line?
Hi,I'm creating objects in 5 different tables and I have a requirement for the object's IDs to be unique accross all 5 tables. I also need to set the starting ID value with a UserParameterSuppose I had 3 features created in each table.My objective would be :Ids 1 to 3 in table AIds 4 to 6 in table BIds 7 to 9 in table C...Would anyone have a suggestion for the best way to do this?I've tried with counters and feature holders but I haven't been successful. Strangely, I get something liketable A : 1,2,3table B : 1,2,3table C : 4,5,6although it seems to me I'm doing the exact same thing between table A and B and between table B and C... Cheers !
I am reading in a spreadsheet with 41 sheets. I get the unique values(UniqueValueLogger) and throw out the NULLs(tester). Then I hit the SQLExecutor that runs for each of the unique values. Next is the NoFeatureTester. If a work order exists, it drops to the OpenWorkorders transformer which writes the information to a file. If there are no open work orders, I need those unique values to be sent to the next SQLExecutor for further processing. How can I get those unique values back out to send to the 2nd SQLExecutor transformer?
I am trying to go from this: to this:Where "Current Weather" is the first "validTime" record and "Next 24 hrs" is the second "validTime" record. I messed around with the concept in excel and came up with the following which might work but can't seem to replicate it in FME: I've played with the AttributePivoter, StatisticsCalculator, AttributeExploder, and others and just can't seem to alter the table to something similar to what is shown above. The idea would be to go from reading in arcgis server service features and write out to an html table (or maybe something else) which would look like (or similar to) the above table. Any ideas are greatly appreciated!
When using a portal feature service for a table and a feature, joining them via uniqueid (guid 38) the feature joiner fails to join even though the guid is value. The dataset is branch versioned. Am I missing something?
Hi.I'm trying to find the nearest polygon (city polygon) to a set of points (border posts).And I tried out the neighborfinder transformer. It seems to work fine except that it doesn't add the attributes of the nearest polygon to the point feature.What am I missing ?
Hi community!How can I transform a pointcloud LAS in a mesh OBJ?Tnkx to everybody
Unfortunately, the source data can't be obtained as one package. Instead it can only be retrieved through individual SOAP calls. As such, the workflow obtains a dynamically generated list of relevant ID numbers retrieved through an initial GET request and then uses those ID numbers to construct the respective URLs for the individual GET requests, which obtain the data that I need (but it stores the XML retrieved through each GET request as a separate record/attribute). The workflow is for a regular batch update process using the externally sourced data to update my data.
Hi everyone, I need to create a user parameter (choice with alias) that contains CRS used by ProjReprojector, but, in the parameter configuration, the CRS used by ProjReprojector aren't listed.I'm using FME(R) 2020.2.1.0 (20201130 - Build 20806 - WIN64). By the way, I need to use ProjReprojector because RDN2008 / UTM zone 32N isn't present in the Reprojector or CSMapReprojector list. Thanks
I have a workspace which merges several Shapefiles. The filenames/locations are handed over as parameters and the workspace is called through a batch file. How can I accomodate cases where some of the input files are not present? There is no interaction between the missing Shapefiles and the other ones in the workspace, they just get written to a common destination.