Using readers and writers to extract and load data.
Recently active
Hi - I’m trying to write small areas of map data from a Geodatabase as a DWG / DXF file.The spatial data is available when I open the exported file, but none of the attributes, only a single column called <no schema>:I’m wanting to include the following attributes: but I have tried countless variations of the available Writers:I just can’t get around the <no schema> issue.Is it actually possible to include attributes within a DWG / DXF Writer?If anyone can offer some step by step guidance, I’d be most grateful.Cheers :)FME(R) 2023.1.1.0 (20230928 - Build 23631 - WIN64)
Hi everyone, forgive me if this is a basic question but I’m trying to understand best practices for our database setup. We have a GIS Edit database and GIS Production database. Both are Postgresql 12.22, Enterprise 11.3. We have a lot of jobs doing a basic ETL from Edit → ProdHavent had too many issues with these over the years with some occasional data type errors mostly. The problem is I have never been certain what combination of reader/writer I should be using. For some reason, we’ve had the best luck using an ArcSDE Geodb reader and a postgis writer. And when I say this, for example an error I’ve run into many times is that the objectid (Esri’s UID column) has duplicate values when running the job so it fails. So then we do something like adding a counter transformer in between and then writing that to the Production db table objectid column. I’d prefer not to have to add steps like this obviously.We’re in the process of preparing to upgrade our FME workbench install. We are still
Hi, Can anyone help me read and write an XML file to SHPs? I've already managed to read it, but then I have to map everything myself, but I've found XSD schemas. I should use two, but I can't get it to work.According to Copilot, FME 2025.1 no longer supports XSD schemas, but they don't really offer me an alternative either. Nothing they suggest works or is correct.So I think I'm better off with your expertise than with AI :-)
Hi,I have text from a source DWG that contains all the information needed to create an annotation class in a geodatabase (text size, rotation, color hex/RGB/fme, etc.). I’m able to create the annotation class in the GDB, but all the text comes in as black, even though the original text has different colors.What am I missing?
Hi thereI’d like to convert the whole OS MasterMap Topography layer for our district in to individual 1km DWG tiles which are to be accessed in a variety of CAD packages.I have had some success in converting a Geopackage of the above layer, through a MultiClipper to create the individual grid squares and finally written as a DWGs with the output ‘fanned out’ by each 1km grid reference number.When one of the resulting files was opened in CAD, the geometry was present, but none of the attributes. However, I will try the UK OS MasterMap Topography Layer (GML) Reader, once my GML download is available from the OS Data Hub site.Would anyone who has had some experience with this type of conversion kindly forward me some tips or advice on how best to achieve populating a DWG, or series of DWG exports with the attributes from the file which is being converted, please?Many thanks :)
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.