Creating and organizing workspaces. How to use Workbench.
Recently active
I’m not sure if this is a bug in FME or if it’s expected behavior. We work in versioned, replica file geodatabases. The issue that has presented is that when our data was being checked back into the Enterprise database, the change records in our replica were being applied to features outside of the AOI of replica. In other words, somewhere in our FME processes it was not managing the OBJECTIDs in the INSERT/UPDATES/DELETES tables correctly. We believe we have tracked it down to the ‘Fast Deletes’ parameter of the FileGDB Writer. From my research it looks as though this truncates the tables, and re-inserts the features that weren’t deleted. I’m also reading that this may cause issues because it bypasses the A/D change tables. This tracks with the errors we are seeing.Is there any validity to that? If so, I’d like to suggest that the Fast Deletes parameter be defaulted to ‘No’ instead of ‘Yes’.
Hi, a client is using nb_NO (Norsk Bokmål) Locale on a Windows Server machine and the produced FFS filename is incorrect. They are using FME Form 2024.2.3.0.I have tested same om my machine Windows 11, FME Form 2025.1.1.0 - build 25615. I want to produce a filename “t2_æøå”.FFS (where æ, ø and å are Norwegian alphabet letters)using en_US Locale the produced file is t2_æøå.FFS using nb_NO Locale the produced filename is t2_æøå. FFSI repeated the test wiriting to Esri Shapefiles - and both Locale will give the result t2_æøå.shp. Seems like the FFS writer have an issue with Locale. Might be a known issue but I was not able to find it. Thanks
Hi.I’m looking into whether I can use InlineQuerier for a Workbench validation of data using a list of criterias.One of the things I need to do is use RegEx, and is thus trying to use the REGEXP construct mentioned in the documentation. However, this is the error I’m getting:InlineQuerier_2 (InlineQueryFactory): Error preparing database query: no such function: REGEXP Unable to execute statementThe full query is here:SELECT * FROM "Data" WHERENOT(("tvaersnitsform" IS NULL OR "tvaersnitsform" REGEXP '^(other: )[0-9a-zA-ZæøåÆØÅ]{2,}$' OR "tvaersnitsform" IN (SELECT "key" FROM "LOOKUP.Tvaersnitsformtype")))If I remove the REGEXP part of the criteria, it works just fine.Has anyone used InlineQuerier much, and have some insights into what might be wrong here ?Is it just a subset of SQLite’s SQL language being available in InlineQuerier ?If I click the dialog Help button, it leads me to a page, that clearly shows REGEXP.Cheers.
Hello Forum, I need to run a polygon-in-polygon attribute update process. I would normally use the AreaOnAreaOverlayer transformer for this where I know that features from the first polygon dataset are all fully within any individual feature from the second polygon dataset. But I now have a dataset where any feature from polygon dataset 1 could be… a) fully within a given polygon from polygon dataset 2, b) straddling between two or more polygons from the other polygon dataset. This is what I need… If a feature from polygon dataset 1 is fully within a feature from polygon dataset 2 then populate a new attribute with the value of the feature from polygon dataset 2 If a feature from polygon dataset 1 is partially within two features from polygon dataset 2 then populate a new attribute with the values of the two features from polygon dataset 2. These diagrams explain it further…. Is this possible in FME Form? Thanks,
Hello, I have a dataset containing an attribute PROP_TYPE. This contains any one of the following values: HOUSE_MNGD; FLAT; DUPLEX_SHRD; MAISONETTE; FLAT_TYPE2. I want to change these values within the FME Form workspace… HOUSE_MNGD change to House managedFLAT change to FlatDUPLEX_SHRD change to Duplex sharedMAISONETTE change to MaisonetteFLAT_TYPE2 change to Flat type 2 I know I can change a stated value within a StringReplacer. This works well, but it’s only on one of the possible values (e.g: Text To Replace = HOUSE_MNGD; Replacement Text = House managed). How can I use the StringReplacer to specify all possible values within the PROP_TYPE attribute and replace them with the values I then specify? And do that in one StringReplacer? I’ve tried AttributeValueMapper and added in all my possible changes (line by line), but I couldn’t get that to actually change the values in the output. So, I’m hoping I can do it in one command within one StringReplacer. Thanks,
This seems pretty basic so it’s probably a configuration that I’m missing, but I’m using FME Form v2025.1.1.0 and I have a half dozen Loggers set up to capture features that are repaired or failed in GeometryValidators that precede them. When I run the workbench I have ‘Enable Record Counting’ set so I can see the counts going to the Loggers, but none of the messages I would expect are getting written to either the Translation Log window in FME Form nor to the log file on disk. I’ve set the Navigator > Workspace Parameters > Log and Troubleshoot > Max Features to Log to -1 to log everything, and I’ve confirmed that the ‘Severity Level’ in each Logger is ‘Information’. I’ve tried all 3 settings for ‘Feature Logging’ of ‘Log Only’, ‘Log and Record’ and ‘Message Only’ in various combinations of the Loggers and I’ve confirmed that the ‘Max Messages to Log’ for each Logger is larger than the number of features being routed to them. The expression in each Logger is pretty simple,
Hi there,In Esri ArcGIS Connector safe.esri-agol version 3.17.0 a number of changes were made to the way the Esri writer handles global IDs. Some of these changes resulted in previously published workspaces no longer functioning after the package on Flow was updated.This is an admin nightmare, as unless we prevent all publishers from uploading packages, we cannot prevent them from deploying a new version of a package that may break existing workflows.I have two suggestions:Please put the latest changes of the package at the top of the description in the FME Form Dialog box. Currently the user has to click a link to go to the item in the Hub and then find the version in the History. Please clearly indicate any changes that are more than bug fixes, and that may impact previously published workspaces.Thanks,Marc
I am in the process of moving my FME Desktop 2021 workspaces into FME Form 2025. I know I can open the FME 2021 workspaces in FME Form 2025. As I get farther along in this process, is there anything I need to be aware of? example, is it best to just rebuild my FME 2021 workspaces in FME Form 2025 instead of just opening and saving the FME 2021 workspaces in FME Form 2025?I have run a few FME 2021 workspaces in FME Form 2025 with no issues. But wanted to reach out to the FME community to see what their experience has been in bringing in older FME workspaces into new versions of FME.
Is there a way of Auto switching Parameter between Form vs Flow?ie Local while working on FME From (C:\FME_SHAREDRESOURCE_DATA) vs FME Flow($FME_SHARERESOURCE_DATA)Workspace Locally with FME Form is add “C:\FME_SHAREDRESOURCE_DATA” to the FME Flow Parameters to test and work on the solution. When I upload the Workspace to FME Flow I always need to remember to remove the local value for everything to work. I forgotten a couple of time and wondering if Deployment Parameters is the solution?
My workbench tries to read features from ArcGIS Online feature services, write them to a different database and, if successful, delete them from their ArcGIS Online feature service. I’ trying to use as few feature writers as possible, so I use attributes to descern feature services and their layers. Most feature services contain only one layer, but the name of the layer can be different from the name of the feature service.I can get the name of the layer from the format attribute “fme_feature_type” and use that for the “Layer Name” in the Feature Writer parameters: But in the “Writer” group (button: “Parameters...”) I also want to use an attribute for the parameter “Selected Feature Service”. Is it possible to get the name of the feature service from the reader?
Does anyone know if FME can be used to notify via email when one or more SSL certs are due to expire. I have a boatload of SSL certs whose expiration dates I keep track of using a spreadsheet. Just wondering if FME could make it easier? The OS I use is Windows Server 2022.
I dug out one of my old FME 2014 workbenches. It has this PythonCaller defining a local CRS. It had worked beautifully for years.import pyfme#define custom CRSmyCSMan = pyfme.FMECoordSysManager()fmeParams = {}fmeParams['CS_NAME'] = "local_polyconic_cs"fmeParams['DESC_NM'] = "Dynamic CS"fmeParams['DT_NAME'] = "WGS84"fmeParams['PROJ'] = "PLYCN"fmeParams['UNIT'] = "FOOT"fmeParams['X_OFF'] = 0.0fmeParams['Y_OFF'] = 0.0fmeParams['MAP_SCL'] = 1.0fmeParams['SCL_RED'] = 0.9996fmeParams['SOURCE'] = "HESS"fmeParams['QUAD'] = 1fmeParams['ZERO_X'] = 0.0001fmeParams['ZERO_Y'] = 0.0001surf_lat = float(feature.getAttribute('surf_lat'))surf_long = float(feature.getAttribute('surf_long')) fmeParams['PARM1'] = str(surf_long)fmeParams['ORG_LAT'] = str(surf_lat)myfmeCS = myCSMan.defineCoordSys(fmeParams, "myfmeCS") Now I am at FME 2024 where pyfme has been replaced by fmeobjects. So I made the changes like below: import fmeobjectsmyCSMan = fmeobjects.FMECoordSysManager()…#defineCoordSys only takes
Hi,has anyone had any success creating User Parameters for the SharePointOnlineConnector Site, Document Library and Path values?I’m using FME 2025.2.2 (latest version) and SharePointOnlineConnector version safe.microsoft-sharepoint [1.13.1] (latest version)I would like to embed a SharePointOnlineConnector in a custom transformer but I don’t want to hard-code the Site, Document Library and Path values. However, when I create User Parameters to expose these as custom transformer parameters I am not able to actually select values for them. I have also tried creating User Parameters for these values as input parameters for a SharePointOnlineConnector in the main workspace but run into the same issue.This is how my SharePointOnlineConnector is configured (I have used all default values when creating the User Parameters): This is how the parameters look when I try to run the workspace (or edit them in my custom transformer settings). Note that there’s no way of actually selecting values:tha
I have a SQL Server Database that has 156 tables. I need to extract the schema for each table and table names into a CSV. I know one way is to add all 156 tables to the workbench as separate Readers and then use FeatureReader (with Features to Read set to Schema Features). This could be a start, but it seems rather tedious. Is there a better way? I want to write to a CSV that has the attributes in one column and the table names in another column. Any thoughts on the best way to tackle this?
Hello, I have an Excel Spreadsheet that I need outputted in a specific format. I am only working with 175 records, so I could complete the customizations using Excel in a couple hours. But, I wanted to run this by the FME Community first. Here is a screenshot of the spreadsheet output format I need:Column names must be bold. Col A cells need to colored yellow. Col A cell values need to bold and red. Whenever there is an X in Col A then the entire row needs to be bold red The APN column needs to counted with the total shown in the row of the above screenshot.At this point I am not looking for specific instructions on how to set up a spreadsheet like this. If you can provide any that would be helpful. I know I would use the Excel Styler Transformer. Maybe the Aggregator Transformer to sum the APN column, But can someone provide me at least a general idea on how to set up a spreadsheet like this using FME? is it possible? What parameters would I use/set up using the Excel Styler? Given I
I am trying to read geometry of the leader lines from the Pro Annotation feature class.In the attributes which I see when loading it in the Data Inspector, I only see geodb_text_leader_line_anchor_point which contains correct coordinate but no geodb_text_leader_line. Does anyone knows if reading of the leader line from Pro Annotation is supported?I am using FME 2025.1.0.1.I tried changing reader parameters “Split Multi-Part Annotations” but it makes no difference in the way annotations are red.
I am taking a polygon that is the floor of a building, I am then clipping out the exterior wall and the room polygons on it to get the square footage of the space between the walls. However, it is filling in polygons at random when writing to our SDE. When I write these polygons to a .gdb, that behavior doesn’t happen. I have tried to not simplify the geometry, used the donut extractor to only take the outershells, orientor to only choose right facing polygons, etc. Anything else I should try?Preview of the polygon in FME:Polygon in GDB:Polygon in SDE:
This...may be complicated to explain. We are trying to create Feature Service webhooks in ArcGIS Enterprise. ESRI documentation indicates that this can either be accomplished with the admin Portal (which very few users have access to) or via the “administrative API”https://developers.arcgis.com/rest/enterprise-administration/server/create-webhook/The only way to access the administrative API is to acquire a session token (SSO, username/password, other authentication types are not accepted).In ArcGIS Enterprise, the generateToken endpoint is no longer used, the OAUTH2 “Token” endpoint has superseded it. There is a preliminary authorization step that must be completed before accessing the “Token” endpoint.https://developers.arcgis.com/rest/users-groups-and-items/authorize/https://developers.arcgis.com/rest/users-groups-and-items/token/Authentication in our environment is done via OAUTH2/SAML so when trying to access the “Authorize” endpoint via an HTTPCALLER, the response that I’m gettin
I have a workbench which takes a dem raster and clips it at various points, it converts the raster clips to the point cloud and extracts the highest value for each segment. i then want to be able to use the highest point with the radiate line generator to show additional lines before being clipped and calculated. I have tried a 2dforcer, aggregator and others to get the Radiate Line Generator to work, but it fails every time.. any idea how to get points from the workflow, and what have i missed..??If i try the Radiate Line Generator with a ‘normal’ point dataset then everything works fine and as expected..
The Clipper can subset a raster by geospatial extents, while the RasterSubsetter can both subset and pad a raster by number of pixels, but is there a simple way to pad a raster to a given polygon/geospatial extent?My two ideas are to eitherUse the RasterSubsetter to pad the raster by a large amount of pixels and then the Clipper to bring it back to size.OrRasterize the polygon to the same resolution as the image with a background/NoData value and mosaic the two together.Neither seem particularly efficient.
Hi there!I get tons of these messages from some workspaces created with FME 2020 (in Norway) and now migrated to FME 2024: The Startup Python Script changed the current FME process locale from 'Norwegian Bokmål_Norway.utf8' to 'C' and FME has restored it back to 'Norwegian Bokmål_Norway.utf8'. It is undefined behavior to change locale and doing so may cause unexpected errors. For more information, visit http://fme.ly/PythonLocaleErrorI have read the post http://fme.ly/PythonLocaleError carefully, but it does not give me anything. I have nothing such as import arcpy or locale.setlocale() in my Python-code. The example message above is particulary strange, I don’t even have a Python Startup Script. So something is absolutely confusing here.No Startup ScriptAnother example:PythonFactory script changed the current FME process locale from 'Norwegian Bokmål_Norway.utf8' to 'C' and FME has restored it back to 'Norwegian Bokmål_Norway.utf8'. It is undefined behavior to change locale and doing
Before I file a bug report, I thought I would post here. I used to be able to right-click in the Data Preview and get the ‘Zoom to Selected Feature’ for the CAD geometry. The last few versions of FME have not had that available. What gives?Please see the attached.Currently using the latest build: FME(R) 2025.2.2.0 (20260106 - Build 25827 - WIN64)
Hi everyone I have been having some issues with the new ArcGIS feature service writer. When using this writer in combination with a change detector, it doesn't seem to update or insert any of my changed records and i have been getting weird behaviour all over the place. Let me preface this by saying that everything works as expected on the old portal feature service writer, it's when switching to the new feature service writer that weird things start to happen. Under the advanced parameters I have enabled the following fields to adress the first problem I encountered (namely that the writer no longer seems to care that global id is a read only field and skips it for writing): Afterwards, I ran into the next set of errors:All global id's for the update actions are filled and added as an attribute. I don't really get what i am doing wrong, but furthermore I really don't understand why the behaviour seems to be so different in the new arcgis feature servicewriter. Why do i have to jump
I have a csv spreadsheet of arcgis server feaureservice urls with the featureclass, name attribute , and projection attribute. This list is long and has multiple servers and I want to pass this list into my workspace and have the FeatureReader transformer read the url and featureservice with a spatial filter for my area of interest (AOI) and then clip out the data I need inside the AOI and only keep the attribute name field in the result, run some additional analysis, then write out the clipped results to a GDB, then move to the next record url in the spreadsheet.. My plan is to reproject the AOI to each projection listed in the csv and then pass the AOI as the creator to the FeatureReader transformer to only read based on the spatial filter. This works great if I do separate feature readers for each URL but that makes for a gigantic workspace and isn’t very dynamic as the spreadsheet and AOI changes frequently. Is there a way to pass a csv list to the FeatureReader in this way and acc
I am encountering an error in FME Workbench when closing the GENERIC Reader. During execution, the translation fails with a transcoding error related to a binary string, and the program terminates unexpectedly. The error message indicates that FME is unable to transcode a binary string containing non-UTF characters (apparently related to a shapefile) into another encoding. As a result, the translation process stops with a “Translation FAILED” message. This issue occurs consistently and prevents successful completion of the workspace. Any guidance on how to handle encoding or binary data in this scenario would be appreciated. Menssage Log:NullAttributeMapperFactory (NullAttributeMapperFactory): Transcoding the binary string '1e\xA8\x83\x16\x00\xE8\xBB\xE9\x96\x1DfH\xC0 -\xB12\x1A9:\xC0\x00\x00\x00\x00\x00\x001\x01\x00\x00\x00\x09\x00\x00\x00shapefile' to another encoding can not be doneOGCGEOPACKAGE writer: Committing transaction of 1451 features to feature types 'AREA_IMOVEL_1'...Closi