Skip to main content

Hello,

I am new-ish to FME and primarily used model builder for previous needs which may show in how this model was created.

So I am reading from .sde, changing some field names among other things and outputting the data to both a kmz and to individual shapefiles to a zipped folder. Not all of the feature classes have NFID within their table so I am using this parameter not only for the output file names, but also to select the line with the specified NFID and then buffer to select surrounding features.

I created this to run for one project at a time using a parameter NFID which is basically a project name/number to select the correct data and to name the output folder and kmz file.

I want to expand this further and have it run through ideally a list of NFIDs and ultimately read from a good sheet and run based on those values when project status is updated in the table but that will be the next step once I can get this to reset and run for each NFID entered.

Current Process: input project specific identifier NFID as a user parameter then run the model

 

Once the model runs successfully I am undoing the last action to reset the output names:

 

Any ideas on how this can be run for multiple NFID input without recreating this entire model or having to undo last action after running the model?

I would also love any input on how to run this per NFID based on project status in a google sheet.

Thanks!

Hi @laceymorris, I'm not sure I fully understand the ins and outs of your scenario. But it seem like there are two key requirements:

  1. to take an external list containing NFID's and use it to specify which records to read from the source dataset.
  2. to name the output shapefile zip files with the NFID.

If my understanding is correct here, these following ideas can make things a lot easier in FME:

  • for requirement 1, I recommend looking into FeatureReader. This is a transformer that can be used to read any source data, instead of using readers. One benefit of FeatureReader is it can be initiated by another dataset (in your scenario, the list of NFID). This initiator can be used to set constrain on what to read from the source data. This article might help you understand the usage of FeatureReader a bit better.
  • requirement 2 can be achieved by using the Fanout function. For naming of the shapefiles, you can use Feature Fanout, and for naming of the zip folders, you can use Dataset Fanout. The details about Fanout are documented in this article.

Hope these two concepts will help you simplify the workflow.

Cheers,


Reply