Using transformers to modify data.
Recently active
Hi, We would like to be able to calculate the real world footprint of drone images to result as a trapezoid polygon. This should be possible with only the exifdata that we get from the custom transformer "exifReader" as far as I can tell. I found a python version here, but it requires additional installation of vector3d from the python script. Anyone got a solution to calculate drone image footprints?https://gist.github.com/luipir/dc33864b53cf6634f9cdd2bce712d3d9 The custom transformer FootprintCreator promises something similar but requires a CSV-file from the camera. Anyone got a suggestion/solution? It would be a neat transformer that I think a lot of people would benefit from. We have a couple of different DJI drones.
I used the FeatureReader to read all feature classes in a file geodatabase and dynamically update the same feature classes in a different geodatabase. Some of the feature classes use attribute domains with code values different than the descriptions. This causes failures in the update. For example, a feature class has an attribute Country defined as integer, and its domain Description is country names (text). Behaving like ArcGIS, the FeatureReader reads the Description text values and write to the destination feature class, which has the same Country defined as integer. The data type mismatch between the FeatureReader output and the destination caused the update to fail. As it is very typical in ArcGIS for a domain to have different code and descriptions values and therefore I would think FME should have been able to handle this gracefully, but I don’t see a workaround option with the FeatureReader. I am at FME Form 2022.2.2. I hope I don’t have to use those Customers or Hub GDB Domai
I have a RUN_DATE field in a File Geodatabase Feature Class Attribute Table. In this field is the current date (today’s date). I want to use a Tester after the DateTimeConverter Transformer to select only the values in the RUN_DATE field that are today’s date. I have tried this and get no passes, all failed. Is there a specific date format that needs to be used for the @DateTimeNow() function?Here are the parameters in the Tester (that is immediately after the DateTimeConverter Transformer: Here are the parameters in the DateTimeConverter Transformer: Here are the values in the attribute table (after the DateTimeConverter Transformer has been run) circled in red is today’s date: Here is a screenshot of my workspace:
How to get to the bottom of this error message?An error occurred while attempting to create an Esri Spatial Reference from an OGC Definition for the feature feature class 'wildlife_key_areas'. The error number from ArcObjects is: '-2147024809'. The error message from ArcObjects is: {The specified WKID (factory code) or WKT (definition string) is not a Projected Coordinate System.}GEODATABASE_SDE writer: An error has occurred. Check the logfile above for detailsThe Feature Information inspector on the incoming data stream says the item has a coordinate system and is happy to display it. The OGC WKT from that dialog is:PROJCS["NAD83 / Yukon Albers", GEOGCS["NAD83", DATUM["North_American_Datum_1983", SPHEROID["GRS 1980",6378137,298.257222101, AUTHORITY["EPSG","7019"]], AUTHORITY["EPSG","6269"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.0174532925199433, AUTHORITY["EPSG","9122"]],
I am trying to both add and update Equipment to CityWorks using the HTTPCaller - it seems to work fine except for custom fields. They do not seem to add or update with the equipment record. I am passing in the “Data” query string parameter with the following json data:{"EquipmentUid":"@Value(EQUIPMENTUID)","Description": "@Value(DESCRIPTION)","Manufacturer": "@Value(MAKE)","Model": "@Value(MODEL)","ForCheckout": "@Value(FORCHECKOUT)","RateType": "@Value(RATETYPE)","UnitCost": "@Value(HOURLY_RATE)", "CustomFields": { "FieldName": "DIVISION CATEGORY", "FieldValue": "@Value(DEPT_ID_DESC)" } } This does not work but is what I could gather from the internet as correct (for the custom fields)
Hello,I have encountered some issues with a workspace that I have not seen addressed previously in the forum. The issue concerns exporting to an SQL server database where the file format is interpreted as GeometryCollection when it is essentially only MultiPolygon at most.This is what my workflow has looked like. I have a workspace that retrieves line segments from an SQL server, which are then combined and the attributes processed. These lines are generalized and buffered to form areas. I then use Dissolver to merge overlapping areas with a Group By function based on a common ID (the field INSATSNR in my screenshot). However, there are several areas with the same ID that are located in different geographical locations and do not overlap. Therefore, I use an Aggregator with a Group By function on the same ID. This ensures that areas with the same ID are collected in one field in the attribute table—exactly as I want it.However, when I want to export the areas to another SQL database, t
Here is my code: import mathimport fmeobjectsFEET_PER_M = 3.28084TURN_THRESH_DEG = 5.0 # minimum angle to count as a turndef haversine_m(lat1, lon1, lat2, lon2): """Great-circle distance in meters.""" R = 6371000.0 phi1, phi2 = math.radians(lat1), math.radians(lat2) dphi = math.radians(lat2 - lat1) dl = math.radians(lon2 - lon1) a = math.sin(dphi/2)**2 + math.cos(phi1)*math.cos(phi2)*math.sin(dl/2)**2 c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a)) return R * cdef bearing_deg(lat1, lon1, lat2, lon2): """Bearing from (lat1, lon1) to (lat2, lon2) in degrees 0-360.""" phi1, phi2 = math.radians(lat1), math.radians(lat2) dl = math.radians(lon2 - lon1) y = math.sin(dl) * math.cos(phi2) x = math.cos(phi1) * math.sin(phi2) - math.sin(phi1) * math.cos(phi2) * math.cos(dl) brng = math.degrees(math.atan2(y, x)) return (brng + 360) % 360def signed_deflection(prev_bearing, next_bearing): """Smallest signed difference between bearings (-180..+180).""
Is there a resource/database somewhere that has a list of what FME release each version of a transformer was initially released/updated in? You can get it pretty easily for transformers on the Hub, but not for inbuilt transformers.I’ve had a dig through the various Python APIs and I haven’t come across anything (doesn’t mean something doesn’t exist mind you!).Each version of FME does come with the previous versions of the transformer, otherwise this would break the backwards compatibility of the software.
I have an excel file with 100 records (100 rows) with 5 columns. I have a process that will filter one record to update one column field called ‘Last Update’ in that particular record row. So The column ‘Last Update’ for that 1 record should be updated and the rest of the 99 records will remain the same. Keep in mind that the one record being updated, only one column is to be updated which is the Last Update column and the rest of the columns fields will remain the same. How can I configure the FeatureWriter?I currently have the following set in the FeatureWriter Parameters and in the configuration but this does nothing. The excel sheet looks the same as before with all 100 records the same and the one record that Im looking to update does not have the Last Update column updated. If I do an Insert, it updates that one record column ‘Last Update’ but the rest of the 99 records are deleted, which I don’t want. So the Insert is not working for my purpose.Thank you.
Hi all,I’ve successfully solved one issue of enumerating points along the lines (to define flow direction) using this post - Line to connect in order. | Community. Is it possible to enumerate segments of the line the same way using enumeration of points?
I'm getting a weird error at the very end of the log (after Translation was SUCCESSFUL) The dataset is LL-GDA2020 but at the end I get this, even after adding in a reprojector just in case and setting it to reproject from source to LL-GDA2020: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Feature Type: `'Attribute(string: windows-1252): `fme_geometry' has value `fme_point'Attribute(string: windows-1252): `fme_type' has value `fme_point'Coordinate System: `_LL-WGS84_0'Geometry Type: IFMEPointCoordinate Dimension: 3(148.19125855756474,-32.732898266064595,0)===========================================================================Unknown coordinate system '_LL-WGS84_0' specified - aborting+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Feature Type: `'Attribute(string: windows-1252): `fme_geometry' has value `fme_point'Attribute(string: windows-1252): `fme_type' has value `fme_poin
I have seen some partial answers to this while searching but nothing definitive.Can someone explain the best way to install a transformer [package] manually on Windows? More specifically, the emailer package from FME Hub. We don’t have internet connection to FME Hub so would need to download the package and install it. Does it have to be installed for each profile or can the users share a location for the package?Thanks!
Hi ExpertsNeed your support and Guidance.I was having p scanned PDF and exported a page of the map which was of 1984 and I need to extract the Points with location details with size of each point size so that i can differentiate them based on that.Main challenge is how to georefence it and I have vector file for the province and Extent and 30 M grid i was able to secure that but How can i proceed to georeference and get the details.Kindly Guide and support.I have attached the Image file with GDB of it https://drive.google.com/file/d/1SZXkbyDlMxL_cE0FPsiHKuuECl7k6HrW/view?usp=sharingThanks
When I go to publish my workflow from form to flow I get this error: However when I go to run it on flow, I get an error saying that it doesn’t exist: 58 2025-9-23 12:18:08 | ArcGISFeatureServiceReader: Connection 'connectionname' does not exist. Check connection parameter and connection definitions in FME options and try again59 2025-9-23 12:18:08 | Python Exception <NamedConnectionNotFound>: FMEException: 1: ArcGISFeatureServiceReader: Connection 'connectionname' does not exist. Check connection parameter and connection definitions in FME options and try again60 2025-9-23 12:18:08 | An error has occurred. Check the logfile above for details61 2025-9-23 12:18:08 | The below feature caused the translation to be terminated77 2025-9-23 12:18:08 | FeatureReader_2_<Rejected> (TeeFactory): FeatureReader_2_<Rejected>: Termination Message: 'FeatureReader_2 output a <Rejected> feature. To continue translation when features are rejected, change 'Workspace Parameters' >
Hello FME brains trust. I have a situation where I need to run a regular update that takes a supplied point and looks up a corresponding lot and plan (cadastre) and add it as an attribute to the point. I am currently using the Point on Area overlay transformer, which works, but the updates are only one or two points, and our parcels layer has over 3 million features, which takes quite a bit of time to read and run.I am hoping that there might be an alternative that basically runs a spatial query on the server side and only brings in the intersecting parcels or any other options that might help me streamline this process.
can you think of a tester or tool in FME that can check for polygons in a dataset which are separate (not connected) but have to the same objectID Ie . fixing this issue below:thanks!
Hi Everyone, I have a java-based custom transformer built with the FME plugin SDK. I created an HTML help file for my custom transformer, and I would like to link it to the transformer, so it can be displayed in FME Form when I right-click on the transformer and click help. Where does the HTML file need to be placed, and where/how do tell the transformer about the help file? Do I need to add something to the .fmw or the .java file, or both? If so, do you have examples or documentation on what code needs to be added? Thank you for your time!
Hello,I would like to decimate my point cloud to keep one point every meter for example.I tried PointCloudSpatialThinner but i suggest it extrapolates the coordinates to fit the best to the original cloud point.The problem I have is I can’t change z-coordinates. Optimally I’d like to decimate my point cloud only on the x and y coordinates.Does someone have a solution ?Best regards,Gurvan
I am having some difficulty normalizing reverse geocodes for comparison from one Geocoding Service to another (in this case OpenStreetMap). The _address that is returned can pretty easily split up into a list or separate attributes with most services as they are consistent. However, OSM’s _address has extra information and parsing it to be consistent with anything else has been a challenge. See below where instead of having an AddressNumber, a null, or a 0, I get Falmouth Public Schools & Moonlight Meadery in the 1st position. For that matter, I sometimes get supplementary place names such as Seaport & South Boston when expecting a Town in a particular separation/position. So it throws off looking in any specific list due to the inconsistent placement.Some are normal, but many either don’t contain the expected info, or add info that is unnecessary for my needs.What I want to make into attributes: AddressNumber Street Town State ZipCodeOpenStreetMap gives me this in a te
Hi everyone,I’m running into an issue when using the FeatureReader transformer.When I read a table through the FeatureReader, the attributes are not exposed However, if I read the same table directly using a normal FME reader (through SDE or GDB), all the attributes are properly exposed.Is there a setting I’m missing with the FeatureReader that prevents the attributes from being available? Or is this expected behavior when using it compared to a standard reader?Thanks in advance for any advice!
Hello my fellow FME’ers,Probably I'm missing something or I stumbled upon a bug, but I can't get something to work like I expect. Maybe someone can point out what I'm missing. Workspace snippetMy data is going trough a Matcher to find features that belong to the same object. I then sort them on _match_id and an attribute called lighted. Result of Sorter_4As a result I have something above. If lighted is null it will be the first feature.In the AttributeManager I use Adjacent Features to look 1 feature further and have the following condition statement for a new attribute called _filter. The second one is another attempt to get the same result, but that also doesn't work. Conditional statement Alternative conditional statement I triedI expect the two <null> values in the screenshot above to get the value ‘yes’, but it doesn't. What am I missing here?
Hello,I have been looking for ways to convert multi-point geometries to lines but havent been 100% successful so far. Given is a data set consisting of multi-point geometries identified by a unique key and various attributes.Its a straightforward matter when the sequence of points forms a linear shape:Deaggregate the multi-point geometries and feed the single points to a line builder which groups the lines by the unique key. However it is not so straightforward when the points form an arc.In these cases the line builder creates shapes resembling spider webs rather than arcs.I tried various ways to sort the points spatially (e.g. with the spatial sorter) to better set up the line builder but so far without much success.Can you think of other ways to deal with this kind of case? Kind regardsRicky
Good morning, friends. I have the following FMW. I want to cut the different geopack entries so that the top one cuts the one immediately below, creating a sort of pyramid that corresponds to the building's heights. I don't know what I have wrong with the custom transformer.In this case, there are this number of heights; in others, there are more or less, meaning they vary.Thank you.
Hi,I’m having trouble with AmazonBedrockConnector and I believe it’s an error with how the transformer has been authored.The issue is that the transformer processes and outputs the square of the number of input records. If I input 13 records, it will process 169 (to AWS Bedrock!), and then output them. If I input 313 records, it will attempt to process and return 97,969 records (I’ve found this out the hard way).By embedding the transformer and then editing it, I was able to view the flow of information from a source workspace. The issue seems to be in the calling and validation of AWS Inference Profiles, in that they are checked to be active, and then joined back to the original input records (obviously to allow error checking and rejection). As downloaded, the transformer looks like this:Note that the 13 input records are joined back against each other to create 169 records that are ulimately sent to the Bedrock API. I can see no valid reason to keep all of the original records out o
FME can currently read from Autodesk Recap RCP and RCS files ?