buffering adjacent polygons

6231
14
02-10-2014 08:09 AM
yanma
by
New Contributor
Hi, I am trying to buffer a shapefile feature comprised of many ploygons that represent different segments of water. What is the best way in ArcGIS to leave polygon interfaces un-buffered? Any input is appreciated.
0 Kudos
14 Replies
yanma
by
New Contributor


The second issue shown that I did not resolve involved an Island of Ventura County where the Centroid of the Island Buffer did not fall within the actual Island polygon.  This made it not take on the island's data when I ran the Spatial Join with that join criteria.  A special process would have to be added to handle this special situation, but I think with a select by Attribute and a secondary process it could be resolved.



hi Richard

I just saw this and am yet to digest your first illustration. But some quick thought on the second ventura island problem. Now that you have the buffer and the island, have you tried other Match_Option in Spatial Join?(I actually do not know how the centroid comes into play. What if you select Completely_Contain? ) Or even use Identity tool to impress the attribute onto the buffer?

It would be great if you could explain the first problem in an easier language. non-native speaker here. Sorry.

Thanks
my
0 Kudos
RichardFairhurst
MVP Honored Contributor
hi Richard

I just saw this and am yet to digest your first illustration. But some quick thought on the second ventura island problem. Now that you have the buffer and the island, have you tried other Match_Option in Spatial Join?(I actually do not know how the centroid comes into play. What if you select Completely_Contain? ) Or even use Identity tool to impress the attribute onto the buffer?

It would be great if you could explain the first problem in an easier language. non-native speaker here. Sorry.

Thanks
my


The Spatial Join in my model only used the Contains Centroid match criteria, which is the fastest and produced the best results of the 3 options I tried.   Intersect with a negative buffer and Closest both produced bad results by assigning incorrect polygon attributes to the buffer, which was unacceptable.  Contains Centriod assigned the correct attributes and only missed the one unusual Island, which was acceptable since it can be followed up with another Spatial Join for just the special cases.  I did not feel it necessary to actually do this additional Spatial Join to release the model, but it would be added to my model if I refined it.  You would have to add these steps if you encounter the problem of no attributes being assigned using the script I provided.

For the first issue just accept that there was a problem when an interior boundary would extend parallel to the buffer boundary rather than perpendicular to the buffer boundary.  My solution, contained in the script, is to create a secondary buffer just for the interior boundary lines to contain this problem to a reasonable result.  If I showed the result without this correction the boundary of Yuma County would have been extended as a long narrow strip along the Imperial County frontage until it hit the San Diego County line, which is not at all what I wanted.  Follow the script and get it to work as written.  After that if you want to better understand the problem I had to deal with you can experiment by removing certain steps which should reveal why I added them.

Anyway, I am happy with the result of my model and other than adding a few more steps to deal with the one failed attribute transfer, I probably would just get the model result and make minor manual corrections rather than try to perfect it through a model.  For example, there are some places where snapping the interior lines to the buffer boundary would have been better than extending the interior boundary line.  However, it is extremely hard to design a model that can determine which way is better to use at each location and I could visually locate and manually correct these issues far easier than I could write a model to do that for me.
0 Kudos
yanma
by
New Contributor
The Spatial Join in my model only used the Contains Centroid match criteria, which is the fastest and produced the best results of the 3 options I tried.   Intersect with a negative buffer and Closest both produced bad results by assigning incorrect polygon attributes to the buffer, which was unacceptable.  Contains Centriod assigned the correct attributes and only missed the one unusual Island, which was acceptable since it can be followed up with another Spatial Join for just the special cases.  I did not feel it necessary to actually do this additional Spatial Join to release the model, but it would be added to my model if I refined it.  You would have to add these steps if you encounter the problem of no attributes being assigned using the script I provided.

For the first issue just accept that there was a problem when an interior boundary would extend parallel to the buffer boundary rather than perpendicular to the buffer boundary.  My solution, contained in the script, is to create a secondary buffer just for the interior boundary lines to contain this problem to a reasonable result.  If I showed the result without this correction the boundary of Yuma County would have been extended as a long narrow strip along the Imperial County frontage until it hit the San Diego County line, which is not at all what I wanted.  Follow the script and get it to work as written.  After that if you want to better understand the problem I had to deal with you can experiment by removing certain steps which should reveal why I added them.

Anyway, I am happy with the result of my model and other than adding a few more steps to deal with the one failed attribute transfer, I probably would just get the model result and make minor manual corrections rather than try to perfect it through a model.  For example, there are some places where snapping the interior lines to the buffer boundary would have been better than extending the interior boundary line.  However, it is extremely hard to design a model that can determine which way is better to use at each location and I could visually locate and manually correct these issues far easier than I could write a model to do that for me.


Hi Richard

I finally got chance to carefully look at your python code. And I am trying to reproduce the model based on it. While I keep trying, is it possible for you to upload a snapshot of the model structure in model builder?

Appreciate it.

my
0 Kudos
RichardFairhurst
MVP Honored Contributor
Hi Richard

I finally got chance to carefully look at your python code. And I am trying to reproduce the model based on it. While I keep trying, is it possible for you to upload a snapshot of the model structure in model builder?

Appreciate it.

my


Attached are 4 screen shots of the Model builder model structure that was exported to the script.  The first or last connected tool or output on each picture overlaps with the last tool/output of the picture that precedes it or the first tool/output of the picture that follows it.  Look at the script to see each tool's settings.  If you are uncertain about the tool settings and would like a screen shot of the input dialog for any of the tools I used, provide me with the number of the attached picture it appears on and the tool name.  I will post a screen shot of each requested tool dialog in response.
0 Kudos
yanma
by
New Contributor
Attached are 4 screen shots of the Model builder model structure that was exported to the script.  The first or last connected tool or output on each picture overlaps with the last tool/output of the picture that precedes it or the first tool/output of the picture that follows it.  Look at the script to see each tool's settings.  If you are uncertain about the tool settings and would like a screen shot of the input dialog for any of the tools I used, provide me with the number of the attached picture it appears on and the tool name.  I will post a screen shot of each requested tool dialog in response.



Thanks so much.

my
0 Kudos