Creating 'blob'/partial circles in ArcPy

655
3
Jump to solution
10-08-2019 11:34 AM
BrendanLeonard
New Contributor II

Hello,

I have a question about how to generate buffers shaped as partials circles with different radii – I am particularly interested in scripting out this method with ArcPy as our current (limited) approach is scripted out, which saves project time.

For context, I am working NOAA hurricane data that has wind radii data values that extend in four directions: NE, SE, SW, and NE. Each value represents how far in each direction certain levels of wind speed extended at different points (every six hours). We create buffers out of those wind radii data to figure out where certain levels of wind speed intersect with different counties of the United States.

Our old ArcGIS analyst created circle buffers by taking the minimum of the four directional values: That is, if at a certain point a hurricane had a certain category of wind speed’s extending 25 miles NE, 50 miles, SE, 75 miles NE, and 70 miles NW she would create a simple circle buffer using the minimum value: a buffer with a radii of 25 miles (ArcPy code for this method and illustration at the end of this post).

Clearly, that method is limited considering hurricanes are not perfect circles and a ‘blob’ forming tool would aid me here.

What I would like to change is illustrated at the end of this post: I would like to create for partial circles with different radii that extend according to the four distances in the NOAA data. What ArcMap tools could I use to create the partial circled with different radii for a single point? I have done some research on my own and the only resource I have noted are multiple ring buffers, which, to my knowledge, cannot be made into partial circles.

Thank you!

Brendan

Sample ArcPy code for current approach:

arcpy.AddField_management("radii34","Buff_34","DOUBLE")

arcpy.CalculateField_management("pts","Buff_34","min_val( !NE50WR!, !SE50WR!, !SW50WR!, !NW50WR!)*1000", expression_type="PYTHON_9.3",

code_block='def min_val(a,b,c,d):\n if a == "-999":\n return 0\n else:\n return(min(a,b,c,d))')

arcpy.Buffer_analysis("pts","Hurricane_Buff34","Buff_34",line_side="FULL", line_end_type="ROUND",dissolve_option="NONE", dissolve_field="",method="PLANAR")

Illustration of challenge/vision:

0 Kudos
1 Solution

Accepted Solutions
BrendanLeonard
New Contributor II

Performing this kind of analysis requires the purchase of a Business Analyst license, which allos you to run a Wind Rose report. See exchange here: arcpy - Quartiling a vector buffer in ArcMap 10.7 - Geographic Information Systems Stack Exchange 

View solution in original post

0 Kudos
3 Replies
BrendanLeonard
New Contributor II

Hi all,

Even a method to separate a circle buffer into four vectors would be helpful. I think from there I could work on manipulating the radii of the separated vectors.

0 Kudos
BrendanLeonard
New Contributor II

I think I may have discovered a solution from another forum (point - Quartiling a vector buffer in QGIS 3.6 - Geographic Information Systems Stack Exchange ). They use the Geometry by expression tool. I will close this thread if that works for me.

0 Kudos
BrendanLeonard
New Contributor II

Performing this kind of analysis requires the purchase of a Business Analyst license, which allos you to run a Wind Rose report. See exchange here: arcpy - Quartiling a vector buffer in ArcMap 10.7 - Geographic Information Systems Stack Exchange 

0 Kudos