Add Shape Attributes High¶
This tool add a number of shape attributes to the input bathymetric high feature class as described in Wirth, M.A. Shape Analysis & Measurement.
The following attributes are calculated to describe the polygon shape of each bathymetric high feature.
head_foot_length: the euclidean distance between two ends of the feature polygon, along the long axis
sinuous_length: the sinuous distance between two ends of the feature polygon, along the long axis
mean_width: the mean width of the feature polygon, calculated from a number of cross-sections perpendicular to the orientation of the feature polygon
Compactness: Describe how compact the feature polygon is. More complex polygon shape has a lower compactness. It is calculated by equation (1), where A is the area of the polygon, P is the perimeter of the polygon
(1)¶\[\frac{4 * \pi * A}{P^2}\]Sinuosity: Describe the sinuosity of the feature polygon. Larger the value more sinuous the feature polygon is. It is calculated by equation (2)
(2)¶\[\frac{sinuous\_length}{head\_foot\_length}\]LengthWidthRatio: Describe the length to width ratio of the feature polygon. Larger the value more elongate the feature polygon is. It is calculated by equation (3)
(3)¶\[\frac{sinuous\_length}{mean\_width}\]Circularity: Describe how close the feature polygon is to a circle. Larger the value closer to a circle the feature polygon is. It is calculated by equation (4), where Pc is the perimeter of the convex hull polygon that bounds the feature polygon.
(4)¶\[\frac{4 * \pi * A}{Pc^2}\]Convexity: Describe the convexity of the feature polygon. More complex polygon has a lower convexity. It is calculated by equation (5)
(5)¶\[\frac{Pc}{P}\]Solidity: Describe the solidity of the feature polygon. More complex polygon has a lower solidity. It is calculated by equation (6)
(6)¶\[\frac{A}{Ac}\]
In addition, a number of intermediate attributes are also calculated:
rectangle_Length: the length of the bounding rectangle (by width) that bounds the feature polygon
rectangle_Width: the width of the bounding rectangle (by width) that bounds the feature polygon
rectangle_Orientation: the orientation of the bounding rectangle (by width) that bounds the feature polygon
convexhull_Area: the area of the convex hull that bounds the feature polygon
convexhull_Perimeter: the perimeter of the convex hull that bounds the feature polygon
1from arcpy import env
2from arcpy.sa import *
3arcpy.CheckOutExtension("Spatial")
4
5# import the python toolbox
6arcpy.ImportToolbox("C:/semi_automation_tools/User_Guide/Tools/AddAttributes.pyt")
7
8env.workspace = 'C:/semi_automation_tools/testSampleCode/Gifford.gdb'
9env.overwriteOutput = True
10
11# specify input and output parameters of the tool
12inFeat = 'test_BH'
13inBathy = 'gifford_bathy'
14tempFolder = 'C:/semi_automation_tools/temp4'
15
16# execute the tool
17arcpy.AddAttributes.Add_Shape_Attributes_High_Tool(inFeat,inBathy,tempFolder)