A space to discuss FME Form
Recently active
What is the best approach to write to selected excel cells if I am overwriting using an existing template? How can I make FME understand to apply the formula or the predefined values based on the feature count in my input file ? The template contains the predefined value in the first row. Item ID Program Full Name Master Certificate Number Address Dentist Association XL89 My Input File / Reader FileItem ID Full Name Address 12 Jon Doe 14 King St 45 Mary Jane 5 Todds Ave 345 Henry Smith 7 Queen St My expected Output Item ID Program Full Name Master Certificate Number Address 12 Dentist Association Jon Doe XL89 14 King St 45 Dentist Association Mary Jane XL89 5 Todds Ave 345 Dentist Association Henry Smith XL89 7 Queen St
I am reading in a very poorly formatted JSON file which has hundreds of lines but I just want to extract some key attributes that will then be used to create a JSON file that can be passed to FME Flow to start a work bench using the extracted attributes. I am reading the JSON file in and running it through an attribute manager to get the attributes I need. If I then run through JSON writer I just get a list like this[ { "json_featuretype" : "JSONFeature", "Catalogue Key" : "Data Catalogue", "Layer Name" : "Testville Roads", "Data From" : "Import type from CSV file", "Data Access" : "Restricted", "Update User" : "Alex", "Description" : "Roads data for Testville COuncil", "Dataset Dimension" : "3D", "Data Update Frequency" : "As needed", "Geometry Type" : "Points", "Spatial Presentation Type" : "Vector", "Data Currency" : "2025-11-09", "Initial Publication Date" : "2025-04-15", "Contact"
Im trying to implement some dynamic selection based on an API call response. So far I can build a package for scripted selection according to Dynamic choices using Scripted Selection - FME Packages SDK Guideand debug in VS Code attaching to Workbench (Build a Hello World package - FME Packages SDK Guide).The problem is that debugging is bound to running the translation and that is already late for the script I need to debug. The selection scripts are run when filling in the transformer parameters. I need to add breakpoints and inspect the execution of selection script (ScriptedSelectionCallback) during the API calls and browsing the object structure. Is there some setup to make this possible?The final purpose is to get this into User parameter scripted selection in FME Flow. I understand it would work this way in scripted parameter selection as it is in the transformers.
Hi everyone,I have a problem that I can't seem to solve. I have a workspace that writes data from a PostGIS database to a feature layer on our portal using the ArcGIS portal writer. When this workspace is run locally on FME form, it works perfectly fine. When it is uploaded to portal and run there, it seems to work fine (the amount of features written is identical to the amount when run locally), but some important fields are not filled. Flow and Form both use the same web connection with the same authorization parameters. Why is it that a identical workspace that runs locally can fill all fields fine, but when run on portal it seems to not be able to fill these fields??? I have put testfilters and loggers in between to check if the fields actually have values and they do, so it must be a writer quirk. Field names between the features and writer are identical as well (all lowercase) so I am at a loss... I am using fme form/flow 2023.2.2 and ArcGIS portal 11.1
Hi, I have a task in which I have some points attached to the line. I need to select point values and split the line at the point.I have attempted to generate points between two points using the Densifier transformer, but I am not achieving the desired outcome. If someone can assist me in this situation, I would greatly appreciate it.
Hi, I am having an issue of trying to use a dgn cell library and seed file on FME Flow for point features. The workbench works correctly on desktop but not Flow. Is FME capable to read cell library and seed files on FME Flow? This is the error message I get:Any help would be greatly appreciated! Thanks!
@daveatsafe Dear FME Community,I am seeking assistance in developing a Python script for use within an FME workspace to automate the desurveying of diamond drill holes (DDH) using the minimum curvature method. I aim to create a flexible solution that allows users to specify a custom desurvey interval (e.g., 1m, 3m, etc.).Background:Desurveying a drill hole involves calculating the actual XYZ coordinates along its length based on the collar location and survey data (azimuth and dip at regular downhole distances).I've researched existing methods and found the following resources helpful:Understanding Drillhole De-surveying: https://seequent.zendesk.com/hc/en-us/articles/360001547955-Understanding-drillhole-de-surveying Desurveying Methods and Interactive Tool: https://endarthur.github.io/writting/desurvey.html Drillhole Desurveying Python Code (GitHub): https://github.com/WilliamsB39/Drillhole-Desurveying QGIS Geoscience Plugin: https://www.spatialintegration.com/processing-drill-holes
I’m trying to compress FGDB with ArcToolbox tool with PythonCaller. This gives no error, but nothing happens after running it. What I am missing? Using FME 2024 with ArcGIS Pro 3.4. Compatability is set to ArcGIS Python 3.11. import fmeimport arcpydef compress_fgdb(fme_feature): fgdb_path = fme.macroValues['FGDB_PATH'] arcpy.management.CompressFileGeodatabaseData(fgdb_path, "Lossless compression") return fme_feature
Hi, I am trying to set up a simple update workflow that doesn’t like me. I am trying to update my enterprise portal with GDB updates and will eventually want to have this run everyday but for now I am just trying to figure out how to update one shapefile and repeat this 30 times. Right now I haver set up a GDB reader going directly into ESRi ArcGIS portal feature service writer to update an existing feature in enterprise and I have got it to write the features but it doesn’t want to publish the feature into portal.Can someone help me figure this out?
I would like to automatically number an electrical network as shown in the diagram below.If the digitization direction of the features is correct, then I get the correct numbering. I used the NetworkTopologyCalculator and TopologyBuilder transformers to perform the automatic numbering.If the direction is reversed, then the numbering is incorrect.Is there a solution to this problem?Thanks in advance.
Hi All,I’m working on a workflow that reads a LAS file storage as blob in a Azure database. I need to clip the LAS file with a polygon (AOI) and then exports the result as LAS file (or other format).After doing some research, the community suggests to set the My AzureBlobStorageConnector settings to download the LAS file and then process the data. My current LAS file is around 10GB and downloading it every time that needs to be clipped is not very good! The total time of downloading the LAS, clip it and re-export it can be crazy!here are my settings: Is there any way to read the LAS file as blob and clip it directly without download it?
I have an issue with some Python code in Form 2024.1.I have to make a connection to a PostgreSQL database using psycogp2. When I run the PythonCaller in my workspace then it fails with an error message that psycogp2 is missing (Python Exception <ModuleNotFoundError>: No module named 'psycopg2')I tried to single out the problem in a minimal workspace (attached), but here it works without a problem. Hence, I am wondering how and what is causing the issue. The actual workspace is rather big and I will share a screenshot of the essential part that is failing.The AttributeManager10 receives a single feature from the summary port of a FeatureWriter and in AttributeManager10 all other exposed attributes are deleted, except the site_id (integer) is kept. Unexposed attributes are there only two:fme_geometry -> fme_undefined fme_type -> fme_no_geom Running to the Attributemanager10 works fine. The next partial run of PythonCaller_4 fails with:2025-04-30 13:46:19| 3.6| 3.4|ERROR |Mes
Hello Forum, I’m experimenting with using FME Form to create a PDF showing the result of a TestFilter query on a read-in feature (polygon dataset). I have this… Creator FeatureReader Reads in the polygon dataset TestFilter Finds a specified record in the source dataset by specifying an attribute and a value. This produces the required selection. PDF Styler PDF Page Formatter FeatureWriter Writes to type=Adobe Geospatial PDF NOT YET ADDED: I will eventually bring in base mapping and add titles etc. But I don’t need to get to that stage yet However, when I run the workspace this error is generated… ‘PDFPageFormatter_2 (PDFLayoutFactory): Invalid page object 'PDFStyled' parameters 'MINX;-117;MINY;803;WIDTH;112;HEIGHT;39;FIXED_ASPECT;Yes;CLIPPING_ENABLED;No'. All point positions must be a positive number’ I’ve looked in the settings of the PDFPageFormatter_2 transformer but I cannot see values such as MINX, MINY, WIDTH, HEIGHT, FIXED_ASPECT or CLIPPING_ENABLED. But the error is saying
Hi all!I am trying to convert the Open Building Designer file to IFC 4. It was found that the IFC exporter in the Open Building Designer does not map features to the correct IFC entities, most of them will be classified as ifcBuildingElementPoxy. Therefore, I plan to try the conversion using FME. However, there is no reader format for Open Building Designer. Should I start the conversion by reading the Bentley MicroStation Design V8 format instead?
I have a json which i am getting through http caller. This json contains data as well as schema details. The schema details are like this Column Name, ColumnIdentifier and Data is like this [{ColoumnIdentifier : Value}] Now i want to create new attributes based on schema details.I have looked into python caller but i think you cannot create new attributes. is there any transformer by which i can create new attributes using my json as an input?or a python function to create new attributes
Any way to write to different zoom levels on the same MBTile? If I change the mbtiles_zoom_level and send 2 rasters to the writer - it still writes 2 different tiles, and not within a single MBTile and different layers/overview. Is this not possible?
Hello all, I’m interested in seeing if FME can connect to ArcGIS Server Manager.I’d like to see that status of services (Started not started, instances running..), log messages to review issues, and possibly view the statistics reports (graphs of activity, views, response times etc)..Is this possible?
Hi there,I am trying to generate a survey123 report using FME. I have downloaded and added the custom Survey123ReportGeter transformer however I am using a portal connection instead of an AGOL connection: After this step i have the Tester that checks for the submit_response_body beginning with {"jobId" however the flow always fails here. I get an invalid token message in my submit_response_body:{"error":{"message":"498: Invalid token.","code":498},"success":false}I am not sure if the request URL needs to be different for portal? or if the token i am providing in my query string parameters is not being read in properly…Any help would be greatly appreciated.This is what my transformer looks like:
Hi. I am using neighborFinder to align the points to the closest line segment. Points are connected to the Base, and lines are Candidates. I have also merged candidate Attributes. I am trying to join the Line segment from NeigborFinder with the original line dataset to get the closest line, but I am getting point geometry. is there a way to retrieve the line segment from the neighborFinder output? Thanks!
In a SDE reader, you have the option to ‘Resolve Domains’:In this example, this will take fields that have a domain, and create a new field with a suffix ‘_resolved’ and populates it with the descriptions from the coded values.I.e:The original field with the domain codes is ‘Accuracy_Spatial_Source’, while the ‘Accuracy_Spatial_Source_resolved’ are the domain descriptions.Once the codes are resolved, I no longer need the original fields, is there a simply way to remove these automatically?Sure, I can use an AttributeManager and remove them manually, however, it is not very practical or efficient when having more than 50 fields.One way to somewhat ‘cheat’ is to use a BulkAttributeRenamer and remove the suffix ‘_resolved’ to basically ‘overwrite’ the original fields, however, this causes schema issues.Another method I tested was using a PythonCaller and generating a list of all the “unresolved” fields, however, I could not find a way after to bulk remove the attributes from a list.Has an
I am encountering difficulties when using the SharePointOnlineConnector transformer.The flow is as follows: I have an Excel file listing a series of files to download from the BOX service. If the file is not yet downloaded locally, I download it to G:\workspace\tmp. I then modify the relative path by removing the filename: Example:/xxx/xxx/xxx.zip becomes /xxx/xxx I upload the locally downloaded file to the target SharePoint site, using the modified path as the destination. I successfully managed to upload around 700 files out of 3600 because facertains numbers of folders already exist into the sharpeoint site.However, I am now consistently getting errors such as:UPLOAD_ERROR Could not find the folder.It seems that I might need to create the subfolders first.What would be the best way to proceed from now?Thank you in advance for your help!
Hello all, I am working on the generation of SolitaryVegetationObject with a workbench referring to https://hub.safe.com/publishers/con-terra-lab/templates/citygml-create-solitaryvegetationobject-with-implicit-representation. The conversion details could be reference to my last post below. As you could see from the FBX and CityGML file below, some texture went missing in the CityGML model. I have only one PNG as texture and my model has two parts, one is the crown (130 surfaces) and another is the trunk (2700 surfaces). My findings are that the <app:X3DMaterial> part referenced to both parts of the model separately while the <app:ParameterizedTexture> part only referenced to half of crown part of the model (65 surfaces), leading to an incomplete texture. Is there any potential cause to this problem as observed from my workflow and is there any way to fix the issue? Thanks! FBX texture CityGML appearanceWorkflow for FBX to CityGML
Hello all, I am currently working on the conversion of FBX tree model to CityGML SolitaryVegetationObject. I have made reference to the template workflow for creating SolitaryVegetationObject (ref: https://hub.safe.com/publishers/con-terra-lab/templates/citygml-create-solitaryvegetationobject-with-implicit-representation). However, my case is slightly different from the template. First of all, what I current have, is a CSV file containing the tree information (XYZ, DBH, etc) and an FBX file containing one 3D tree model with correct transformation and dimensions (DBH). This FBX file was originally a prototype in FBX format and was transformed into a correct XYZ and DBH. Since not all my data contain crown spread and tree height, they would be estimated by scaling from the prototype with reference to DBH. This estimation would not generate a value for the crown spread and tree height but only a dimension change. What I want to do is to convert this FBX into a CityGML file, appending the
I am using the OGC WFS Reader to try and connect to my site in the TreePlotter App (cloud based app by PlanIT Geo). I have the API Key and other parameters. When I run the Reader, I get these errors (from log file). Does anyone have an idea on what could be causing this? (I followed the instructions from their website: https://support.treeplotter.com/knowledge-base/wfs/) 2025-04-28 16:32:25| 0.8| 0.0|ERROR |<ows:ExceptionReport version="2.0.0=" xmlns:ows="http://www.opengis.net/ows/1.1=" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance=" xmlns:planit="planit:https://pg-cloud.com/planit=" xmlns:wfs="http://www.opengis.net/wfs/2.0=" xmlns:gml="http://www.opengis.net/gml/3.2=" schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsAll.xsd="><Exception exceptionCode="CODE WILL GO HERE=" locator="FeatureInPolygon">="><ExceptionText>https://pg-cloud.com</ExceptionText></Exception></ows:ExceptionReport>2025-04-28 16:32
Context : The reader file has 14 attributes ( No formulas ) and the format is Excel File. For the writer file, I am trying to leverage an existing template file (with 2 sheets - Standard & Limits) and the final output should be written to the Standard sheet of the template file. The template file has 80 attributes in total. The value for some attributes are based on the value from the reader attributes, some attributes are hardcoded in the template itself and the remaining attributes will be populated based on the formulas from the existing sheet i.e Standard and the Limit Sheet. What is the ideal approach to achieve the result ensuring no formulas are overwritten in the template file - standard sheet in the process and that my final writer output has the exact same sheets ?