A space to discuss FME Form
Recently active
I am attempting to find the file sizes for each Feature Class within a FGDB, both within a Feature Dataset and at the root of the FGDB. All research yields that the file size is not available via the PythonCaller and we are trying to isolate the FC filesize output via:PythonCaller > getFeatureClassSizeimport os def getFeatureClassSize(feature): fc_path = feature.getAttribute("FC_path") total_size = 0 # Common file extensions in a File Geodatabase valid_extensions = {'.gdbtable', '.gdbtablx', '.atx', '.spx', '.freelist', '.gbx', '.cat', '.gdbindexes'} if os.path.exists(fc_path): if os.path.isfile(fc_path): ext = os.path.splitext(fc_path)[1].lower() if ext in valid_extensions: total_size = os.path.getsize(fc_path) else: for dirpath, dirnames, filenames in os.walk(fc_path): for f in filenames: ext = os.path.splitext(f)[1].lower() if ext in valid_extension
I want to transform a geotiff to an ecw while removing the nodata. The geotiff has just one band (band 0: Gray8). I do not have a clipper, so I think cannot use option 2 or 3 mentioned here, but only the first: use a rasterbandnodatasetter.So I used a rasterbandnodatasetter to set 0 as nodata, but when writing to the ECW this is not retained and still a black border is shown around the georeferenced image.What should I do to remove it definitely?
Hi,Getting an error while publishing the workbench.Publish failed - FME Server encountered an error and reported the following message. The resource name must not contain any of the following characters: \ / : * ? " < > | & = ' + % #Regards, Dheeraj
So I’m configuring a service (an automation) which is triggered by an webhook. The automation will process data and then send the requester an email when the job is done.I want to add a little more feedback to the process for the end user. This is in part to reduce the amount or possible duplicate submissions - As I see it I have a couple of options:Send an email when the request comes in confirming that the request is being processed. Most likely this will be enough. (The user will already get a confirmation form the webapp where they submitted the request)Send an email after a certain amount of time (e.g., 15 mins) in case their job is taking a while or they are stuck in a queue. Try to detect duplicate submissions and send an email to the user that their duplicate request was cancelled.As I see it option 1 is the only one which doesn’t require an extra free engine to run another job. Am I missing something?Are there clever way to do either 2 or 3 without an additional engine?
Hello ! Does anybody have a clue how to transform a polygon reprensenting a text to a text ? See attached image.
Hi there,I have created a Mosaic Dataset in ArcGIS Pro from downloaded 1m DSM GeoTIFFs. This displays fine in ArcGIS Pro. The boundary of the mosaic is clipped to the extent of the data I want to analyze. I need to convert this to LAS to run some ArcGIS GP tools. So I have done this using the Mosaic Dataset as an input in FME:Esri Geodatabase Raster → Point Cloud Combiner → LAS WriterThe output shows some incorrect data striping and looks like it missed some areas. In ArcGIS Pro:In FME Inspector:I don’t see any out of memory errors or issues with reading the Mosaic data in the FME logs.Any ideas?Thanks,Marc
Hi, Just wondering: Is there a transformer that reads Esri *.pagx layout file? Greatly appreciate your help. Thanks, Willy
I have a point dataset representing the locations of streetlights. I want to replace each point with a small line drawing that symbolizes a streetlight. This symbol is stored as a set of line geometries and can stay line geometry.I suspect I may not be using the correct approach, but here’s what I’ve tried so far:I used a GeometryExtractor to extract the line geometry of the symbol, and a GeometryReplacer to apply that geometry to each point. This almost works — however, instead of placing the symbol at the location of each point, the points are being moved to the location of the symbol. As a result, I end up with over 4000 symbols stacked on top of each other at the original symbol location.I’ve included an image of my workspace to illustrate the issue.
Hi all,I am working on a script to replicate a set of feature classes from one enterprise geodatabase that we use for transactional editing purposes to another enterprise geodatabase that we use for publication purposes for the organization. This replication script would be scheduled in FME Server to run on a nightly basis.The issue is that the feature classes I plan on replicating have several domains and subtypes applied to them that don’t translate correctly.I’ve been advised to use the ‘Resolve Domains’ functionality and change the configuration from ‘coded domain’ type to ‘char’.My test workflow involves the below:Copying the feature class via the ‘Import Feature Class’ tool in ArcGIS Pro into the target Enterprise Geodatabase to have the feature class available in both geodatabases With FME:Selecting the ‘Resolve Domains’ checkbox in the Writer at the outset, and using the ‘Insert’ and ‘Truncate Existing’In the Writer configuration, changing the ‘coded domain’ type to ‘char’ and
I have a building footprint layer that I am using an oriented bounding box transformer (blue line) and trying to keep the result as close as possible to the original polygon (black line) but for some reason the bounding box is getting squeezed out of shape. Does anyone have any suggestions as to why the bounding box is not aligning better?I am using it to try and automate the georeferencing of a CAD drawing and using the AffineWarper with lines that come from the corners of the bounding box. I am using the long side angle in the bounding box to rotate the CAD drawing, which in this example is still correct but the length of the long side is incorrect which puts out the affine points and scale calculation. This is a case where the footprint is a basic rectangle but there are many cases where the footprint is an irregular shape.
Hi, I have a dxf file with objects in it, their representation is fine, I’m happy with it.However I need to filter these object using an polygon extent. So I read the dxf file using and Autodesk AutoCAD DWG/DXF reader and then lose the linetypes.The information seems to be read because an inspector shows me that the attribute autocad_linetype is correctly read (e.g. symbolLayer1), so it feels like the problem is that the style is not defined and thus FME uses CONTINUOUS in the end. Colors seem fine though. Is there any way to keep these types without recreating everything in FME? FME versions:Form 2023.1.1.1 Best Regards, Julien
I have an Excel spreadsheet that serves as a data dictionary. After reading a shapefile in FME Workbench, is it possible to use this spreadsheet to dynamically define the data type of each field in the shapefile?
Hi all,I have a CSV file containing stops with fields stop_lon and stop_lat. I’m trying to turn them into geometry and reproject them so I can use them with other layers.My workflow looks like this:CSV → Tester → VertexCreator → CoordinateSystemSetter → Reprojector In VertexCreator I assign X = stop_lon, Y = stop_lat. In CoordinateSystemSetter I set the source coordinate system to EPSG:4326. In Reprojector I reproject to EPSG:7856 (GDA2020 / MGA Zone 56). After running this, the points don’t land in the right place compared to my suburb polygon layer (which is already in EPSG:7856). In QGIS, both layers line up fine (on-the-fly reprojection), but in FME they don’t.Clearly I’m missing something in how I’m handling coordinate systems — but I can’t see where the mistake is.
Hi, I have a polygon that looks like it has some floating point issues in measures around 0. What is the best way to fix those values without affecting the legitimate values.I’m thinking extracting the measures as a list and then editing the list in python and resetting all the measures from the new list, but that seems a little convoluted.
Hello there, I really have a hard time to understand how to use the "Geometry Validator". I checked the "help" and still not sure how it works. I checked an example in IMDF validator and not sure what is the column of "Issue to detect" does, such as "contains -0, NaN, or infinity". I really hope someone can give me a light introduction on this transformer. Thank you and I am really appreciate your help.
I converted the fbx model to citygml format and opened it in KITModel Viewer, but encountered an error and the model did not display。
Hello everybody,I hope this is a the right place for a FME Realize question as this is about mobile apps (or is there a Realize subforum I missed?) otherwise please don’t hesitate to move this thread. I am just starting out with FME Realize and I noticed some weird behaviour and was wondering if this is only because of GPS position fluctuations or because of something else.I placed spheres at these two points:When I place one via rotating/moving and lock the model the other one is quite a bit offset. I doubt it is because of my data, as it is measured by a trusted surveyor. Correctly placed sphere and line.When I now walk over to the point where the other sphere is located it looks like this:Green circle showing where it should be, red where it isWeirdly when I now go back to the first sphere it is also offset: I tried it with several coordinate systems and which anchor/georef.anchor on and off, but it is never correct. At the moment I am in scalefree UTM.ETRS89 - EPSG25832, though t
Hi! I'm new to FME and I have an issue with published parameters in a CustomTransformer.I created a CustomTransformer name "TeamsConnector" which need to use the published parameters "Message" in a pythoncaller: Now in my main flow I use twice my custom transformer with different published parameters value. "Message 1" as a value for the first use of my transformer: "Message 2" as a value for the second use of my transformer: My issue is when I run the flow instead of having "Message 1" and "Message 2" as expected, I have twice "Message 1":
I'm trying to create a custom transformer 'FeatureCountLogger' which logs the number of features inputted into this transformer. The custom transformer contains a PythonCaller with the following code: import fmeobjects class FeatureProcessor(object): def __init__(self): self.featureList = [] def input(self,feature): self.featureList.append(feature) def close(self): logger = open(FME_MacroValues['Summarylog'], "a") message = FME_MacroValues['Message'] + str(len(self.featureList)) + '\\n' logger.write (message) logger.close() I want to use the logger multiple times, so I created a published parameter 'Message' in the custom transformer, so I can submit the text logged to each instance of the transformer. When I'm running this I get the following error: Python Exception <KeyError>: 'Message' It seems like the PythonCaller can't a
Hi, It seems to me that there might be an issue when I'm trying to fetch a parameter value of a Custom Transformer, from a PythonCaller inside that Custom Transformer. If I do so, I obtain an error. When I try to do so in the main workspace, or when I add the name of the CT in the parameterfetcher, I don't get an error, and it works. See below screenshot and the attached demo workspace for an example.This seems like a bug to me, but it would be nice if the community can have a look alongside me. Kind regards, Thijs Ps. as a sidenote, I came across this Community Question in which the best practice for accessing parameter values inside a PythonCaller is discussed. In it, it is mentioned that best practice is to use param = fme.macroValues[‘parameterName’] in favour of param = FME_MacroValues[‘parameterName’] Additionally, it is mentioned that DaveatSafe created a problem report 4 years ago to make sure that this best practice is also honoured in the script editor for the Python
Probably splitting hairs here but I’m wondering what peoples preferences are for Tester vs TestFilterI have a Tester where I’m testing for someAttribute = someValue. this is case one. case two is where is fails the test.As it is on it’s own it’s not clear at all why or what the point of the test is. Using a TestFilter would let me define the output port names making it much clearer as to the purpose of the test without needing an annotation.Thoughts? Does anyone do this for the sake of clarity in a workspace?
Hi,I’m having a issue making a TIN properly in FME. Basically FME is interpolating points/vertexes that don’t actually exist in the original data. What I want to do is make a TIN that considers only the vertexes of the features I give to it (point/lines and breaklines). I do not want FME to make up data that does not exist.Does anyone know a way that I can do this?For example in this example this is one break line. It should only have two TIN vertices (the ends). No triangles should be created from any interpolated points However, when I look at the TIN for the same spot it has created 6 vertices I am using FME workbench/form 2023. I’ve been trying different settings for the SurfaceModeller and the TIN generator
Hi, I have a dynamic workspace where I am reading in multiple csv update files for multiple feature types to upsert into our database. I had set the primary key dynamically dependent on the target table in the database. I cannot set a where clause on an UPSERT (which I do use with other feature types that have the ability to do I, U, or D) so went to use the "Row Selection: Columns:" section instead. This parameter does not work in the normal way with attributes. It presumes the selected attribute is the primary key field (no orange left arrow in front of the name), rather than using the value. I tried manually adding @Value(primary_key) (the attribute that stores the primary key column name) in the parameter but the feature writer also presumes it is literal and obviously can't find a column called "@Value(primary_key)" and errors. This is something that I would like to do, and is very much a part of a dynamic workflow. Otherwise I will have to create one dynam
Hi Everyone, Looking for some assistance, I’m using FME 2023.1.0.0 trying to migrate some existing Survey-123 forms and data with attachments from ArcGIS On-Line to our new Enterprise portal.Our survey-123 form has a singular photos field for tracking a picture of the bus stop, it also has a repeatable photo’s field (table) where the inspector is able to take and attach multiple deficiency photos to the stop if one exists. In FME, I’m able to read in the AGOL feature service that hosts all of the survey information, I’m also able to write out the tabular information from the point layer to the new Enterprise feature layer that was created when I saved the Survey-123 form in Enterprise.The part that I’m currently struggling with is getting the singular photos to attach when writing the tabular information out to the Enterprise feature service so when I view the points in ArcGIS Pro, they appear in the attachments tab of the attributes editor like they currently do with my AGOL service.
NullAttributeMapper, AttributeCreator or otherWhat do people use to set default values for attributes?In the case that I have is a json document - in the case values are missing I need to set a default value. Ideally I’d use an NullAttributeMapper, however, there are upwards of 10 values I need to set and I don’t want to use 10 of these. The other option I see is an AttributeCreator/Manager with conditional values which is what I would normally do.