Using transformers to modify data.
Recently active
I’m attempting to use a Feature Reader and where clause to identify features in a Mobile Geodatabase with a “publish_date” (datetime) greater than the “LAST_UPDATE_TIME” (datetime) from an SDE Geodatabase. With help from the article below, I was able to accomplish this with a File Geodatabase and SDE Geodatabase, but I’ve now migrated my script to FME 2024 and need to use MGDB instead of FGDB. It seems the formatting is different (I validated in FME 2024 against the FGDB instead of MGDB - it works).Feature Reader from Esri FGDB with a where clause based on a last_updated (date/time) field | Community (safe.com)Below is my attempted logic, where the format of publish date and LAST_UPDATE_TIME, as far as FME is showing me, appears identical. The FGDB solution has some not-so-straightforward formatting so there might be something similar here. Any help?
I have an Attribute with integer values (4 Digits) and have to extract the first two Digits and write them to a new Attribute.In RegEx I think it is ^\\d\\d. How can I do that in FME?I tried with ExpressionEvaluator and AttributeSplitter @FindRegEx(@Value(Attributename)^\\d\\d)but it does not working. Thanks for helping.
This has been bothering me for a long time. I keep avoiding it because I just end up using a SQL executor. to find errorsHow is the Writer transformer different than a SQLExecutor when performing MSSQL inserts? [or other functions]. Don’t they use the same driver?Here is an example: I recently inserted a row into a table where the string length was too long got the field. The Writer transformer just inserted the string successfully, but it truncated. The SQLExecutor threw a SQL error saying, ‘string or binary data would be truncated’ and then failed\rejected the insert. I have also run across other odd behavior in the past. Such as the writer having the ability to insert duplicate foreign keys, but the SQLExecutor will fail with error. Is there a good resource for this or a good explanation? Thanks!
Hi everyone, I am now doing data quality inspection to an esri personal geo database with multiple layers, and I have to calculate how many 0 or null values there are in every attribute of each layer(or table) in the database. I have tried to figure out some automation method with FME but in vain. Can anybody give some instructon or advice?
Hello every oneI have workspace to read many files in SharePoint just to know which folder has updated with new dataAnd it’s taken to much time to read all files in SharePointMy question is : is there is any way to let SharePoint connecter read folders only without reading all file inside or read one file from every folder just to decries the time and speed the workspaceThanks for all your support
I have a dataset stored in Oracle Spatial, and I have metadata stored as an xml file (the xml is generated by ESRI software).I want to Write a fileGDB where the metadata is added to the feature layer.How do I accomplish this?
Hi,I haven’t been able to find this question asked anywhere, but I’m sure it has been. I’m at a lost though. I have a unique attribute in a group of features. I wish to find unique combinations of all possible pairs in my group of features.For example, if I have three features. Their ID’s are 1, 2, and 3. The result I want to find is a feature with a new ID of: 1-2, 1-3, and 2-3In reality my groups can be up to 20 features in size.I can’t work out how to accomplish this in FME. Though I’m sure its very easy.Does anyone know how I would do this?
I'm bringing in several multidimensional GRIB files with which I would like to separate out each band for subsequent analysis. The GRIB file has several bands with inconsistent resolutions (i.e. 2880x1441 or 1440x721). When I run the GRIB file through a RasterBandSeparator, I see the following warning in the log file:|WARN |GRIB reader: Band 17 of GRIB dataset is 1440x721, while the first band and dataset is 2880x1441. Georeferencing of band 17 may be incorrect, and data access may be incomplete.The inconsistency in resolution results in incorrect georeferencing of the grids, in which the bands that have a resolution that differs from the first band are truncated and stretched. Is there a way to prevent the system from using the resolution of the first band for georeferencing all other bands? Is there a known workflow for rectifying this behavior?
Posting these Custom Transformers that may be of use or further developed:FeatureCreator FeatureExecutor One thing that is tedious in FME is actually creating data within the workspace itself. FME’s use case is mainly aimed at transforming external data and so is not natively setup towards actually creating new rows of data from scratch within the workspace itself.Wouldn’t it be nice if instead, users could just copy/paste a table of values into tje workspace and it automatically convert these to Features for you? ie. Easily store a “table” of data within the Workspace? This is essentially what these Custom Transformers aim to do (and partially inspired by Eg. Power BI with its similar “Transfomer” / Power Query that gives an interface to just copy/paste a table of data from the Clipboard into the query definition)Probably most of us currently use any number of Creators, Cloners, AttributeCreators (often with Conditional Values), Testers etc. for what is a lot of effort just to cre
Hello FME Community,I'm relatively new to FME and encountering some challenges with my current project.I’m working with a road centreline network where the road segments have varying lengths. Each segment includes start and end chainage attributes. A road may be made up multiple segments so chainages need to be sequential and based on the prior segments end chainage for the next segments start chainage. I'm also generating M-values for these segments. Following the linear referencing guide, I’ve managed to retrieve all necessary values. However, the process required me to use a LineCombiner to combine the segments and a PathSplitter to split them back into individual segments.The issue arises when I attempt to split the lines back into their original segments. Instead of restoring the original segments, the process results in an explosion of segments, increasing the count to around 16,000.I’m unsure how to maintain the integrity of the original segments while still achieving the desire
Hello , I would like to understand more about shortest path finderi know ,it requires start and end node As picture :I have start point and end point ,several lines .i need it (start from right of picture (start point) to left crossing all lines ,not only from start to end ,continue to the lines of square area and force the lines to order the direction from right to left Is there a good idea here to let the fme set the direction from right to left and implement it for all lines (lines crossing from start to end and also the lines of square area till end )
Hello everyone,I'm fairly new to the world of FME, and I'm trying to do a rather complex manipulation, but which I'm sure is possible with FME. However, despite my research I can't find a solution and I need some expert advice. I have 2 types of input data:On the one hand, railway lines as output from a ‘LineBuilder’ transformer. Secondly, a digital terrain model in TIN format.The idea would be to be able to create tunnels under the terrain. In some places, railway lines run underground in tunnels. It would be necessary to be able to ‘punch holes’ in the digital terrain model at the point of intersection. My initial idea was to generate 3D data around each rail line with a rectangular cross-section (5x4m) and then to be able to create an intersection between this 3D data and my digital terrain model to perform a subtraction. I've already tried a few things on found the net, but nothing has really worked. Could you give me some advice? Thanks in advance,Nicolas
Hello, i have a problem with the stringconcatenator. i would like to combine several values of text attributes with the stringconcatenator as a new attribute. the values should be separated by a comma, empty attributes should be ignored and there must be no comma at the end. how can this be achieved? I always get two or more comms if the attribute is emtpy. Thanks a lot.
Hi All,Anyone could help me with this specific question in FME? I want to remove the repeated words in each row, e.g. A,B,C,A,B in a row, the A, B have been repeated twice, I would like to remove the repeated A and B only. please see attached the sample data. many thanks.
I have created a workbench to detect schema different.I am using two ChangeDector Transformer in this workbench which is producing output as I intend. Figure below shows that part.Workbench for that part This is output data (in csv file) based on that workbench.Output by FME Workbench 2023.1 (FME Form 2023.1)However, when I used the same workbench with the same data, the following output were produced. It got extra error. For error code E302, those not bold should not be there.Output by FME Flow 2023.1.1.1The workbench used is the same.The data is the same.Only output 1 run in FME Workbench 2023.1 (FME Form 2023.1) and output 2 Run on FME Flow 2023.1.1.1 and FME Flow 2023.2.Note: The additional error contain field that is unchanged in first ChangeDetector and does not included in the second ChangeDetector (ChangeDetector3)
I'm trying to build a service catalogue of our municipality's services (WMS and WFS) for easy search and access. I have successfully used xml readers and httpcaller along with xml flatteners to extract the information into a queryable json table and presenting it with datatables (https://datatables.net/ ). Very handy and fast. But now I've run into some trouble that I can't really understand or work around. Getting the info from well over 600 services has been easy but the last one I added does not work. See attatched workspace. "TK OPEN" works just fine. "Miljö" does not. It seems to be related to XML and HTTPS, but that really isn't my strongest field. getcapabilities.fmwAm I doing something wrong? Is there, perhaps, a simpler or other way to do this?
Hello Friends!My current setup: FME(R) 2024.0.1.0 (20240328 - Build 24202 - WIN64) ...from ArcGIS Pro Data Interoperability Extension I am attempting to use the GeoJSON Reader to capture information from api.weather.gov/alerts/active (Weather.gov API). I am not having any problems getting data. The problem I am having is populating all of the available fields within the API - in case I ever do get them from the API. The first time I connected to the URL from the Reader, I got most of the attributes, missing maybe 10 fields. Adding another GeoJSON Reader and connecting to the URL an hour later, I get a different set of attributes. I do understand that the data is changing and their API is not delivering any unnecessary nested attributes.When opening the Reader’s Properties and then User Attributes - there is no way to add attributes. Am I missing something? Is there another way to add attributes?Thank you,--Adam
Hey. I'll try again and better. On the attached fmwt I am trying to assemble the correct geoJson structure - the data structure formatting is done on the "JsonTemplater5" transformer. The sample file for the data structure is the attachment "example_collection"( better to look here: https://github.com/UASGeoZones/ED-318/blob/main/examples/Example_Collection.json?short_path=e3f0eef), according to which I am creating a template (JsonTemplater5). The output from the workspac is "rmz.json" - the whole data structure is not created on jsonTemplater5, so it does not match the complete sample file.My question is. Does it really have to be this complicated and lengthy to define a template on jsonTemplater5 to send data to? Wouldn't it be possible to export the schema using a combination of some transformers from example_collection ( sample data )? Or if I have some schema available, can't I use this schema so that I don't have to create a template in such a complicated way? attachments: rmz_te
Hi All!I’m new to FME and have (hopefully) a simple question. I have created a workspace that reprojects data from one projection to another in ESRI Geodatabase (sde). I have embedded the connection parameters. The workspace successfully runs. I have created a batch file, using the command prompt information from the result of the translation log. The batch file successfully runs when executed manually. When I schedule via Task Scheduler, its fails (0x1). Return code 2147942401The user account that runs the task is my own username. On local PC. Runs with highest privileges set. Under Action, it points to the location of the batch file. What am I missing?Thanks,Leanne
Hello all,I have a two roads datasets with a road_id, a through_distance_start and a through_distand_endI want to do a merge, FeatureMerger, where;road_id equals road_idtdist_start equal to or greater than tdist_starttdist_end equal to or less than tdist_endHow do I accomplish this in FeatureMerger? Or is there a different transformer?
I want to convert the format of a date-attribute from %Y%m%d to %Y-%m-%d by using the DateTimeConverter. This works fine, as long as there are no Null-values. As soon as there is just one Null-value, all other values are set to Null as well (even though the option “Passthrough Nulls, Empties or Missing” is set to Yes).I tried to filter out the features with the Null-values, convert just the features with values and merge all features after the DateTimeConverter again, but here too, all attributes are set to Null.If I set the Null-values to a dummy-date, then it works. But I don't want dummy-dates, but Null-values, so how do I do this?Thanks in advance, Vera
In a process in my company we use a Python script (PythonCaller) to call a download API, we need to modify it, but we get some errors that I don't get when running the script from Python on the Windows command line.Is there a way to debug the execution of the script in FME?
Hi,I have a polygon with a donut hole, and I would like to split it in half, e.g. across the center of the donut hole. The result should be two polygons, as illustrated below. The polygon isn't necessarily always "horizontal," like in the example below; it could be rotated in any direction.Does anyone know how to do this? Any help would be appreciated! A polygon with a donut holeResulting polygons
According to several solved questions in this forum, there are two recommended ways to automatically remove attributes that only conatain NULL or empty values: using a small python script or using the NullAttributeMapper. Unfortunately both suggestions do not work for me (FME Desktop/Form 2022.2). Both the PythonCaller and the NullAttributeMapper keep the Null-Attributes and they are present when I write to Excel (see attached workspace). Is there something wrong in my workflow or is there an updated solution? Thanks for any suggestions!
Hi all,New on the forum but not on FME :) (although not an expert). I come acrross a doubt on how to work with zip files. I know FME reads zip files directly but only if you know what kind of file is inside it. So If I have some URL with zip files but those can have dwg, shp, png...I cant really figure it out how to say FME ok, you shape file go this path, dwg this other path... I know I could use httpcaller and store them, unzip and work with them after unzipping by filtering out the inputs but I want to save disk space and dont really want to unzip.Any idea will be welcome.Thanks!