A space to discuss FME Form
Recently active
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
When I try to convert DGN to SHP I get this error.“DESIGN READER: Found duplicate tag name 'numero' on element. Renaming tag to 'numero04' to avoid conflicts”Do you have any suggestions to skip this duplicate tag name please or the way to change the tag name because I did not find where these duplicates.
We have a large number of photos taken in many countries and contexts. They are from a range of people from professional photographers to amateurs, using everything from professional DSLRs to smartphones. Preparations are ongoing to load them into a new professional online media library. The online media library can read certain IPTC metadata fields. We are considering an interface where staff around the world can upload their photos and add the required metadata. To facilitate easier integration into the media library, being able to write the user input to IPTC metadata fields/tags with FME would cut out a significant manual step. All I found on the Safe site was this:https://community.safe.com/s/question/0D54Q000080hV8xSAE/can-iptc-metadata-tags-be-exposed-using-fme-
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?
I am having a problem getting a HTTPCALLER do a GET from a custom API. I can successfully connect to the same API url in a web browser but get the error below from the HTTPCALLER. I am using the HTTPCALLER with similar APIs without issue. The url for this API is a little different than previous urls I have used so maybe that is an issue?Previous urls were like https://.../name/2A159Problem url is like https://.../name/2A159/Family?rtuFamily=C where the GET has to match both 2A159 and rtuFamily=C HTTPCaller_4 (HTTPFactory): HTTP/FTP transfer error: 'SSL connect error'HTTPCaller_4 (HTTPFactory): Please ensure that your network connection is properly set upHTTPCaller_4 (HTTPFactory): No proxy settings have been entered. If you require a proxy to access external URLs, please ensure the appropriate information has been entered
Hi,I have some polylines that I buffered with Bufferer in order to make some checks.Once the checks are performed, I'd like to get the original polylines back. I was wondering if I can copy the lines geometry into another geometry attribute and read them after, or maybe some other technique. Thanks in advance!
I am working on a integration Workbench between 2 softwares using their REST API. One of the REST API request JSON body as arguments to use some GET methods. HTTPCaller seams not to allow to use body with GET. Any idea ? Thank you. Mathieu.
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.
I am attempting to use the arcpy.da in the python caller transformer in FME workbench 2021.1 build-21627 W 64 bit , ArcGISpro-2.9v installed. I am wondering if there are any suggestions to getting my workbench to successfully access the arcpy.da module. I have setup the preferred python interpreter in the FME options. If you provide any help /documentation related to the Arcpy in FME it would be highly appreciated. Also getting following error while running the FME Workbench?
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!
I am trying to utilize the Anchored Snapper to snap the edge of a zoning area to the underlying parcel boundaries. The tool visually works great; however, it is utilizing the vertices of both features resulting in overlaps and slivers that are later detected in our workflow. Is there a means to have the Anchored Snapper only utilize the vertexes of the anchor? Is there a better tool option that will not change the parcel feature?
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
Hello,The following settings of the StringReplacer works for some feature attributes, and doesn't work for others.This is aimed to replace dots for commas (or vice-versa) in a decimal number.So, it normally works for example like 100.5 -> 100,5 But, I just used the very same transformer in a different feature, and the result is zero, for example: 100.5 -> 0 Both columns are 64-bit real. I can see in the the "cached features" in Data Inspector that a valid decimal number goes in, and out goes the zero. Any ideas?Thanks in advance
The ultimate goal here is to orient overlapping lines in the same direction so that later offsets will come out neat. The lines have been processed in multiple steps and when I apply a OrientationExtractor it says: no_orientation. Is there another way to get the orientation, other than the Topologybuilder which is quite slow and requires a few extra calculations? Also is the Orientor the only way to rewrite orientations to a line, or is it possible to copy it somehow with something like a FeatureMerger?
I'm playing around with security settings and it seems that if you password protect a custom transformer, it still spews out info in the logs from the internal guts of what's going on. Is there a way to prevent the internal guts of a custom transformer from being logged? Ie. I just want to show the input and output of the transformer. Is that possible? Seemed maybe like it was from this article https://community.safe.com/s/article/password-protection-for-fme-workspaces
I have tried reading out to a file geodatabase and then reading that out with the where clause to shapefile but would like to try something more direct
We can't seem to get it to work using any of the available transformers, nor any of the help we've searched for online. We just end up with either the data in the output table staying the same, or an error in the transformation. We are using a standard file GDB in ArcMap with a FC containing about 10 million records, and we want to replace about 200,000 of those records with updated info that is located in another FC in the GDB (based on a common field (county)). Is there a way to do this??