import arcpy
gdb = <path redacted>
if arcpy.Exists(gdb):
arcpy.Delete_management(gdb)
arcpy.management.CreateFileGDB(<path redacted>, 'DAU_by_Ownership.gdb')
all_wmus = <path redacted>
jurisdiction = <path redacted>
split = <path redacted>
arcpy.analysis.Split(jurisdiction, all_wmus, 'UNIT_NAME', gdb)
arcpy.env.workspace = gdb
WMUs = arcpy.ListFeatureClasses()
def get_acres(features, field):
acres = 0
with arcpy.da.SearchCursor(features, [field]) as cursor:
for row in cursor:
acres = row[0] + acres
return acres
for WMU in WMUs:
# Calculate Area and Put that
print('Getting area for ' + WMU)
arcpy.management.CalculateGeometryAttributes(WMU, [['Acres', 'AREA_GEODESIC']], area_unit='ACRES_US')
wmu_acres = get_acres(WMU, 'ACRES')
print(f'...{wmu_acres} Acres')
arcpy.management.AddField(WMU, 'WMU_Acres', 'LONG')
arcpy.management.AddField(WMU, 'DAU_Acres', 'LONG')
arcpy.management.AddField(WMU, 'WMU_pct', 'FLOAT')
arcpy.management.AddField(WMU, 'DAU_pct', 'FLOAT')
arcpy.management.CalculateField(WMU, 'UNIT_NAME', f'"{WMU}"')
arcpy.management.CalculateField(WMU, 'WMU_Acres', f'{wmu_acres}')
arcpy.management.CalculateField(WMU, 'WMU_pct', f'!Acres! / !WMU_Acres!')