[GIS] How to create buffer on one side of a stream in ArcGIS

arcgis-desktopbuffer

I need to create a buffer around waterfront park sites. But I only want "half" of the buffer — the "half" that coincides with the side of the water body where to park is.

In addition, the buffer of one park may overlap another due to their proximity. I would like to have just one "half" buffer for each park.

I tried to buffer the parks, union them with waterbody, erase waterbody, select by location the buffer using the parks. But since the buffers overlap, they create multipart features and only one or two parts of the buffer are selected.

Below is example of what I am talking about.

For the park (green) on the left I would like a half buffer to the north (assuming north is up) and no buffer south of the waterbody.

For the parks on the right (one big and one small) I would like two separate buffers that are each single part features.

ps these are both polygon vector files and I have an advanced license

enter image description here

EDIT:
@ChrisW s method:
enter image description here

Best Answer

  1. Buffer the parks the desired distance with Dissolve type set to NONE. You should have individual buffers for each park.
  2. Erase the waterbody layer from the buffers. Erase requires an Advanced license, but you've already mentioned using it.
  3. Explode or Multiparts to singleparts the remaining buffers. This splits any multipart features where a buffer was so large it went all the way across and beyond the river.
  4. Select by location all buffers that do not intersect a park and delete them. These are those across the river pieces. Some of them won't get selected in cases like that tiny park on the north side east end of your image.
  5. Open the buffer attribute table and examine the buffer/feature ID (the attribute that gives the ID for the feature it was created from). Either by sorting the table on that field, or using a summarize with a count on it (or Summary Statistics if you want a separate table to look at) determine which of the original buffers still have more than one piece. You'll know because there will be two rows/records with the same ID. Hopefully there aren't too many of them, and you can visit each and delete the appropriate one. If there are a lot or for a more automated approach you'd be looking to select all buffers where they intersect a park and the ID doesn't match.
Related Question