How to expand a polygon to a minimum allowable distance?

Input:

enter image description here

Action, field calculator, python:

!Shape!.convexHull()

Output:

enter image description here

Please note that above is not solution for OP.

Possible workaround:

Inputs:

enter image description here Output and "prove": enter image description here

As one can see definition of "opposite" sites is crucial. It is near obvious in your example though.

I have my own script to create axis, it is untidy and I don't want to share it. Let me know if you are struggling with axis drawing, I'll post raster solution

Raster solution to get axis:

@Aaron Create empty polyline feature class, start editing it, select original polygon, copy/paste it to the line. All this is because of Basic type license, so that you cannot use feature to line tool.

You need this line for 1st step:

arcpy.gp.EucDistance_sa("Converted_Graphics_2", "D:/Scratch/distance", "", "20", "")

This shows hillshade of above distance raster:

enter image description here

arcpy.gp.Slope_sa("distance", "D:/Scratch/slope", "DEGREE", "1")
arcpy.gp.RasterCalculator_sa("""Con("distance" == 0,200,"slope")""", "D:/Scratch/cost")
arcpy.SelectLayerByAttribute_management("Source_Dest", "NEW_SELECTION", "Name" = 'A')
arcpy.gp.CostBackLink_sa("Source_Dest", "cost", "D:/Scratch/blink", "", "")
arcpy.gp.RasterCalculator_sa("""Int(Power(2,"blink"-1))""", "D:/Scratch/flowdir")
arcpy.SelectLayerByAttribute_management("Source_Dest", "NEW_SELECTION","Name" = 'B')
arcpy.gp.CostPath_sa("Source_Dest", "flowdir", "flowdir", "D:/Scratch/path", "EACH_CELL", "FID")
arcpy.gp.StreamToFeature_sa("path", "flowdir", "D:/Scratch/axis.shp", "SIMPLIFY")

Result shows AXIS created at the last step by blue arrows line:

enter image description here


It is unlikely that you will be able to perform this task automatically. You may be able to get close using convex hull. This will create a polygon that encloses the shape like this:Red Line is Convex Hull

This is available with an ArcGIS Basic license level using the field calculator.