Using transformers to modify data.
Recently active
I have a workspace that I am using a JMSReceiver to receive JSON files from ActiveMQ. I am then using a JSONFlatterner to parse out the JSON fields. When I write the output to an email the attributes get sent to the email body as expected. But when I try writing the same output to a geodatabase feature class or a text file the attributes do not write. In the case of the text file the variables are identical to the variables for the email body - works for the email but not the text file. Am I missing a step that is causing the output not to be written to the text file or geodatabase?@Value(P_LINK_ANNTENUATION)@Value(P_LINK_ANTENNA_AZIMUTH)@Value(P_LINK_ANTENNA_HEIGHT)@Value(P_LINK_ANTENNA_TYPE)@Value(RTU)@Value(SCADA_DB_RTU_ID)
Hello everyone.I have a bug in a process that reads a NetCDF file and makes a Crop using a clipper transformer and then compare the result file with the original file using QGIS, compare point to point and some values coincide but others, in the file result file do not coincide, it has a negative value and the difference between that value and the original file for the same point is a constant, for example in the result file the value is -0.588 and in the original file it is 0.436, the difference is 0.436- (-0.588) = 1,024.The clipper parameters are like thisIf someone has had this problem and can help meThanks in advance
Hi folks,I have multiple images I need to extract blob data for. When I input my individual feature types into the Raster Extractor (eg. 32 JPEGs, as shown in image below) the raster extractor seems to duplicate the first image for all of the feature types, so I end up with a blob of the first image for all of my individual feature types:This results in the first image duplicated, as a blob, for all 32 features - when I require a unique blob value for each input feature. The only workaround I’ve found is to have a raster extractor for each feature type, which is not suitable.Any help is greatly appreciated. Kind regards, Aaron
I have successfully POST Authenticate using postman. But have no luck using HTTPCaller? Any idea please?
I am using a python Caller to determine if a value is in a range of two other values which are read from a csv file.For Example: Is SearchValue LMH_HNR_Z in the range of value PTOa and value PTOb? If yes, set the variable Fall = B3, if not set it to B3f.LMH_HNR_Z = 5, PTOa = 1, PTOb = 10 should return: Fall=3B, LMH_HNR_Z = 11, PTOa=1, PTOb=10 should return: Fall=3Bf The Code in this picture is part of a bigger function where I discovered the problem but I narrowed the problematic part down to this. The row where the problem happens is this:if (min(PTOa, PTOb) <= LMH_HNR_Z <= max(PTOa, PTOb)):What happens is, that this request randomly returns false even if the search value LMH_HNR_Z is in the range of PTOa and PTOb. The output of some tested values and ranges is also visible in the lower part of this post. I can’t really see a pattern there, maybe one of you?Is someone aware of a bug that causes this behavior? I am using FME Data Interoperability, FME(R) 2022.2.1.0 (20221202 -
A while back I was informed that I needed to update the feature type name of a GPKG that I created with FME.Instead of generating the complete dataset again, I wanted to use a dynamic reader/writer to update just one of the feature type names, and leave the rest intact. However, upon doing so, I got the feedback from our 'data broker' that the GPKG no longer met the geometry requirement (should be single geometries). When I investigated a bit further, it seems to me that a dynamic GPKG writer assumes multi geometry (in my case multi point), in case the writer is configured to use the Geometry 'From Schema Definition' (fme_point). Ok, I can get my head around that.However, when I then manually set the geometry in the dynamic writer to 'geopackage_point' or 'geopackage_multipoint', the geometry_type_name in the underlying SQLite DB (GPKG is based on this), returns 'GEOMETRY' (I think tied to 'geopackage_geometry'). In this case I believe &
For my process, I use pythonCaller and I have a JSON-type attribute. However, since the setAttribute function doesn’t recognize the JSON type, I have to use json.dumps() to convert the JSON into a string. I then connect a featureWriter to the output of pythonCaller to write the result in JSON format. However, I don’t understand why the featureWriter reformats the JSON on input. How can I have a correct json formatHere is an example of the file from featureWriter [ { "result_json" : "[{\"millesime\": [{\"2022\": {\"echelles\": {\"Y\": {\"max\": \"20.39\", \"min\": \"18.11\"}, \"X\": {\"max\": 461.0, \"min\": 0}}, \"resultats\": [{\"distance\": 0, \"pixel_value\": \"20.39\"}, {\"distance\": 425.0, \"pixel_value\": \"19.76\"}, {\"distance\": 265.0, \"pixel_value\": \"19.4\"}, {\"distance\": 461.0, \"pixel_value\": \"18.11\"}]}}, {\"2023\": {\"echelles\": {\"Y\": {\"max\": \"2039\", \"min\": \"1811\"}, \"X\": {\"max\": 461.0, \"min\": 0}}, \"resultats\": [{\"distance\": 0, \"pixel_value\"
We have merged Ascii grid and then classified the Raster using “RasterExpressionEvaluator” the Interpretation is set to UINT8 The color values have been assigned defining the interpretation of the palette as RGB24 using an AttributeCreator and then adding the color values to the RasterPaletteAdder. Export in Geotif format is possible. The Tif is transparent between the classified raster cells via the Nodata value.For performance reasons, we want to use a jpeg2000 and control the transparency via an alpha band as the jpeg2000 format does not support nodata values.How can we export the classified raster image in jpeg2000 with an alpha band?Thank you very much for your help in advance.
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.