Using readers and writers to extract and load data.
Recently active
Hi all,I am attempting to create an FME script that looks at the FWI information provided as a WMS by NRCAN to perform some risk analysis based on the WFI cell values. When I load the WMS into ArcGIS Pro and examine a cell, I can see a discrete WFI value: (It is hard to tell from the picture, but this display is showing up when I click to examine a single cell. As I click around in the polygon, the WFI value changes.)When I load the data into FME, I cannot seem to get that FWI value to be exposed. When I click a cell in the investigator, this is what is returned:The only values I am getting (other than Row/Column) is the Pallette value, which just corresponds to the aggregated class value symbolization: I’ve played around with several of the Raster transformers but they have been unable to get this cell value exposed. Is there a different approach I should be taking to be able to read this FWI value on a cell-by-cell basis? Thank you for your time.
Hello,I have a main FME workspace where I call multiple child workspaces using WorkbenchRunner.The issue is that even when one of the called workspaces is terminated, the WorkbenchRunner still reports the execution as successful.My goal is to stop the main workflow immediately if any problem occurs in one of the child workspaces, so that the next WorkbenchRunner does not execute. What is the correct way to ensure that: If a child workspace fails (error or termination), the main workspace stops immediately, And subsequent WorkbenchRunners do not run? Any recommended best practice for this scenario?Thank you.
lets say I have a set of coordinates x1,y1 and x2,y2 how can i create a dwg with dimensions between these coordinates?if possible a step by step guide with the transformers/writers required for this.
Does anyone know a good built-in or pre-created solution to read “Tabular JSON” that’s in a format of schema followed by values rather than key:value? See example below. I have ~40 schema values but only included 2. I’m looking for something dynamic rather than manually assigning column names in a specific order.{ "schema": { "title": "Data Export", "type": "array", "properties": { "id": { "title": "id", "type": "integer", "default": "", "minimum": -2147483648.0, "maximum": 2147483647.0 }, "code": { "title": "code", "type": "string", "default": "" } } }, "data": [ [ 1, "DEMO1234" ] ]}
Working in FME Workbench v.2024.2I am working on a process that validates my metadata format and converts it if needed, then exports the final format to xml for backup. We are trying to ensure all of our metadata is in ISO 19139, but we know some feature classes are FGDC CSDGM Metadata. We would like to use FME to convert the format and then update/write to the existing feature class's metadata in our enterprise geodatabase with it. Secondly, we want to also create a backup of the xml file which will be saved to a local folder. I have done this using an "Attribute File Writer" and only writing the geodb_metadata_string to a .xml file, however, when trying to reimport it into ArcMap/ArcGIS Pro I receive a "Failed to import metadata" alert. Comparing it an export directly from ArcGIS it is clear they differ. It seems like FME is converting it to their own format when reading it in.Any suggestions on either of these processes would be appreciated, thanks!
Ive been wondering about this for quite some time now, but couldn’t get any satisfying reply so far. The only solution I had in mind was to create a pythoncaller that automatically checks this..but that does feel a bit supoptimal. Maybe I am missing something? I’m building a daily monitoring workflow in FME Flow (REST API v4 / fmeapiv4). Goal: once per day I want to store counts like “successful runs” and “failed runs” for a specific repository + workspace.I currently use the /jobs endpoint like this:GET /fmeapiv4/jobs ?status=success &repository=repo%20Name &workspace=workspace.fmw &limit=1000 &offset=0Problem: I only want today’s runs (or a specific day), but according to the Swagger docs for GET /jobs the available query params are things like status, repository, workspace, sort, limit, offset, etc. There is no start / end or other date range filter.Swagger notes:default sort is by timeFinished descsorting supported on workspace, timeFinished, timeStarted, statu
Hello,I am a student who is discovering FME and learning it through self-training. I have a dataset that I need to process in FME, and I have been given the following technical requirements:Expected specifications:Each linear segment must not be longer than 10 meters. If there is no network point at a vertex of a linear feature, a point must be created with the following two attributes: Network depth (in cm): to be calculated according to the interpolation rules below: If there is no depth value at both the upstream and downstream ends of the linear feature → set depth to 100 cm. If there is a depth value at either the upstream or downstream end only → interpolate from the known depth to 100 cm at the unknown end, ensuring that the difference between two consecutive points does not exceed 20 cm. If there are depth values at both the upstream and downstream ends → interpolate the depth between them, weighted according to distance. If anyone has suggestions on how to implement thi
I have written a workbench were user can upload a excel spreadsheet and the workbench will convert the coordinates in the spreadsheet to a variety of different coordinate systems.The last step is a dynamic(excel) writer which works perfectly if I give the new coordinate attribute (column) a generic name (new_X and new_Y).I introduced a bulk attribute renamer to add a suffix reflecting the new coordinate system ( for example: X_WGS84 and Y_WGS84) which makes the output more intuitive and will avoid any confusion.When I do this the dynamic reader changes the order of the output columns to alphabetical.All the spreadsheets are different, so I don't think I can use a template.Is there an easy way to achieve this?
Hi,I would like to know how to pass a dynamic variable to the FeatureWriter that is generated in the SQLCreator at the start of the process. If I explicitly write the name of the feature class name it works, if I try a pass the table name identified in the SQLCreator it fails, it looks like it is passing an empty string as the nameBelow is a screen shot of the table_name variable being used. Below is a screen shot of the name being written, this works.Thanks for any assistance.Elliott
Using various recent versions of FME Form, I’ve discovered that a common key field that we use to join datasets on has a sloppy join when the FeatureJoiner Comparison Mode is set to Automatic.Since Automatic is the default comparison mode and the results are not at all what I would expect, I find this somewhat concerning. One needs to get into the data a bit to realize that the join is happening in a sort of loose/”like” fashion instead of a clean match.The key values are alphanumeric plus other characters such as a period or hyphen. As an example, on a subset of data, these are the record counts with the default Automatic comparison mode: And these are the record counts with the String comparison mode: The Automatic comparison mode is joining ID values that are close, but not the same, at least in some cases by dropping a trailing “0” (or more than one trailing “0”) and making bad 1:M matches instead of the expected 1:1 matches. For examples: and The above is in FME Form FME(R) 2025.1
I am reading a dwg with object data table in it. I set the mode to Group by Object Data. (set the workflow options to single merged feature type)I then created a tester to distinguish which features have been attached to the table. (tester_8). Then i use an attributekeeper. The OD table attributes are not available in the keeper. Then attach the same exact tester (tester_11) and all of the features fail. If i remove the attributekeeper the features route correctly. Also after using data preview correctly and viewing cache in the attributekeeper, the data preview will never show the OD table attributes again (add the reader again)Also setting additional attributes to expose does not stick. Each time i go in to the reader and update features i must add all the attributes to expose. These two problems seem to be related to each other.
Hi All, I’ve tried to add in a custom coordinate system and it just doesn’t work. I’ve restarted my computer twice and the co ordinate system won’t come up in the csmap reprojector. I would love to use the online webform that has been created, but I am unsure at which username and password is required to log-in. My usual FME doesn’t work. I’ve created a file in the FME folder in documents and edited both coordinate files in the reprojector folder. This is what I have written below:# COORDINATE_SYSTEM_DEF PerthCoastalGrid1994 \\# PROJ TM \\ # UNIT METER \\# SOURCE "spatialreference.org" \\ # DT_NAME GDA94 \\# EL_NAME GRS1980 \\ # DESC_NM "Perth Coastal Grid 1994" \\ # GROUP AUSNZ \\ # PARM1 115.8166666666667 \\ # ORG_LAT 0 \\
Using truncate and append with arcsde geodatabase writer . The SDE is on an orace database.Inserting 3milion rows. FME on prem takes 1 hour. but when on azure cloud it takes 8 hours. Any idea how to improve this.Any parameters that I can tweek.
I am having an issue converting data from an Excel file to xml due to an invalid character reference. In Excel the character appears as a space but as a square or “GS” when read in FME (see images). I am trying to build a validation tool that will find cells in the Excel file that contain these special characters. How do i find these characters using for example test filter, attribute validator or stringsearcher etc
Hi allI have been batting my skull against this for some time and havent been able to come up with a solution.I have about 60 datasets (and will be receiving about 60 every month from now on) where every line has a date and a time and a value containing a number. See attached file. its a dataset from a callcenter where every line is and hour and the number is the number of staff that are answering phones. the number of staff varies from hour to hour and from callcenter to callcenter. but the dataset only contains date hours where a staff memeber has been checked in, if none have checked in here isnt a line. My task is to find the ‘missing’ lines/hours where no staff has been active to monitor if the callcenter has been unstaffed when it shouldnt have been. I cant figure out a way to find these missing lines and add them in an automated way the i can use over and over again. Has anyone tried anything similar and found a solution?
I’m currently working on a project in relation to building a major road network which can be used for future traffic surveys. I’ve hit a snag where I’m trying to find potential way of detecting branches within the carriageways so that we can set a condition that should the branch be longer than 500 metres, then we need to separate this branch as its own features. What I’m struggling with is trying to detect the branching by applying unique identifiers (e.g. integer values) if branching occurs within a connected groups of features, something similar to the below: Essentially, I’ve built a two-way road network using the Ordnance Survey road network data and I’ve merged the road sections based on their connectivity (using the [NetworkTopologyCalculator] and [LineCombiner] transformers) and also depending on their ownership (i.e. locally owned vs centrally owned roads) and their road classification number (e.g. A303, A1(M) etc.). Within each of these merged features we need to work out
I just updated to version 25.2 and my oracle reader is failing and throwing this warning (not an error):An error occurred while fetching from query `SELECT a.*** FROM *** a' : OCI_SUCCESS_WITH_INFO: ORA-24347: Warning of a NULL column in an aggregate functionWhich causes Translation FAILED with 0 error(s) and 1 warning(s) (0 feature(s) output).My colleague tried the same on version 25.1 and whilst he also gets the warning his translation does not stop and he gets all features to work with. (As did I before my update)Ignoring the fact that the view should be fixed, is there a way to continue the translation with all features? Troubleshoot option Ignoring failed readers simply skips the reader and thus returning zero features.Furthermore I did see a few changes regarding oracle in the changelogs but I could not pinpoint which one is referring to this problem.
Is it possible to switch the Versioning in an Enterprise Geodatabase (on SQL Server) from "traditional" to "Branch Versioning" without touching FME Workspaces containing Esri Geodatase Readers and Writers (GEODATABASE_SDE)? In a first attempt in the test environment, everything seems to be running like before, after we switched to Branch Versioning of our feature classes. A quick look in the geodatabase tables seems to prove that the internal fields like GDB_ARCHIVE_OID, GDB_FROM_DATE, ... are filled correctly. Can it really be that simple? Does FME support the switch to Branch Versioning while keeping the Workspaces untouched? Of course, this would be a dream, but this seems too good to be true.
Hi!I have a workspace containing four Writers that write tables to a geodatabase. One of the writers is not working as expected. When i press “Run workspace” some of the attributes get null on almost all of the rows. It seems to filtered on one of the attributes (an attrribute called Name) since it is the same names that ends up null. The transformer in the step just before the writer looks as it should, so something goes wrong in the writer, not somewhere in the workspace. The strange thing is that when i press “Run to this” on the problematic writer, everything works as expected and there is no null values anymore. I don’t get any error messages. Using FME Workbench 2025.2Hope someone has any idea of what could be wrong, or if it is a bug?
Hi,Into an Esri ArcGIS Portal Feature Service Writer sending data to ArcGIS Portal what is the difference between Publishing and Spatial.There is nothing about Spatial in the documentation.Thanks.
The failed feature type issueWe are reading in many featureclasses using GEODATABASE_SDE reader in workspace and recently noticed an issue in FME Form (24.1) where it only throws a warning“A table name ‘HeritageSites_Exclusion’ could not be found in the geodatabase as either a featureclass or table. This may be due because the current user does not have permissions to see HeritageSites_Exclusion”The rejected feature handling is set to TerminateThe workspace runs in success, although this missing table was joined upon and is necessary for the right outcome. I guess I’m posting here to see if others have/had this issue, where only a warning of a missing featuretype is given… we believe it should be an Error WorkaroundObviously, we can place NoFeatureTesters and connect a Terminator to the NoInput port. This is alot of work, so we looked into parameters of the GEODATABASE_SDE reader moreUnsure how the Reader parameter “Ignore Failed Readers” truly works. It seems designed very early on to
Hello,I am creating PDF files using FME and am experiencing a serious performance issue (the process is very slow).I have a PDF template that I read and merge with my data so that each ID gets its own template. I use specific X,Y coordinates to write text at the correct positions in the PDF, and then I use the ID in the PDF writer to generate one PDF document per ID that includes both the data and the template.The output is correct and matches my expectations; however, exporting all records with the template takes a very long time.I was thinking to use the PDF Page Transformer, but rebuilding the pages also takes a significant amount of time.Is there any way to improve performance and make my current solution faster without completely rebuilding the workflow? thanks in advance FME 2021
Can FME create a pg database tables with attribute names that have upper cases? I know that this is possible in postgres - column names are case-sensitive when double-quoted. But no matter which parameters of PostgreSQL writer I select (standard/dynamic writing, with checked or unchecked option to Lowe Case Attribute Names in Table Creation Parameter), FME keeps replacing double-quotes with underscores and output is always folded to lowercase. Is it something that can be bypassed?
Hi I’m clipping point clouds with a polygon (1km x 1km), the inside result goes through a rasterdemgenerator with a cell spacing of 0.5m and I write it away as a geotif. When I compare the result with the polygon I see that the geotif is 0.25m bigger than the polygon. I know it has something to do with how a pixel is considered. As a polygon or as point in the center or something, but it doesn’t make any sense to me as you can divide 1km perfectly by 0.5m… It should be 2000 pixels by 2000 pixels right? How do I solve this? I tried playing with the clipper settings. Like changing “determine cell location by” to bounds and some other things. I got a result that’s 0.25cm smaller, but never an exact fit.
Hi, I am writing data to Esri ArcSDE in FME Form and have tested using both CoordinateSystemSetter and Reprojector to define the coordinate system. However, when I open the feature class in ArcGIS Pro I get a message that the coordinate system is missing. Has anyone had similar experiences?