Using transformers to modify data.
Recently active
Hi,I'm experiencing an issue with SystemCaller when publishing to FME Server (2019.2 - build 19801 - 64-bit))We're using a SystemCaller to execute a program (with some parameters supplied) which is stored on a shared network, and it works successfully on FME Desktop 2019.2 (same build number as the Server instance). The Server has access (read/write) to the same network location, but when the published workspace runs, it just stops at the SystemCaller Execution. No error, no falling over...it just hangs. We left it overnight, but it was still the same the next morning.Things we've tried, to narrow down the issue:Ran the script in SystemCaller on FME Desktop - it worked in around 30 secondsRan the same script in the cmd prompt on the Server box (as svc_fme user) - it ran successfully in 30 secondsTried hardcoding the network location into Server (rather than using $(FME_SHAREDRESOURCE_DATA)) - this didn't affect the outcome at all - still hungThere are additional '/&
Hi AllThis is not a question, but some feedback/tips on how I solved this issue - hopefully it will assist someone that had issues with a similar project as well. I was trying to create a dynamic html dashboard that reads a bunch of real time values from database records and then display them with labels in an HTML table, the order of the values, layout and structure of which I wanted to format to my liking. The HTMLReportGenerator transformer did not give me enough control as to what I wanted to do, so I ended up using the XMLTemplater.If you want to create an HTML page using the XMLTemplater, you may find that the HTML code does not always parse correctly when running your workspace (the HTML is evaluated to ensure it conforms to XML standards). The reason for this is that some of HTML tags were not properly opened or closed. Since my HTML was still very valid, a workaround for this is to comment out (using "<!--" and "-->") those pieces of HTML code used i
Dear FME'ers, I have a question about the conflict resolution of SQLExecutors and FeatureReaders.I found the issue when I was reading data from a PostgreSQL database. Some of the initiator's attribute names where the same as in the result of my SQL. Therefore I used the option 'conflict resolution'. This because I supposed that the data of the initiator is then overwritten by the data of the SQL script (for the attributes with conflicting names).After that I tried to rename the output attributes with the help of a BulkAttributeRenamer but got an error. This is not the case when I set the conflict resolution to 'Use Initiator'. There is also no problem when I use a regular AttributeRenamer If I'm obliged to remove all conflicting attributes then what is the use of the conflict resolution? Or is this a problem related to the BulkAttributeRenamer? In attachment an example of my question with some extra info. I was able to recreate the issue by reading an Excel
Hello all,I am trying to automate the output of GIS data from PostGIS to Autocad DWG. The base data is in geographic coordinates (lat / long) and I have been able to successfully create the output DWG in GDA2020 UTM Zone 52, 53 or 54.The problem is that the end users need the data in ground coordinates not grid but I am not sure how to define a custom projection to either take it from geographic to ground or from geographic to grid to ground.I have been able to find the formula for the scale factor but this is something that will change for each extract of the data. Does anyone have any advice on the best way to create a new projection on the fly using the newly defined scale factor?
While running a translation on FME 2017, my workspace fails and log file shows this error.I believe feature merger transformer is failing here.But when I copied the same workspace on another system with FME 2018 everything worked out perfectly without any errors. What is the reason behind this and how it can be resolved?
I have a number of FME scripts launched by python scheduled task. Both 2018 and 2019 FME are on the server and the python is launching the 2018 FME which is making some scripts fail. How can I make 2019 the default version launched. Do I need to uninstall 2018? I have a number of 2018 scripts I have not saved as 2019 yet. Will that cause problems? thanks,
After I found out what was causing the crash (2 days and 50+ eliminated transformers later) I wanted to share.I had a couple of workspaces that ran fine in version 2018.0 that stopped working in 2019.2It came down to this - the Sampler transformer - set to "Process When Group Changes" and the sample type of "First N Features" and disabled will crash FME.exe on both Win7 and Win Server 2012 R2.The screen cap below contains a Creator, disabled Attribute Creator for a dummy Attribute, the Sampler and a closing disabled Inspector. Surprisingly, the Sampler never receives any features - yet seems to cause the crash.I hope this saves someone else some hair pulling.ThanksMike B
Hi there, I am trying to filter (using tester) the data on the basis of dates (i.e. month and Year). I have converted the dates into desired format using DateTimeFormat function. When I run the tester, it does not give the right result. In the passed data tab I could see the dates row that should have been in the failed data tab. I have attached the screen shot of my test parameter. Could anyone guide where am I making the mistake?
When I first started working with FME a few years ago, I basically only used the pattern:Reader = > Transformer = > Writer.Most of my work was around geospatial data. As I've dug in and had to decipher piles of legacy FMW's that my predecessors have built, I have learned about the power of SQL Creators and Executors, and non spatial SQL readers. What has been tripping me up with these is that I have a number of workspaces in FME Server that appear to complete successfully but when I review the logs, I realize that a SQL connection or SQL query failed, returning no results, yet the workspace completed. So I get no alert that the process actually bombed.What would be a good practice of wrapping these SQL connectors in a try/except block to catch any instances when the SQL call returns an error or zero feature because of an error or bad connection? Would love to have your 2 cents on this, so I don't have to reinvent the wheel. Thanks!
I have the following SQL being used by a SQL Executor; FME_SQL_DELIMITER ;DROP TABLE dbo.[PREMISE_CONTRACT_ROLLBACK];SELECT * INTO dbo.[PREMISE_CONTRACT_ROLLBACK] FROM dbo.[PREMISE_CONTRACT]; It runs successfully using the "Run" option when I'm accessing the transformer itself. However, if I just add a Creator > SQL Executor > Logger and run the workbench, the following error occurs;Microsoft SQL Server Non-Spatial Reader: Query failed, possibly due to a malformed statement. Query Text `SELECT * INTO #fme_tempAdoDataTypeTable_spatialReader FROM ( SELECT * INTO dbo.[PREMISE_CONTRACT_ROLLBACK] FROM dbo.[PREMISE_CONTRACT] ) AS customQuery WHERE 1=0'. Provider error `(-2147217900) Incorrect syntax near the keyword 'INTO'.'Microsoft SQL Server Non-Spatial Reader: Getting Custom SQL schema failed. Make sure all columns are named (any ambiguous columns, e.g. GEOM.STBuffer(1), must have an AS clause). If there is an ORDER BY clause, either remove it or add a TOP clauseIt looks like FME
Currently i am working for BIM and GIS Integration Project. My question is why we use FME Workbench to insert revit model in ArcGIS PRo? and Why we can not use direct Revit model inserting in ArcGIS Pro?
Dear learned friends, I am attempting to automate the cleansing of a polygon dataset that contains a large number of overlaps. I have managed to identify where instances or overlap occur by using the AreaGapAndOverlapCleaner transformer and then overlaying the output from this against the original data set.I also have a point geometry dataset that contains an attribute linking it to a parent polygon. Many of these points reside within the identified overlapping areas.I now need to 'cleanse' the overlaps within the polygon dataset, but need to apply some intelligence to the process so that the assets within the overlap instance are retained within the correct parent polygon.Hopefully the simplified attached picture will explain this - the red and the blue polygons are overlapping, and the point assets (black dots) within this overlap contain an attribute stating that they relate to the red polygon.Thanks,RB
I have some labels in an ESRI annotation feature class and I am trying to style the last line of the text differently than the rest of the text string, I tried using attributeSplitter, splitting the text at the new line symbol and then using the test filter to find the line of text I want to style differently. After that I am aggregating the text back together that I don't want to style differently. Then I used DWG styler to style the 2 text strings differently. The only problem is that they are not aligned after I split and then aggregate the text.I want to make the label like thisThe text string comes into FME from ESRI file gdb like this Has anyone done something like this before? I have attached example workspace of what I tried to do
Hello, I'm trying to create a few workspaces where I'm converting DWG and DGN to GDB. I've got my workspace up to:Pull blocks with attributes throughArea Builder to convert lines to polygonsJoins metadata from block attributes to featuresGeometry Validator to remove anything not requiredProjection (raw data is in Snakegrid and I convert it to OSGBGet Style Information:Gets line styles using String PadderCreate Fill StyleRemoves CAD Style AttributesThe Theme attrributesString SearcherList IndexerAttribute Creator to get single word level description for themeFinally I have tried these three transformers with no luck to convert the name of the Autocad_layer to Featureclassname using a lookup spreadsheet. This lookup has been simplified even by using just the example DWG as an exact translation, so it should be able to understand the lookup and convert the Autocad Layer name to the feature class name but it will not bring this through no matter what I try. The lookup has even
Source data: Lines and points near to the line I'm trying find the distance of each point to the line. I have tried using Nearest Neighbor but it doesn't work with 3D features.
I tried installing the safe.robj-detect-pkg in to FME desktop 2019.2 build 19801 and I got the following errorRasterObjectDetectionModelTrainer.fmx ignored because it was created with a newer version of FME WorkbenchI downloaded and installed 2019.2.1 build 19813 and the same error occurredTransformer safe.robj-detect-pkg.RasterObjectDetectionModelTrainer version 1 in file C:\\Users\\apadilla\\AppData\\Roaming\\Safe Software\\FME\\Packages\\19813-win64\\transformers\\safe.robj-detect-pkg\\RasterObjectDetectionModelTrainer.fmx ignored because it was created with a newer version of FME WorkbenchTransformer safe.robj-detect-pkg.RasterObjectDetectorSampleGenerator version 1 in file C:\\Users\\apadilla\\AppData\\Roaming\\Safe Software\\FME\\Packages\\19813-win64\\transformers\\safe.robj-detect-pkg\\RasterObjectDetectorSampleGenerator.fmx ignored because it was created with a newer version of FME WorkbenchTransformer safe.robj-detect-pkg.RasterObjectDetectorSamplePreparer version 1 in file C
I have a standardized xls form that does not use columns. It is designed as a field form and has all cells locked except where the field personnel are to put data. This is more like an OCR type of conversion than excel. all the values I need are in specific (sometimes merged) cells. So there is not a column which contains a value. I am able to retrieve all the data and can see it all in inspector just not format I need. Each file is a separate event. Each sheet is a separate feature. The data for each feature is always in the same cells. I need to output each feature as a row. I have attached an image showing 1 sheet.
Hi, I am trying to extract a HTML page. I would appreciate if any of the expert can explain to me on how to extract :<tr data-group="Batu Pahat" data-group-2="Sekolah Agama Seri Chomel"><td data-field="Daerah" class="ew-rpt-grp-field-1"><span data-class="tpx1_1_Maklumat_Bencana_Daerah_Aktif_Banjir_Johor_PusatPemindahan">Sekolah Agama Seri Chomel</span></td><td data-field="Keluarga" class="ew-table-alt-row"><span>6</span></td> I would like to extract the bolded ones from the HTML page using HTML ExtractorYour help will be kindly appreciated
We have a workspace that uses a SystemCaller to run an exe for another application. This works fine on Workbench but fails to execute on Server.We have tried running exe from the command terminal on the server remote desktop and it also runs successfully. The log file for the job just states that the execution failed.Does anyone have any hints or solutions as to why this may be the case and how to solve it?
Hi there,I am new to FME, so please accept my apology if my question sounds too simple or stupid. I want to calculate two new attributes. Both attributes have different calculations. I am using Expression Evaluator. I can only calculate one attribute. For another attribute, I couldn't find any option to calculate another attribute. Am I supposed to use a new expression evaluator for another attribute? or is there any other way to calculate the new attribute?
Hi, I'm new at FME and want to do the following:there's a process running at our server which is logged every night. We would like to get a warning when certain errorcodes pop up in the logfile.For those (= [ERROR] and [WARN ]) of that night (filter on date of today) the whole line should be placed in another file.The file looks like this:2019-12-10 12:45:58,644 [WARN ] TrfAgiv.TrfCeviErrorHelper terreinobject 7654048 - CRCODE 'aardTerreinobject' - 'grbAdmPerceel' (6004) wordt niet verwerkt (NAARGEM = 0)2019-12-10 12:45:58,646 [ERROR] TrfAgiv.TrfCeviErrorHelper terreinobject-huisnummer 20903264 - Niet alle noodzakelijke bovenliggende gegevens werden gevonden.2019-12-10 12:45:58,647 [DEBUG] TrfAgiv.TrfCeviHelperEf terreinobject-huisnummer id: 209033222019-12-10 12:45:58,874 [DEBUG] TrfAgiv.TrfCeviHelperEf --> straatnaam id: 55794 opslaan, synchroniseren: False There's an exemple of the file attached.What would be the best way to go?Thanks!Isalogfile.txt
Hi, I need some help on using the clipper transformer with sets of solid features: I have one set of solid features as clipper and another set of solid features as clippee, as a result I’d like the intersections of these solids with merged attributes (so that a feature ‘knows’ it’s an intersection of clipper X with clippee Y).In my simplified example the clippers are with yellow numbers, the clippees in red. In this case I'd like to have 4 new solids as a result. I thought Clipper would do the trick, but:my incoming clipper solids are going to the ‘rejected’ port, and although my workspace parameter ‘rejected feature handling’ is set to ‘Terminate Translation’, the translation continues (which is OK but unexpected, I think?)more annoying is the fact that the incoming clippers seem to be merged to 1 ‘multisolid’ taking attributes from the first feature? I expected 4 new solids as a clipresult, but 2 ‘multisolids’ exit the transformer:The selected solids in the printscreen indeed are
This may or may not be only answerable by the good people at Safe, but does anyone know where the SQLite database generated by InlineQuerier is created? Is is a temporary physical file, or instead uses SQLite's temporary in-memory (virtual) instance option?Just thinking ahead to some workspace performance tuning options. My workspace InlineQueriers work fairly fast but then the underlying storage is my local PC's SSD so that performance may not translate when executing where the read/write to the SQLite DB involves a different physical file storage environment.
Hello @takashi I have an AreaBuilder before the ListCombiner. If areas are built they are then checked if they touch/ intersect via SpatialRealtor. After that the ListCombiner will group on the spatial settings. The problem is that if no areas are built (incomplete), I get the error message "PythonFactory failed to close properly". Is that probably because there is no attribute from built area to compute on in "orderByGroup"?So I wounder if there is a way to not activate ListCombiner (PythonCaller) if AreaBuilder returns incomplete? Please see attached image for log message.Thanks.
Hi everyone,I have this gdb with about 14'000 lines (alwas only 2 points). In the gdb there is an attribute for every coordinate of the points of the line (E_left, N_left, E_right, N_right).My problem is that the lines need to be generated from left to right which is not the case at the moment. How can I change the geometry "IFMELine (2coordinates)" so that the start point "coordinate 0" of the line is defined by the attributes E_left and N_left and the end point "coordinate 1" is defined by E_right and N_Right?Thank you very much,Davide