Using transformers to modify data.
Recently active
How to submit a surface to Orientor? Since every triangle must be rotated.
Hope someone can help, I'm missing a lot of buttons in my workbench suddenly. I was working on a workbench yesterday, everything was fine. Today I open the same workbench, and the hover-over menu is missing from all the readers/writers and transformers. I need to click on a transformer and it will appear, but the RUN button is missing! I can only run the entire workspace from the main menu, I can't select and run, and I can't run to/from. So I just ran the entire workspace from the top ribbon menu, and it worked, but now I am also missing the magnifying glass buttons (inspect feature cache)!!! Help. How do I get my hover over menu back (including the run buttons) and how do I get the inspect feature cache boxes back. Thanks!
I want to check the header for information in a manual validation step for a xml/gml file. But it does not seem possible to extract the header information using the xmlFlattener for examle, just the dataset. Is it possible to extract certain keys from the header? I want to check for the encoding tag for validation.
Hi, I am running a workbench using the workspace runner. This workbench runs 12 times with a different area running through it each time. It takes roughly 3 days to complete all stages. I want to create a HTML report so I can get a simple percentage complete of this process. I have created a process whereby the sum of features passed through is counted in the statisticscalculator and this is then used to derive what percentage complete I am. However, due to the fact that I am using the runner and each area runs through on it's own. The statisticscalculator calculates that only 1 has through each time. Therefore I always get an update saying I am only 8% (1/12) complete, even though I may be farther.Would there be another way of achieving this? Hope this makes sense and thanks for any help. B
I have an XML with a tree structure, which we can aggregate to 1 feature with traits. It has several levels in the tree (6 at the moment) At each node, I would like to have the ID's of all underlying children of that node (so not only the direct children, but alto their children, etc etc). I tried TraitsToAttibute transformer, which does this but only on the root level. The Deaggegator can list the children ID's belonging to parent, but only for the direct children.
Hi!I would like to know how to create from scratch an autocad file with blocks, I have a list of points xyz and a template file. What are the information needed to be able to create a block ? I've tried something but it's not working at all ! Please help.Thank you in advance.
I am trying to convert old DWG files into PDF. When I convert them to PDF, I find that several features are now filled in with color (mostly shades of gray and black), and this ends up obscuring most of the image. In the parameters I tried setting the default fill opacity to 0, but it did not change anything. How can I get rid of the fill color? These colors do not show up when I view it in Data Inspector. It only displays that way on the PDF version. Basically, I want the PDF to resemble exactly what the file looks like in Data Inspector.
Hello, I'm an FME novice. This is my first workspace of any complexity at all, and it is based off of https://community.safe.com/s/article/how-to-read-all-feature-classes-from-multiple-esri. I've inserted a couple testers, a reprojector, and an Attribute renamer to the wakthrough above. (The field name "CURRENT" causes and error in the SQL Insertion; likely because it is a SQL keyword). It MOSTLY works, and the process finishes successfully, however the Attribute rename doesn't work as expected. Instead of renaming "CURRENT" to "ECURRENT" as configured, it drops every field starting at "CURRENT" all the way up to the last field in the table. This is obviously some sort of parameter/configuration issue that I'm overlooking. Can someone help me? I've attached the workspace.
I have a custom transformer that was written with a lot of help from 1Spatial (thank you :)!!), The idea is that it goes through an Atom (georss) feed, and identifies links within feed that are zip files. However, due to the nature of some of the feeds I am working with, sometimes the download is on a second page (see, for example: http://www.catastro.minhap.es/INSPIRE/CadastralParcels/ES.SDGC.CP.atom.xml), and therefore I have a loop which goes through all the non-zip links that are in the initial feed, and checks if the subsequent feed contains zip files.When I run this using the URL https://www.ign.es/atom/dataset_feeds/lin_lim_mun.es.xml I find that it goes back into the initial Input loop and therefore identifies the same zip file twice.Can anyone shed some light on why this is occurring, and suggest how to stop this issue? I'm really struggling, and need to avoid this duplicated data!! I have attached a workbench which runs the custom transformer, along with the csv file whic
I have the following problem: I want to convert dwg-plans automatically to geopackage/dxf. Most of the plans are not in any geographic coordinate system. I'm trying to construct two separate workflows: First detect if the dwg has a coordinate system. If so, just use reprojector to confirm if it is in right coordinate system and use user controlled scaler (sometimes units are m, sometimes mm) then convert to geopackage (this workflow generally works)If the file doesn't have any geographic coordinate system, move it to a certain point and scale it (user parameter) preserving distances and angles (because the file used for precise work in QGIS later). The aim to move the drawing in certain location, is to more easily move it manually in QGIS without having to search it from 0,0 coordinates.I've tried LocalCoordinateSystemSetter among others and got some realistic coordinates when inspecting in FME, but when importing to QGIS, it seems to be in another dimension compared to all
Hi, I'm trying to upgrade a workbench from FME 2020_2_4_0 (build 20825) to FME 2021_2_4 however I have reprojectors that project data into lambert equal area polar projections. These projections do not appear to be available in FME2021 and the workbench fails as a result. Can these projections be added to 2021 or are there alternative polar equal area projections that are supported?
In the source json file values.available_sf was null. i created a json templaterand assign this null value to BuildingSqFtTotal jason object. but after templater I got this "BuildingSqFtTotal" : ""I need "BuildingSqFtTotal" : null @david_r or anyone can you pls help "BuildingSqFtTotal": fme:get-attribute("values.available_sf"),
The spatial predicates for the SpatialFilter and SpatialRelator transformers do not seem to be working as expected. For example, after using the LineOnAreaOverlayer transformer to split candidate lines where they intersect any filter area boundary, a SpatialFilter ("Filter OGC-Contains Candidate") fails to pick up a candidate line which falls wholly within an area filter. Likewise, after creating candidate midpoints of filter lines using the Snipper transformer, a SpatialFilter ("Filter OGC-Intersects Candidate") fails to pick up on the midpoints which intersect their originating filter lines. After reading the documentation of these transformers, I'm struggling to understand why this is occurring. Is this issue related to projection / coordinate systems? Using the 'Select by Location' tool in ArcGIS Pro does yield the expected results (i.e. all the midpoints are selected when an intersect query with the lines is applied, and all split lines are selected
Hello everybody, I have a Python script that allows me to interact with an API of an application called KIZEO. Lately I wanted to automate data recovery by FME. So I had to use the HTTP CALLER transformer which allows me via a URL to retrieve the first level data, i.e.: Entity identifier. Dated. ETC. I stored all the identifiers retrieved by the script in a list (LISTE_ID). Then in order to access the detail of each entity (Level 2) I should call back the HTTP CALLER by entering the URL box: https://www.kizeoforms.com/rest/v3/forms/{formId}/ data/{LISTE_ID}. But unfortunately, the HTTP CALLER does not accept me to enter the URL containing a list, it asks me to give it just a single element. Link of API: https://kizeo.github.io/kizeo-forms-documentations/docs/fr/data
I have synchronising the data between 2 (source & destination)enterprise GDB on SQL server (2 separate SQL Server virtual Nodes) both tables are non-versioned & archieved. My challenge is while synchronising the data into the destination table it's taking long time to writing, due to this it has huge performance delays.For around 6600 records updating from Featureclass(A) from Enterprise GDB-A to Featureclass(B) from Enterprise GDB-B it's taking around 15-24 minutes. I would like to reduce the time for wririntg the features into the destination table.(GDB tables are indexed and using by other usersthrough services & arcgis clientS) You are assistance,advice or any piece of help is highly appreciated , @Takashi Iijima ,@david_r ,@theodrogo RegardsVIPLA
Hi all, I am trying to extract the following attributes from my JSON file: "area": "perimeter""laFeatureType" (plus some others) from the attached JSON file. I am using a JSONFragmenter with the query json["data"][*] but it isn't extracting as expect (all returns with "missing" data although I can see the data within the JSON file) .Screen shot of my fragmenter attached. Any help much appreciated. Thanks
Hello. I have a question. Does anyone know how to check inside the workspac that the workbench has processed all the data at the beginning of the WS? It happened to me several times that during a large WS the workbench looked like it was finished properly, but not all the data was retrieved during the data transformation. I came up with a counter at the beginning and end of the WS, but it's probably not the perfect solution. Another thing is that the counter reads over and over again, if WS is automated, I would need to somehow reset it when it's done. I need something that will be obvious at first glance, the search in the log will take me a long time. Thanks a lot
Revit files seems to have a non linear time to process. Is there anything I am doing wrong or anything I can do to speed this up. Currently a:8MB file ~ 10 minutes70MB file ~ 1 hour 10 minutes+200MB file ~ waited over 12 hours before cancelling. I have many of these files I need to process so just 1 file taking over 1 hour is way too long. What is the best way forward? I have a similar pipeline with civil3D files however they are processed fairly quickly, it seems to be just revit files take a long time.
I have a dynamic replication workspace which reads the contents of one file gdb and uses its schema to truncate/overwrite another. I've added some contour datasets to both gdbs that are static, and don't want them being included in the replication because of the time overhead they add in reading and writing. Mid-workspace workaround is the humble Tester, but not reading at all would be better. I've had a google of regular expressions to use for this, rubular rejected the solutions here ( https://stackoverflow.com/questions/2078915/a-regular-expression-to-exclude-a-word-string ), and couldn't think of how the merge filter would be used for it. I need to exclude feature classes like '%Contour%' and also those like '%0_5m' - in the latter case it can be an 'ends with' scenario as it is always at the end of the feature class name.
I am trying to understand why, when using the FME RasterResampler (cell spacing) for multiple datasets at various resolutions, the output is variable resolutions rather than just the cell spacing I have defined (10m). For example one dataset with a native 2m resolution does not get resampled to 10m when I use the RasterResampler setting cell spacings to 10m, but instead is is resampled to 14.3561626759533. All datasets are resampled slightly differently and only a few to the requested 10m. What I want is the resample output to be the same as resampling in arcmap, would I need to use a python caller to do that?
If a execute this workspace: Using an existing (and empty) database with this trigger on parcel table: I get this error: There seems to be a conflict between the "prepared statement" used by FME and the trigger. Are they incompatible? Note: This project is a simplified version of another in which the database schema and the logic implemented by the trigger are considerably more complex.
In FME desktop I have a geometry extractor which converts simple polygons to FME binary and stores them in the attribute _geometry. I need to use this geometry in another workspace. I pass the attribute _geometry to the other workspace using a workspace runner and a parameter. In the child workspace the Geometry Replacer fails. The error is INVALID_PARAMETER_GEOMETRY_SOURCE. Does anyone know if it is possible to pass geometry as text from one workspace to another or what I might be doing wrong? I've attached a simple example of the problem.
Hello everyone,In my workspace, I have one point cloud feature (IFMEPointCloud). The points have x y and z components , but many of these points have unnecessary digital precision. My goal is to round all coordinates up to two decimal digits. After reading the FME documentation and checking the FME Forum, it turns out that: "CoordinateRounder" does not work with point cloud datasets;"PointCloudExpressionEvaluator" only rounds float components using ceil and floor expressions, thus resulting in integers.As a workaround, I am trying to use "PythonCaller" to go through each individual point of the IFMEPointCloud and then round their xyz components. The documentation for IFMEPointCloud is, however, limited, and I don't know how to reach the point/component levels.Any ideas? Thank you in advance!
Hello.I am looking to split some of the attributes of a filed into 2 separate fields while rest stay in the main field contents. even the split one part goes to separate field and rest stays in.example I have following data:Banana 24Banana 25Banana 26Banana 27Apple 01Apple 02Apple 03Apple 04Pear PearI want it like Banana stays in original field and 26 goes to separate field.but nothing happens to pear.I tried using tester to filter them out then attribute manager with string function to replace but length is not same for all attributes how do I handle different length?Thank youNikki
Hi All, Hoping an extra set of eyes on this might solve this.I am using XMLUpdater to update geodb_metadata_string and everything works fine until I use a Conditional Value. Then I produce the error below. I have tried several different conditional statements, with and without quotes and have run it as PlainText and as XQuery but always the error. Pics from the Updater and Conditional Value below. Thanks for any ideas.Starting translation...Unbalanced quotation marks encountered on line 438 of file E:\GIS\FME\test\wb-xlate-1644023348637_43516 -- line was `FACTORY_DEF {*} XQueryFactory2 FACTORY_NAME { XMLUpdater } INPUT DOCUMENT_FEATURE FEATURE_TYPE AttributeExposer_OUTPUT INPUT QUERY_FEATURE FEATURE_TYPE Sheet1_XLSXR_2 FLUSH_WHEN_GROUPS_CHANGE { <Unused> } XML_TEXT { "@EvaluateExpression(FDIV,STRING_ENCODED,<at>Value<openparen>geodb_metadata_string<closeparen>,XMLUpdater)" } COLLECT_CONTEXT_ITEM_NAMESPACES YES SEPARATE_DOCUMENT_FEATURES YES