A space to discuss FME Form
Recently active
Hi all.Today I needed to build a custom Python based transformer from scratch, after a two year hiatus, and needed to explore some new things in the FMX file part.So as always I opened https://support.safe.com/hc/en-us/p/documentationBut apart from the Format GUI Type documentation, I can only find a new “.fmxj” documentation, but not the proper FMX file ditto. And fmxj looks nothing like FMX, it seems.Why has this crucial piece of documentation been removed ?Can I find it somewhere else ?Cheers
Hi,I have the values of an attribute which corresponds to the names of sheets of an excel file. In other words, the attribute of interest has the values attrib1, attrib2, ..., attribn that also corresponds to the sheet tab names of another excel file.What I would like to do is to be able to dynamically read the sheet tab names of the excel file based on the values attrib1, attrib2, ... attribn that varies per feature. Those values are unique per feature so I won't need to read the same excel sheet twice.Any ideas?Thanks
we are having a DEM of cartosat satellite but we can't convert it to footprint as it only contains terrain data. but a problem statement given by isro in SIH they mentioned to create a LOD1 model using cartosat1 or cartosat2/3 data
Hi,I have a polygon with a donut hole, and I would like to split it in half, e.g. across the center of the donut hole. The result should be two polygons, as illustrated below. The polygon isn't necessarily always "horizontal," like in the example below; it could be rotated in any direction.Does anyone know how to do this? Any help would be appreciated! A polygon with a donut holeResulting polygons
According to several solved questions in this forum, there are two recommended ways to automatically remove attributes that only conatain NULL or empty values: using a small python script or using the NullAttributeMapper. Unfortunately both suggestions do not work for me (FME Desktop/Form 2022.2). Both the PythonCaller and the NullAttributeMapper keep the Null-Attributes and they are present when I write to Excel (see attached workspace). Is there something wrong in my workflow or is there an updated solution? Thanks for any suggestions!
Hi,I have a deployment parameter (Text) that is pointing to an SDE file on FME flow in my shared resources. When I try to set a local value in form, it ignores this value and throws an error saying it can’t access the share resources file path. I’ve tried creating a deployment parameter that is type: database connection, but this doesn’t work either. Here’s the error:This was working a week ago and now it refuses to acknowledge the local value. Many thanks, Sam
Hi all,New on the forum but not on FME :) (although not an expert). I come acrross a doubt on how to work with zip files. I know FME reads zip files directly but only if you know what kind of file is inside it. So If I have some URL with zip files but those can have dwg, shp, png...I cant really figure it out how to say FME ok, you shape file go this path, dwg this other path... I know I could use httpcaller and store them, unzip and work with them after unzipping by filtering out the inputs but I want to save disk space and dont really want to unzip.Any idea will be welcome.Thanks!
Dear all,I’m spending a lot of time trying to sort out an issue with a substring operation but I cannot see my results are not correct in several places.In FME workbench 2024.0, I use the the AttributeManager to read a substring from the attribute _response_body and to write it to the attribute info. The response body is the result from a reverse geo-coding with OpenStreetMap and I want to extract the location for the given coordinates. To extract the relevant part, I use the following sequence of String operators:1) Take everything left of </result>2) From this, take everything right of address_rank3) From this, take everything right of >The actual (unfortunately complicated) condition statement which I’m using is:@Right(@Right(@Left(@Value(_response_body),@FindString(@Value(_response_body),</result>)-1),@StringLength(@Left(@Value(_response_body),@FindString(@Value(_response_body),</result>)-1))-@FindString(@Value(_response_body),address_rank)),@StringLength(@Righ
Hello, I am using FME 2022.2 and I’m trying to load in Raster data, based on an Area of Interest (AOI), specified by the end-user in FME Server (yes my organization is not using FME Flow yet, but the old FME Server). We have a few big Raster datasets on a local drive (of the entire Netherlands), which are loaded in as regular Readers. Then, using a Creator and GeometryReplacer, the end-user can specify an AOI (using a User Parameter), and the Rasters are then clipped in the Workspace using a Clipper. However, this means that the big Raster datasets need to be loaded/processed every single time the Workspace is ran, which is bad for performance. What I want, is that the Raster data is loaded into the Workspace, but only the data which intersects the AOI, specified by the end-user. I tried using a FeatureReader and use the AOI from the end-user as trigger to load in the Raster data. However, for some reason, the entire Raster dataset is loaded every time, instead of only the Raster data
Hi!So, I have a workbench that takes a shapefile and an excel file as input, does some magic and outputs an excelfile. The workbench works as expected. So far so good. Se image below. Now, I have a number of shapefiles that I want to process in the same way, so I figured a workspacerunner would be a good solution, instead of replaceing the input shapefile in the image above.So in a second workbech, I take a PATH as reader, filters out my shapefiles and into the workspacerunner (see img below). Everything seem to be working - but only the shapefile that has the same filename (test.shp in the images) gets treated properly.So in this example, test.shp get an output excel file that seems fine, but the other two does not. Any ideas of why that is? My guess is that I’m doing something wrong 😅 I can’t share the workbenches I’m afraid. Cheers!
Hi,I'm programming in Python using FME Desktop, specifically using the Python Caller transformer. I'm trying to use a variable called test in my script, where test should have the value assigned to the attribute _creation_instance. I'm declaring it as follows: test = feature.getAttribute('_creation_instance'), but I'm getting the following error:Python Exception <NameError>: name 'feature' is not defined How can I properly get the value from _creation_instance? Thank´s
I am currently starting a project requiring me to pull images and videos from a Twitter page. Originally, I was using the TwitterStatusFetcher transformer to pull the individual JSON object of every tweet, and extract the corresponding image and/or video. While this was working to an extent, I noticed that the JSON extracted from the TwitterStatusFetcher at times did not contain an image and/or video when there should've been one. I believe this is due to a recent change in Twitter's API requiring an extra parameter (tweet_mode=extended) to retrieve a full tweet. As such, I've been trying to access the Twitter API directly with this extra parameter, using the HTTPCaller transformer. However, Twitter requires the use of Oauth 1.0 for me to pull tweets. I'm unsure of how to set up the web connection for Twitter to use Oauth 1.0, as FME 2016.1 uses Oauth 2.0 to establish a web service. I have all the required consumer and access tokens already, I'm just unsure of how t
Hi, I have a workbench which is fed by a set of user parameters. It produces a dataset of 10.000+ buildings for a chosen municipality and extraction date. Is it possible to create an input which loops through these user parameters:Userparameter 1: CityUserparameter 2: Extraction dateRun City Date 1 A 2020-01-01 2 B 2020-01-01 3 C 2020-01-01 Workbench should behave like first run City A with first date, than City B with 2nd date, than City C with third date
Hi,I’m experiencing issues with searching for a path for a PDF. Unfortunately, the process is extremely slow and seems to be stuck at this message. Could you please advise on how to proceed?
Hi, Sometimes after running some workspaces, the process freezes at the point shown below: The workspace doesn't run anymore. It can stay like this for hours and not progress... Has this happened to anyone else?
Hello, any help would be greatly appreciated with this idea I have: I am trying to figure out the least convoluted way to take my current data and get it into the format ArcPro likes it to be in to take full advantage of the Time Slider. My ultimate goal is to use the time slider in arcpro and the user can slide the time to show how a floor was occupied throughout time.So, I have a large amount of motion detectors. The data is fed to me like so:SensorName Timestamp SensorStatus 1 12:00 1/1/2024 On 2 12:05 1/1/2024 On 1 12:06 1/1/2024 Off 2 12:10 1/1/2024 Off Then Sensor 1 could be triggered again and so forth Arc seems to want the start and end times in the same row. like so:SensorName Start End 1 12:00 1/1/2024 12:06 1/1/2024 2 12:05 1/1/2024 12:10 1/1/2024 It needs to organize 100s of results from numerous sensors and get the start/stop times on the same row, for the correct sensor, for the correct period of time.
I have a dataset with 3000 polygons represting streets. Each street is divided into subparts and need a unique code to be assgined. The first part refers to the streetname and is the same for each subpart, 2nd part is a unique counter.Image below shows my current (top) and wanted situation (bottom part).Any support is appreciated!
I want to write to an existing FGDB and I'm getting "Esri Geodatabase Writer: XXX attribute value(s) were truncated" (in my case: XXX = 500+) in my translation log. Concerning the attribute values that should get written and given data types, everything seems to be fine. What could be a way to determine which attribute values are truncated and why? I can't find further information on this.
As is stated in the title. However I need column names to be created exactly as they are, for example I have incoming attribute "OGC_ANGLE.uom" and even though I have Lower Case Attribute Names unchecked,tables in database have column names are created lowercase ("OGC_ANGLE.uom" becomes ogc_angle_uom) - this is a problem, if I read those tables and try to use xsd to create gml again, as these attributes are unknown to the xsd, therefore failing creation of the gml. I could manually rename those columns, however I would need to rename those columns every time xsd file changes, which is why I need to do this dynamically in the first place, as those xsd files are going to be updated quite often... And it seems that the dynamic PostGIS writer ignores Table Qualifier, it always creates tables in default schema, unless I specify schema in Table Name (schema.@Value(fme_feature_type))
Hi Community,I am encountering an issue when attempting to connect to Azure IoT Hub using the AzureIOTConnect transformer in FME. Despite successfully generating an X.509 certificate using OpenSSL and being able to connect to Azure IoT Hub through a Python script, I am unable to establish a connection using FME. Here are the steps I followed:Generated the device key and certificate using the OpenSSL;The generated certificate includes the following relevant details:X509v3 Basic Constraints: CA:FALSE X509v3 Extended Key Usage: TLS Web Client AuthenticationThe connection works perfectly when tested through a Python script, but fails when using the AzureIOTConnect transformer in FME. The error message returned by FME is as follows:Failed to connect to the broker. The reason given is '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)' Given the details above, I am seeking guidance on the following:Are there any specific configur
Y’all.I’m trying to create a connection to a customer Sharepoint for the first time. And I’m confused.I got something to work in 2020.2, but would rather it ran in 2022.2 (same as our servers). But I’ve also tried it in 2024.1There seems to be two web service templates, (Template) and (safe.microsoft-sharepoint).According to this article they are each designated for use with Sharepoint List r/w and SharepointOnlineConnector respectively.But apparently I can’t create a new web service based on the latter in 2022.2, and the latter isn’t even available in 2020.2So when did this change, i.e. in which FME version ?CheersLars I.
My first “proper” Custom Transformer for maybe public consumption is AttributeTruncationChecker (attached)I’m not sure I have totally debugged it, but it seems to work now in most samples I throw at it. Will leave it here for the Community to possibly use it and improve it.This is trying to address possibly one of the more common headaches we run into, in getting the dreaded Truncated Values warnings in the Translation Logs when a Feature Attribute string is too long for the Writer destination field. At the moment, it is very time-consuming to track these down in large Feature datasets/Multiple Feature Datasets being written simultaneously, to design and run some Transformations to try to find the offending Features and which Attributes.This Transformer aims to detect these in the Workspace, by comparing the Workspace Features to Reference Schema Feature(s), typically from a FeatureReader. Originally I found I could “solve” this relatively easily with AttributeExploder based standar
Hi Everyone, I have recently started with FME. I have a case where I have to format an XML from a list. I am using XMLTemplater Transformer to build a request xml which looks like below<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wnb="http://sample.com.au"> <soapenv:Header/> <soapenv:Body> <wnb:fetchNotificationDetails> <!--1 or more repetitions:--> <notificationNo>121</notificationNo> <notificationNo>131</notificationNo> <notificationNo>141</notificationNo> </wnb:fetchNotificationDetails> </soapenv:Body></soapenv:Envelope> I am passing some ten notification numbers to a XML templater and they are coming out individually like below <soapenv:Header/> <soapenv:Body> <wnb:fetchNotificationDetails> <!--1 or more repetitions:--> <notificationNo>301</notificationNo>
I am attempting to write out data using a schema scanner and dynamic featurewriter.It is simply not working. I always get "Unknown feature type 'BOUNDS' passed to the JSON writer.It doesn't matter what I do, always the same.BOUNDS is my fme_feature_type and fme_feature_type_name.I will eventually use group by attribute but it doesn't even work with just one typeI believe I am following the standard practice but I have always been stumped when trying to write dynamically. Please could someone outline the boiler plate method (with the steps ordered) to use a SchemaScanner and Dynamic FeatureWriter in the scenario where one would need to create or overwrite fme_feature_type and fme_feature_type_name or use a custom names for these. As I understand it, I should only need to make sure I have an attribute on the data with the same name as the Schema Definition Name.THANKS! NOTE below, feature_type_name is not available to choose, in this iteration
I have streets with LEFT and RIGHT address ranges assigned. In some cases, I need to break the segment into 2 or more segments (for example, when a railway track is crossing the street). How do I re-calculate the NEW address ranges for the NEWly created segments? For example, as shown in the image, parent segment has address ranges of 0-100 and 1-99. After braking it up into 2 segments, I am expecting to calculate and assign address ranges of 0-28, 1-29 and 30-100, 31-99 to the child segments.Which transformers can I use to calculate the address ranges for the new segments?