Creating and organizing workspaces. How to use Workbench.
Recently active
I am trying to create a DBF file. Even after setting Manual attribute definition, all the attribute names are forced to UpperCase instead of Mixed Case which I want. Please let me know if I am missing any parameter settings or if the answer of this issue is know.
Hi, has the dockable help window been removed from 2016.0? Cant seem to find it in the same place as 2015 and previous versions - this was a really handy feature
I want to mimic the process of joining another table to a featureclass and calculate an existing field based on the join table for selected records. Since I have several fields I want to update, I thought FME would be a good option.Does the process below look like the correct approach?Do indexes in the database help? Or is FME handling this in memory?
I'm working with a workbench which is supposed to check if several attribute values ( five attributes) exceeds a limit (each attribute has its own limit). I'm using an sqlexecutor to get the feature and one for getting the limits. If one of the values exceeds the limit I want to write the name of the attribute and value to a string variable. I've tried using a testfilter (5 testqueries) connected to an attributecreator and stringconcatenator, but this doesn't seem to work since I only have one feature on the testfilter input.Does anyone have a good solution for this?
I have a spatial relater transformer that is intersecting two feature classes. When I change the Input is Ordered by Group parameter to "No, the attached tester transformer (which is testing for the intersection) works correctly passes values of yes it does intersect or no it does not intersect. When I change the Input is Ordered by Group parameter to "Yes", the same tester passes all values as does not intersect.Both feature classes are intersected with the same grid feature class and the attribute names are the same, I also have two sorter transformers one for each feature class to ensure they are sorted in the same order.Any help would be appreciated!
I’ve been trying to aggregate some GIS layers with a common attribute and running into all sorts of problems. I’m also new at this! For testing I’ve just been trying to aggregate one line layer (eventually lines and points) and I’m a little confused at my results.It’s merging only some features together, not all. I need them all merged together that have the same attribute, in this example FeederID. As mentioned eventually I will want lines and points together as one layer all grouped by FeederID.This is what I'm doing:This is what I'm getting:Am I doing some sort of rookie mistake here?
Hello all!I am excited that, in FME Desktop 2015, it is possible the control the order in which multiple creators run - and it is also possible to set the order in which readers are initiated. However, can I cross pollinate? I have a workspace (image attached) that contains two separate processes. One process is initiated by a creator, then runs a custom transformer (the ControlTableCaller - also shown in attached image). The other process is initiated by an Oracle Spatial reader. I need to make sure that the Creator-initiated process ALWAYS completes before the reader starts reading.This is a small part of a larger process, so I would like to avoid placing these in separate workspaces if possible. Is there another way to control the order?Thank you!!Courtney
I'm trying to mimic the FeatureWriter available in FME 2016 in FME2015.1 since upgrading is not an option. I'm using a pythoncaller with FMEObjects to try and do this. As a basis I use the sample python scriptBaseLineWriter.py that came with the installation with FME. I start out by creating a unique filename for my GDB, then I a getting the schema from the feature, set the schema on the writer and write to the GDB. import fmeobjects from fmeobjects import FMEUniversalWriter from fmeobjects import FMEUniversalReader import random import os, sys# Get variables and create output name for temp fGDB folder = FME_MacroValues['FME_SHAREDRESOURCE_TEMP'] ext = '.gdb' current_files = os.listdir(folder)# Get a list of current FGDB's fgdbs = [] current_numbers = [] for curfile in current_files: if curfile.endswith(ext): fgdbs.append(curfile) # Extract the numbers from the GDB filenames for fgdb in fgdbs: s = int(filter(str.isdigit, fgdb)) current_numbers.appen
I have installed 32 bit FME Desktop and created a workspace where it transfers a feature class from one file gdb to another . I have made the source dataset path as published parameter . I published the workspace to server and when I run the service I am getting below error Unable to perform any licensing related tasks. This is a 64-bit version of FME which requires a 64-bit version of ArcGIS Server. Or download and install a 32 bit version of FME. Refer to this this article http://fme.ly/qua for more details
So as the title says I have an ID field that goes from 1 to 6 and it repeats for the next set of Attributes, I wanted to use this to create an Aggregate field. to bring each set of attributes under their correct fields.
Hi,I'm new to FME and this should be an easy thing to do. I'm trying to work out the distance of buildings and waterbodies from a structure foundation using the neighbour finder and exporting to Excel. I've been able to work out the distances but I end up with the building distance and waterbody distance on 2 separate rows with 2 identical foundation references as shown below.I want to be able to combine the 2 distances (Building and Waterbody) onto single line with a single foundation reference like below. How can this be done?
I have a polygon layer that I want to use to clip some other map layers and write out the results to a series of GeoPDFs (one for each polygon).I’ve made a workspace that does it for individual polygons. From there I had hoped fanout would work to create individual files, however the Page Object in the PDFPageFormatter scales to the entire extent of the layer, not each individual polygon.Is there a way to pass the individual polygons through one at a time and have them trigger the rest of the workflow as they go? I have attempted variations using WorkspaceRunners or Looping in a custom transformer) but none of these seem to result in anything getting passed to the writer.
Hi,I am trying to use a websocketreceiver to take a feed. It connects and and provides details saying that it require authorization, which it does.Now the question is how? Is it something that should be sent in the preamble, or do I need to use a websocketsender to send it first. I have tried several ways but that maybe the input is wrong.Below is the input without the signature:{"version":1,"user":"interpret.co.nz","product":"com.metservice.blitzen","document":"{\\"bounds\\":[{\\"south\\":-53.0,\\"west\\":154.0,\\"height\\":24.0,\\"width\\":35.0}],\\"timeout\\":1460203200069}","expiryDate":"20160409T120000+0000"}We have it working in java, but we want to do it in FME, as we will be able to streamline the whole process into FME.Any help or ideas appreciated.Cheers,Todd
Hi,I have got a workspace which is reading from a big dataset of spatial data, and then runs a dissolve and aggregate before outputting into a postgis database. This process can take a very long time, and I wanted it to run in batches e.g. take the first 1000 unique objects and run the process on, and then the next 1000 etc...any ideas please?I have tried looking at some batch processing documentation but not sure this would help.thanks
HiI have a polygon shp file with attribute called DATE and value of 1/1/200. This polygon is read in a controller workbench. I also have a worker workbench which I call with FME server job submitter in the controller.What I want to do is pass this date value to the worker workbench, so I can use it in it.How can I do this? Can I create a parameter holding the value and pass this on?
So we have an issue where the ID is being used also as the Object ID. This of course is a big problem because any database or GIS software will overwrite the ID. So to get around this I want to create an attribute in FME and then fill that with the Object ID values to preserve that number. I can create new attributes with the attribute creator but I can't find any examples or forum topics on how to call out an attribute value to fill it with. I've only seen constants or using this empty column later.
Hi, We are currently evaluating FME Desktop in the hopes that we replace MapTiler with FME and write tiles in the same folder and naming structure that is used by MapTiler. We are attempting to use the WebMapTiler transformer and the raster PNG writer to write a folder and file structure that is compatible with TMS which is used by our tile server. The folder structure needs to be in the format of ../ZoomLevel/X/Y with Y being the actual file name. I've been able to use the dataset fanout to get the files into folders that match the zoom level but can't figure out how to get a second fanout to the X folder. Also, it looks like the file names may not be setup the way we need. Has anyone done this before? Thanks, Mark
How do I send a Slack notification if my workspace fails? Easy to do if features are written, bot not sure how if no features make it through the feature writer.
Example:I've got a list: "_list" with as attributes _list{}.ratio. _list{0}.ratio = 0.10_list{1}.ratio = 0.25_list{2}.ratio = 0.30And I want to add a list attribute: _list{}.ratiosum with as result:_list{0}.ratiosum = 0.10_list{1}.ratiosum = 0.35_list{1}.ratiosum = 0.65In Python I would do it like this: sumlist = [] s = 0 for i in range(len(ratio)): s = s + ratio[i] sumlist.append(s) But how is the relation between the python and the list in FME? This doesn't work:def processFeature(feature): s = 0 for i in range(len(feature.getAttribute{'_list{}')); s = s + ratio[i] feature.setAttribute('_list{%d}.ratiosum' % i, s) This gives an syntax error; it is not possible to get the length of the list with the len() function?
@david_r @takashi @erik_jan
Dear FME community,I have an attribute from an WFS which has values of more than 200 chars. I want to trim down the length of that attribute because my database only allows for a specific length. Is there a way to "cut" the attribute after a specific length so that it doesen't exeed for example 200 chars. The values after that can be ignored (only the first 200 signs should be taken).Many thanks for your help and kind regardsThomas
Hello,I've got a workspace. When i open this workspace i get a fault. So, I can't read the whole workbench. I am missing a few transformers. Is t possible to view this workbench in a way to see how it's bild?
Hello,I have a shapefile with approximately 200 tiles that contains an attribute value for each (e.g. 52A, 52B...). I am trying to output the data where each individual tile or attribute is applied with a SpatialFilter (contains and touches). The only way I know going about it is by using a Tester and changing the values manually each time I run the workspace. I know a loop can be applied to the workspace but I couldn't find any guidance or documentation on dealing with this. Thank you,
Hi, I would like to create a new custom FME function similar to current "UUID()" function. I have successfully built and tested the "CenterOfMass" C++ sample of the SDK "pluginbuilder" folder.But I have a few questions:The function only works when it is copied in the "plugins" folder. It does not run when it is copied in a "Shared FME transformer" folder. Can I configure it? It is an issue when we have not write-privileges in this folder.The new function is not recognized in the "Attribute Editor Form" as a valid function (Other functions provided by FME have blue color). Can I configure it? Also, I would like to define its syntax and parameters. Is it possible?Possibly related with last question, To successfully run the function I must write "@Evaluate(@MyUUID(...))", it does not run with only "@MyUUID()". What is wrong?Thanks in advance!Alvaro
I'm trying to store the sysdate to an oracle database table; i have already acquired the system date by Timestamper with format "FME Date/Time (^Y^m^d^H^M^S)" and setting my attribute. I get an error when the process is trying to wrtite this attribute to the oracle table. Do I need to use some transformer or oracle string conversion function ? (like to_date('@mysysdate', 'YYYYMMDD')thanks in advance