2

I would like to buffer features into an existing FC within a GDB, similar to when buffering during an edit session by using the Buffer command in the Editor menu, not the Buffer geoprocess which creates a new FC.

Is there a way to do this in model builder? I can only find the buffering geoprocess tool that makes a new FC. I did consider using this, then selecting the features in the new FC and appending them into the existing FC but that adds a bunch of steps, however so far that seems like the way to get it done.

Ideally I would have a model where:

  1. the user points to a FC to buffer
  2. chooses the type of record in the FC to buffer
  3. chooses which FC to buffer the features into
  4. the model selects by attribute to focus on those records
  5. creates buffers for the records in the existing FC
  6. updates field values in the existing buffer FC for the new records to record what type of record they are from step 2

Any advice on that?

1

As you have correctly noticed there is no way to run this as a GP tool or as a ModelBuilder process. The Buffer GP tool will create an output feature class with buffered features.

The only way to achieve what you want is to use Python (arcpy). You can access individual features' geometry objects with the arcpy.da.SearchCursor and then use the Geometry buffer method to create buffered features (represented as geometry objects). Afterwards you can insert those features into your feature class by using the arcpy.da.InsertCursor (so you don't need to run the Append tool).

1

If you want to do this in geoprocessing create your buffer (as normal, to a temporary feature class) and then append the results into your feature class.

enter image description here

With geoprocessing you can either completely overwrite an existing feature class or not; the append tool allows you to add to an existing feature class.

You will need to use your own knowledge of your system to create the temp buffer, or with a tool like Calculate Value (to turn a python value into a model variable) use os.environ.get("TEMP") to get your systems' temporary directory and create a shapefile there.

  • Yup, this is how I wound up handling it, though a bit cumbersome to create a new temporary FC, create all the required fields in it to populate, give them values, and then append that to the 'keeper' FC. ...but it works! – user25644 Jun 26 '15 at 19:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.