Using Append in Model Builder

6246
6
Jump to solution
07-12-2016 08:01 AM
JoeBorgione
MVP Emeritus

I have a model that uses the Multivalue iterator to delete features in two different feature classes;  one is a point feature class while the other is polyline feature class.  Each has their own unique attribute table.  This part works just as planned, but I would now like to feed each feature class into the Append tool to repopulate them.  This is where it gets a little weird for me;  how do I tell the append tool which feature class is coming into it so I can map the proper attributes from the source data to appropriate empty feature class?

That should just about do it....
0 Kudos
1 Solution

Accepted Solutions
JoeBorgione
MVP Emeritus

Worked up a much more simple model under the guidance of of ESRI Tech Support. (Thanks Ying!!!)

DeleteAppend.JPG

I have two feature classes CommonNames(Points) and StreetCenterline_RG(Lines).  The only thing they have in common are the fact that they are in the same fgdb, so using the iterator originally is more overhead than needed; Modelbuilder will run whichever string it wants to first. Notice I use parameters; this allows me to use the model and point to what ever target and source feature classes.

First use the feature class of choice as the input to the delete features tool

Once the the features have been deleted, use the resulting empty feature class as the TARGET of the append tool.

Add the SourceData feature class of choice as the input/source to the append tool.  Since the source and target attribute tables are different, I use the NO TEST option, and map it once.

The output of the append tool is the updated feature class.

I will add two more strings of the same functionality to this model, but use the Delete Rows on two tables in the same fashion: each of the feature classes have a alternate names table that gets updated as well.  The features and the tables are used together in geocoding locators in a composite that is published.  The published composite is use to gee-locate 9-1-1 caller addresses...

That should just about do it....

View solution in original post

6 Replies
WesMiller
Regular Contributor III
ChrisDonohue__GISP
MVP Alum

I'm not sure if I fully understand what you want correctly, but couldn't you drag and drop the feature classes you want to append to into the model as inputs to Append, then in the inputs part expose them as Parameters (so you can choose other ones if need be).

Or is there a correlation between what you are Appending to and what is already in the model that I am missing?

Chris Donohue, GISP

0 Kudos
JoeBorgione
MVP Emeritus

I'm taking a look at branching as Wes suggests.  Not sure how to better explain the model Chris: for each of the feature classes I've essentially emptied out, I need to append data from individual source feature classes to each respective 'empty' feature class.  I'll take a look at using a model parameter for that.  If you haven't guessed, I'm somewhat model-builder  challenged....

Wes Miller

Chris Donohue, GISP

That should just about do it....
0 Kudos
ChrisDonohue__GISP
MVP Alum

Joe:

5-4-3-2-1.... any second now the comment will come in that you should really be using Python for this 

Chris Donohue, GISP

(Modelbuilder fan/occasional Python hacker(but really a novice))

0 Kudos
ChrisDonohue__GISP
MVP Alum

Another possibility - a longshot, but I'll throw it out there.  Is the issue incomplete derived data?  In other words, Modelbuilder is set up to work on data, but the intermediate outputs of the processing are not always predictable, which leads to issues in assigning specifics in later Modelbuilder processes, as they are not always known.  Check out this help article is that is potentially the case.

ArcGIS Help (10.2, 10.2.1, and 10.2.2)

Chris Donohue, GISP

JoeBorgione
MVP Emeritus

Worked up a much more simple model under the guidance of of ESRI Tech Support. (Thanks Ying!!!)

DeleteAppend.JPG

I have two feature classes CommonNames(Points) and StreetCenterline_RG(Lines).  The only thing they have in common are the fact that they are in the same fgdb, so using the iterator originally is more overhead than needed; Modelbuilder will run whichever string it wants to first. Notice I use parameters; this allows me to use the model and point to what ever target and source feature classes.

First use the feature class of choice as the input to the delete features tool

Once the the features have been deleted, use the resulting empty feature class as the TARGET of the append tool.

Add the SourceData feature class of choice as the input/source to the append tool.  Since the source and target attribute tables are different, I use the NO TEST option, and map it once.

The output of the append tool is the updated feature class.

I will add two more strings of the same functionality to this model, but use the Delete Rows on two tables in the same fashion: each of the feature classes have a alternate names table that gets updated as well.  The features and the tables are used together in geocoding locators in a composite that is published.  The published composite is use to gee-locate 9-1-1 caller addresses...

That should just about do it....