Generate Buffers Until it intersects a specific layer

1916
5
Jump to solution
10-12-2016 06:11 AM
RobertBorchert
Frequent Contributor III

What I want to do is to be able to place a point feature.  The point feature has a known elevation on top of a pole derived from LIDAR data.  I also have contours derived from LIDAR.  I want to create a buffer around that point to an extent of 2 miles.  However where it intersects a contour that is equal in elevation or greater than the point the buffer will stop and adjust to the outline of the specific contour.  This is a project to help determine where to put line of site routers for a cooperative.

I have all extensions available to me.  

The end result would be similar to the image below. the Orange Dot is the point, the yellow polygon is the buffer and the black lines are contours.  If the buffer was all the way out to 2 miles it would be the full circle but I want it to stop at the designated contour line.

0 Kudos
1 Solution

Accepted Solutions
DuncanHornby
MVP Notable Contributor

The following model will achieve what you want. It does require you to have an Advanced license level.

Model

You need to first create your 2 mile buffers. The model then iterates over these doing the select, intersection and recombining of lines back into polygon features.The final stage that this model does not do is delete out the smaller polygon but that is a simple query or you use use a sort and delete first row approach.

View solution in original post

5 Replies
DanPatterson_Retired
MVP Emeritus

there is no buffer until it hits something tool.  You have to split the buffer with the polyline after it is created.

0 Kudos
RobertBorchert
Frequent Contributor III

Pretty sure there is something in 3D analyst. I just don't have the experience to know what it is.  I have seen it used to fill in lakes to a given height to see where flow goes. etc...

0 Kudos
DanPatterson_Retired
MVP Emeritus

if you can work with rasters, then that would be a different issue. If you just have the contour lines, you can perform a TopoToRaster to get filled contours zones, then do a 2 mile euclidean distance around your point.  The location where the cells < your threshold contour and the raster 'buffer' will be your locations of interest.

0 Kudos
DuncanHornby
MVP Notable Contributor

The following model will achieve what you want. It does require you to have an Advanced license level.

Model

You need to first create your 2 mile buffers. The model then iterates over these doing the select, intersection and recombining of lines back into polygon features.The final stage that this model does not do is delete out the smaller polygon but that is a simple query or you use use a sort and delete first row approach.

RobertBorchert
Frequent Contributor III

Thanks thats a great suggestion.  I always appreciate people who can manipulate the given tools in ways they were not designed rather than a blank yes or no answer.

I took your suggestion a step further.  I used a definition query to specify in the contour layer to be that elevation or less before running Intersect (Analysis) on it and it resulted in an irregular polygon.  Exported the model to a python script and added it as a tool.  it would read the nearest contour line to the point I placed and then add the height of the pole to get the source elevation.  example 984 Feet elevation plus 20 foot pole.  Selecting all contour lines less than or equal to 1004 feet..  Looks like this

Then run the Intersect  and I get this.

I am just going to go ahead and create polygons out of the contours so I can represent it with a filled in polygon for the end user.

Thanks for thinking out of the box.