A space to discuss FME Form
Recently active
Yesterday, after completing a first draft workspace, I showed my canvas to a colleague and they commented on how bizarre 🤢 my transformers appeared.I’d been painstakingly aligning my transformers by port - so that the output of a transformer would lead directly into the input of the following transformer. This creates flat, linear connections … but the transformers themselves don’t necessarily align. What’s your preference? Check out your options here: Arranging Objects on the Canvas
Hello community,i am using an Feature Writer to write Feature classes in an Feature Dataset in an EGDB.I found out that i need to enter the Feature Dataset Name/Feature Class Name hardcoded. For Example: FeatureDatasetName/FeatureClassName descriped in the following picture: SDE Feature Writer with hardcoded (static) Feature Dataset and Featureclass NameAn dynamically generated Value like “@Value(FD_Name)/FCName” or even the whole value @Value(FD_name_and_FC_Name) is not working as Feature Class.How i found that out? The Features get inserted in the Feature Class, even if i set Table Handling to drop and create. When i use the hardcoded (static) Feature Dataset and Featreclass Name the Table got dropped and created new, so it was working as expected.SDE Feature Writer with dynamic/Attributvalue Feature Dataset and Feature class NameWhen i use log level debug and use the dynamically (attribut value) Feature Dataset and Feature class Name, i get the following error Message which i dont g
I am trying to automate the conversation of a large series of CAD drawings to save the data to be used in ArcGIS Floor Aware apps.One of the criteria is to have levels / floors in a building sorted in vertical order, with the ground floor as 0 and increasing by one for each floor above the ground and decrease by one for each floor below the ground.Unfortunately my data has inconsistent naming for floors. With some having a Lower Ground (LG) and or basement (B). There are also some that have a messanine (M) between Ground (G) and Level 1 (L1). To top it off there is a Roof (R) in some.So my problem is that I need to sort the list of floors in such a way that I can get the vertical order, both positive and negative, centred around Ground as 0 where it exists. Does anyone have suggestions on how to tackle this?Here are a couple of examples and the vertical order needed. B, G, M, L1, L2, R => -1, 0, 1, 2, 3, 4B, LG, G, L1, L2, L3 => -2, -1, 0, 1, 2, 3LG, L1, L2, R => -1, 0, 1,
I have a folder of old aerial imagery tiles with .txg georeference file. Inside .txg file, there are coordinates of the four corner. I can manually copy those corner coordinates into the RasterGeoreferencer transformer, but is there any way to automate this process and mosaic all tiles into one raster?
Hi all, I’m wondering if it's possible to pull ArcGIS Server Logs data (Errors, Logs and Statistics)I’d like to do some fun FME diagnostic work on this data: using AI to read log messages, recording daily statistics and comparing stats daily and possibly alerting GIS by email.
Hello,I have not posted for a long time. I have been using FME Workbench 2022.2 and just now upgraded to FME Workbench 2025.1. What I have noticed is:In 2022.2 → Generate Workspace → Convert multiple files in any format into ESRI Shape format. I had no issues doing this.In 2025.1 → Generate Workspace → Convert multiple files in any format into ESRI Shape format. I get an error: “Unable to perform any licensing related tasks. Please check your Esri ArcGIS Compatibility workspace parameter, found in Navigator -> Workspace Parameters -> Spatial. This 64-bit version of FME requires ArcGIS Desktop along with 64-bit Background Geoprocessing; ArcGIS Pro; or ArcGIS Enterprise. Refer to this this article http://fme.ly/qua for more details”I do not have ESRI products installed on my server. (I never have needed them in past versions.)Also to note, I CAN convert one dataset (format doesn’t matter just other than Shape file) into an ESRI Shape file format successfully. It seems as though d
This is the source table. The verblijfsbagid is a unique number of a building. Where the colum leegstand = J, i want a value in the colum leegstaand_maanden. The first empty row is 1 then 2 then 3 etc. I used diffrent transformers, like neigborfinder but it didnt work.Here under is the output that i want to see (red numbers):
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.
Hi, I have a very simple FME worskspace that reads a shp-file and via Esri ArcGIS Feature Service updates a Feature Layer (hosted) on Portal for ArcGIS.The data is simple plygons with a few attribute. The Feature Layer is published from the same data in ArcGIS Pro.When i run my FME script the polygon ends up aprox 2000 km wrong. It does not matter if I have Feature Type Handling: Use existing or Truncate. If i use the old Esri ArcGIS Portal Feature Service writer it works fine. I am using FME 2025.1, Portal for ArcGIS 11.4 and PCS is EPSG:3006
Hi all.I need to identify (and convert) multisurface /curve polygons in a GDB.The GDBs contain one feature class with many polygons: some of these records are multipart polygons. The data I am working with comes from uncontrolled sources using different GIS programs, so the GDBs are put through a workbench to identify obvious spurious geometries like self-intersections (this works well). However, I am having a recurring problem where the downstream processes in other systems are failing due to multisurface /curve polygons.I have tried exposing the fme_type and geometry, but they are always “fme_areas”. However, if I run GDAL ogrinfo tool identifies lots of Multisurfaces, some are also CURVEPOLYGONs. For example, GDB today with 8 records had 64 multisurfaces.Any anyone help point me in the right direction for how I might Id these issues in FME, or incorporate the GDAL tool somehow?Note: I cannot share example data due to its sensitive nature.Many thanks
What is the process for ensuring that a custom coordinate system defined using the recipe from @daveatsafe below is reliably used by all members of a team using FME Desktop and also Server?(better yet: implement Update all available Coordinate Systems with EPSG Codes so it’s not necessary)
I have many parquet files stored in an s3 bucket; when I use the s3 connector to download the parquet file, I am able to read it successfully, but passing the s3 uri (“s3://”) raises an error:PARQUET reader: PARQUET reader: Failed to open file 's3:\my-bucket-s3-test\fme-test\test.parquet' for reading. Please ensure that the file exists and you have sufficient privileges to read itFailed to obtain any schemas from reader 'PARQUET' from 1 datasets. This may be due to invalid datasets or format accessibility issues due to licensing, dependencies, or module loading. See logfile for more informationWhen I try to pass the url:PARQUET reader: PARQUET reader: Failed to open file 'HTTPS:\s3.us-west-2.amazonaws.com\my-bucket-s3-test\fme-test\test.parquet' for reading. Please ensure that the file exists and you have sufficient privileges to read it When I use the feature reader, regardless of whether or not I specify a web connection, it converts forward slashes to back slashes. How do I work w
Hello everyone,A colleague is trying to read a CSV file in FME 2024.2, but the file appears to be generated by Linux-based software. As a result, FME interprets the entire file as a single block of text instead of recognizing each line as a new row. Does anyone know how to ensure FME correctly identifies each line break in this file?
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’m looking to read in a load of word documents that contain tables of information. I’d like to extract all the text from those tables so that I can then search the text for specific information. I’ve tried using the Microsoft Word Reader and the MSWordStyler but I’m only seeing the paragraph text come through to the attributes. Any ideas how to extract the table text?
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
Hello,We are trying to set up a SharePoint web connection to use in FME at my workplace. Together with competent IT staff, we have been trying on our own for over six months without success. I thought I would ask here before we consider the next step! We have followed the following guides without success:How to Create a SharePointOnlineConnector Multitenant Web Connection – FME Support CenterHow to Create a SharePointOnlineConnector Web Connection with Application Permissions – FME Support Center The problem occurs when using the transformer. We get successful login attempts and connection to the web connection itself when we test it after configuration – but we encounter the error “Error Retrieving Selections – An unknown error has occurred” in the SharePointOnlineConnector transformer. This has no documentation and therefore we have reached a point where troubleshooting is done in complete blindness. This problem has been consistant even after we’ve change of parameters. We have set
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).""
Hello, its me again.So I’m playing with changing excel documents in Form 2024.1 and its going superb, except from the fact that when Form writes out my changed excel it adds an @ in front of some of the formulas. So for example the formula that gets read in as:=XLOOKUP(blabla)Gets written out as:=@XLOOKUP(blabla)Which then makes the whole outcome excel document breaks.I have ran this with caching and see that at last cache before writing then the formulas are intact, so this must happen in the writer or that the excel gets written out in some manner that my excel setup *misunderstands* it?As always, all comments are welcomed (as long as you not a person just looking to score some points by copy/pasting what AI said the problem was).-Hlynur
Hello yet again.This time I am experimenting with a complex Microsoft Excel document, its basically a calculation file that contains quite a lot of sheets, macros, references and formulas. Idea is that instead of sharing the excel document with the people that need to use it that I would just host it on our Flow, people would then have an option to fill out some published parameters in a flow app and then get a single excel sheet returned with their results (cutting out all the underlying datasheets and formulas and macros etc).Or to sum it up: I have a complex excel with formulas, read that excel in FME, change values in cells in FME, write out an excel from FME that would then recalibrate/recalculate based on those changed values.So I have figured out how to single out cells in the excel table where (basically using counter, and tester for that single number, link to attribute manager where the new value can be inserted to replace the old one, back to a FeatureMerger to put the new v
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 am trying to write some CAD data to an ArcGIS Enterprise Feature Service.I noticed there has been an update in the latest version but unfortunately we are using 2025.0 at present and wanted to see if there is a work-around to an issue related to true-curves. I am getting the following error message: ArcGISFeatureServiceWriter: Feature type 'Levels' has 'Use True Curves' enabled, but the feature service does not support true curvesPython Exception <FormatException>: FMEException: 1: ARCGISFEATURESERVICE: Feature type 'Levels' has 'Use True Curves' enabled, but the feature service does not support true curvesSAFE.ESRI-AGOL.ARCGISFEATURESERVICE writer: An error has occurred. Check the logfile above for details The writer has ‘Use True Curves’ set to ‘No’ but I still get the error message. Is there are way to remove ‘true curves’ or write the data to our ArcGIS Enterprise Portal to by-pass the issue?