Using transformers to modify data.
Recently active
Hi everyone,I am trying to match attributes and write the matching part of the substrings into a new attribute. The following table explains it best: 1 2 3 4 match 03.02.06.03.02.01 03.02.06.03.04 03.02.06.03.02.02 03.02.06.04.03.01 03.02.06 03.02.06.03.04.02 03.02.06.03.09.01 03.02.06.03.01.01 03.02.06.03.04.01 03.02.06.03 03.01.04.05 03.01.04 03.01.04 Note that the fields may also be empty and should then be ignored and not all strings are the same lenght. I am also trying to match from the start of the string only. The only idea that came to me so far is to create lists for each attribute using the attribute splitter and then use conditionals to compare each two-digit part seperately, create each sequence and then string them back together. Maybe there is an easier way? Best reagrds.
I have a text file that has a list of pointse.g. ID, X, Y I then have another file that has a list of linese.g. ID, FromPointID, ToPointID How do I create the lines using the coordinates listed from the points file?
Hello, I’m trying to connect to my microsoft email with the emailer transformer. I get the ‘Unable to retrieve access token’ error after logging into my account and using authenticator app. I get this error with veryify HTTPS certificates enabled or disabled. Any help on this?Thanks
Hi All,How can I force FME to use ArcMap 10.8 for reading GDB instead of ArcPro 3.x? I have a workflow that needs to use ArcMap because of a python script and everything works fine on my machine, my current versions of FME (2018, 2020, 2023...etc) use ArcMap to read GDB. Happy days. See below: One my colleagues also uses the same workflow, same version of ArcMap and FME but his workflow goes to ArcGIS Pro instead to ArcMap,How can I force FME to use ArcMap to read/write GDBs?Thanks :)
I’m trying format the headers of an excel file. I’m attempting to use a template but can’t get it to work. The output always has a tab that is formatted like the template, and a tab with the data without the formatted headers. I’d like to write the data to the formatted tab. Is this possible?
I’m querying databases using SQL Creator and have a Where clause date > ‘$(dateuserparameter)’. I would like the dateuserparameter default value to be yesterday’s date, for example ‘2024-10-07’. Is it possible to set the parameter’s default value to be yesterday’s date?
We want to automatically write 3D data to an existing 3DScene in ArcGIS Online. The data consists of borehole samples (geometry simple 3D-cylinder). We have tried using the Esri Indexed 3D Scene Layer-writer but the output does not show correctly and we can't create pop-ups showing the attribute data (although it looks like it's there). We're not sure why this doesn't work but figured we'd try here first to see if we can get any pointers to a best practice. So, can anyone please help shed some light on the best way of doing this - updating 3D-data to an existing 3D-scene in ArcGIS Online? (We will want to be able to do this also with mesh-data... for instance a ground model.)
I’m reading a GPKG table, and when I view the data in the Data Inspector, I notice that FME removes some small holes in my polygons. How can I prevent this from happening?
I use a Sorter to sort on some attributes.When using the Dissolver with a GroupBy attribute and the Accumulation Mode ‘Use Attributes From One Feature’ after the Sorter I assumed the attributes are taken from the first feature of the sorted group. (Basically the same behavior as for a combination of Sorter/Matcher or Sorter/DuplicateFilter).However the Dissolver seems to work differently. The considered feature seems to be random (maybe a geometry condition drives which feature “wins”?).So the question is, how can I use the Dissolver so that always the first feature of my sorted group “wins”?I have an ugly mitigation flow with Tester, Duplicate Filter, AttributeKeeper, FeatureJoiner which is not really smart but cumbersome.Any ideas?Klaus (Version: FME Forms 2024.1.0 WIN64)
My team has a workspace that has ran thousands of times before that has started failing in two different ways. The first failure does not actually trigger FME to fail, it stalls out on the ContourGenerator and does not move. Memory space, RAM, CPU usage, and GPU usage are all fine, none of them spike or max out. In fact RAM usage is quite low. Other times it will fail, at the same spot and give this error:An error occurred. FME will attempt to obtain more information on the error, but this may cause the translation to be terminatedAn error occurred. Here is the information that FME was able to find on the errorget_next_capacity, allocator's max size reachedI found this post from four years ago suggesting to just contact the support team. Any ideas before I do so, or is that still the recommended route to take?Version is FME 2021.1.3.0 (20211002 - Build 21631 - WIN64) I know this is an older build, I was told by my management that a new build would not fix any issues/make a difference a
I have a dataset, representing a road network, in a Geographic Lat/Long coordinate reference system. The area covers three UTM zones.I want to calculate the length of roads / polylines with metres as the unit of measurement.What transformer should I use?
I use the AIXM 5.1 Reader with the default settings to read all AirspaceTimeSlice. Some of them are missing geometry. For example, I have a feature which uses xlink:href to reference the geometry of a CTR. The CTR in itself has an UNION and consists of two CTR's which are also referenced with xlink:href. How can I get FME to get this geometry. It somehow doesn't seem to follow up on the xlink:href. I use FME Desktop 2019.2.3.1
I have a layer that contains 2 point line features i.e. start and end only, and I want to convert the start and end to points but have a count that keeps the parts in order. For example the start of the first line has count of 1 and the end of that line a count of 2, then the next line, start point would be 3 and end point would be 4. Each line has an ID so was thinking to try and group the points by line ID and then apply the count but can’t get the grouping to work as expected.
Using FME Form 2024.1.2 and QGIS 3.34.4 with Python 3.9 the following script:import fmeimport fmeobjectsimport sysfrom qgis.core import QgsApplication, QgsVectorLayer, QgsProcessingFeedbackclass FeatureProcessor(object): """Template Class Interface: When using this class, make sure its name is set as the value of the 'Class to Process Features' transformer parameter. """ def __init__(self): """Base constructor for class members.""" # Initialize QGIS Application QgsApplication.setPrefixPath("F:/QGIS 3.34.4/apps/qgis-ltr", True) self.qgs = QgsApplication([], False) self.qgs.initQgis() # Append the path where processing plugin can be found sys.path.append('F:/QGIS 3.34.4/apps/qgis-ltr/python/plugins/processing') from processing.core.Processing import Processing Processing.initialize() import processing def has_support_for(self, support_type: int): """This method is called by FME to determine if
I am writing a PyQGIS script (Python version 3.9) within FME Workbench 2024.1.2 Python caller transformer which has to run some processing tasks from the QGIS (LTR 3.34.4) processing framework:import fmeimport fmeobjectsimport sysfrom qgis.core import QgsApplication, QgsVectorLayer, QgsProcessingFeedbackclass FeatureProcessor(object): """Template Class Interface: When using this class, make sure its name is set as the value of the 'Class to Process Features' transformer parameter. """ def __init__(self): """Base constructor for class members.""" # Initialize QGIS Application QgsApplication.setPrefixPath("F:/QGIS 3.34.4/apps/qgis-ltr", True) self.qgs = QgsApplication([], False) self.qgs.initQgis() # Append the path where processing plugin can be found sys.path.append('F:/QGIS 3.34.4/apps/qgis-ltr/python/plugins/processing') from processing.core.Processing import Processing Processing.initialize() import
Hello all ! I need to create CSV where value will end with a semicolon. I can do it using AttributeManager > @SetValue(SUP); but in that case it would add “ “ between attribute because it is converted to varchar. I need it without those “ “ but can’t manage to do it.Example below : 1st is my output and second is what i want. Only difference is those “ “.PS : Title is correctly formattedCODE_AL;NUM_AL;LIBELLELOL;LIBELLEC;SECTSTAT;ANCIENNE_C;NOUVELLE_C;CODE_POSTAL;PRO;REGION;PAYS;POP;SUP10;10;GEROMPONT Avenue des Déportés 74;GEROMPONT ;25122C11-;Gérompont;Ramillies;1367;Brabant Wallon;Région Wallonne;BELGIQUE;82;"0,099368;"CODE_AL;NUM_AL;LIBELLELOL;LIBELLEC;SECTSTAT;ANCIENNE_C;NOUVELLE_C;CODE_POSTAL;PRO;REGION;PAYS;POP;SUP10;10;GEROMPONT Avenue des Déportés 74;GEROMPONT ;25122C11-;Gérompont;Ramillies;1367;Brabant Wallon;Région Wallonne;BELGIQUE;82;0,099368;
I would like to find for each green point the closest orange building limited by the parcel border the green points are situated in. See the attached image below. The neighbourfinder should do the the trick but should not search in adjacent parcels for closeby buildings. Any suggestions? Ps. This is a snapshot of my data. I have about 700 green points and their parcels and buildings.
I have a dataset with spikes, and I want to flag records with spikes for manual inspection.I am aware of the SpikeRemover transformer. Is there a method of just detecting spikes? Not removing them but just flagging them? I would prefer to do a manual fix.
Wondering if FME can read QR-codes from images. Input is folder with images with QR-codes and some other content. FME should determine where to save those files based on the QR-code so just be able to read the code within workspace. Has anyone tried doing something like this?
I have been unable to find a up to date compilation of the AI transformers and connections available in FME, is there such a thing?Specifically, I want to do some experiments with reverse image lookups.
I have a featurereader after a featurewriter which is writing 4 feature types. I have configured the dataset parameter as _dataset as per the output of the reader. What do i need as the feature types to read? I have tried _feature_types{0}.name _feature_types{1}.name _feature_types{2}.name _feature_types{3}.name and _feature_types{*}.name but neither work. _feature_types{0}.name by itself does work on the first of the 4 in that same parameter.
Hello everyone,I am using the StringPairReplacer to find and replace short codes with their corresponding fulltext from a string that may contain multiple codes. It looks something like thisA1, A2(A3), A4 → Fulltext1, Fulltext2(Fulltext3), Fulltext4with the Replacement Pairs: A1 Fulltext1 A2 Fulltext2 A3 Fulltext4 A4 Fulltext4 This works fine, however the lookup table containing codes-fulltext translations may change in the future and I would like to implement a dynamic solution which doesnt rely on changing the workspace everytime something changes in the translation. I managed to create the correct text for the replacement pairs field using the SQL Creator from my translation database but am having trouble inserting this string into the appropriate field as it only accepts text and user parameter input. I am not too familiar with user parameters and cant seem to work out a solution to insert the dynamically created string into the StringPairReplacer.Does anyone have an idea how to do
Hello,I would like to use FME to search for partial name matches (essentially a fuzzy string comparison) between two columns in different datasets.The challenge I'm facing is that it’s not a straightforward ID-based comparison. I want to pick a name from a row in one dataset and search for the closest match in a column of names in another dataset.Does anyone know a way to achieve this in FME, perhaps without relying on IDs?Thank you!
I have lines and their vertices should be written to XML (using XSD-driven XML-Writer).I extract the vertices coordinates into lists using the “coordinate extractor” .Now I need to find a way to output those coordinate pairs to xml, so that the output looks like this:Is there a way using the “list concatenator”?
Good day,I have a featurewriter and I want to give the dataset the same name as the display value (and not the value itself) of a parameter for which I used a choice configuration. How can I do it ?