Clipping series of buffer zone polygons using series of boundary polygons that have same file name using ModelBuilder of ArcMap

arcgis-desktoparcmapclipiteratormodelbuilder

I have an iteration problem.

I have a series of polygons that represent 1000 m buffers of individual lakes. I would like to clip these buffers using individual polygon boundaries that represent lake watershed areas.

The corresponding buffer polygons and watershed polygons share the same shapefile name. For example:

Buffer Zone:
4013
4014
4015

File Directory example: E:\Test_2\Split_file\Buffer\4013.shp

Watershed:
4013
4014
4015

File Directory example: E:\Test_2\Split_file\Watershed\4013.shp

I would like to do this using ArcMap ModelBuilder using an iteration process. However, I have so far not been able to construct the model so that it automatically clips each buffer zone using the corresponding watershed area.

Bufferzone 4013 should be clipped with watershed 4013, buffer 4014 with watershed 4014 and so on.

So far my Model looks like this:

enter image description here

However, this only clips the 4014 buffer zone and the outputs for the other clips are empty.

Following the suggestion below by @Hornbydd, I have amended my model as follows:

enter image description here

However, it does not seem to run. In this case the %4014%.shp is the watershed that I would like to use to clip the corresponding buffer. For the calculate value expression I have added the following which may be an issue?

r"E:\Test_2\Split_file\watershed%4014%.shp"

Also, not too sure about the Clipper and %Clipper% elements in @Hornbydd's examples below.

Following @Hornbydd's advice I have now go the following model:
enter image description here

The model now runs. However, it only outputs a clipped shapefile for the last of the buffer shapefile series.

Best Answer

This can be done easily in ModelBuilder, with a small bit of inline substitution to build the name of the watershed layer using the Calculate Value tool. The model is:

Model

The Calculate tool expression would be something like:

r"c:\scratch\lakeshed\%Name%.shp"

Data type is set to FeatureClass

The clip tool is set up as:

Clip tool

Lake buffer is a precondition to the calculate value tool as its output is also a precondition to the clip tool to ensure order of execution. In my example output is sent to a file geodatabase.

Related Question