I have a single polygon feature class that contains large polygons which represent signal strength. Often times these polygons overlap. I dissolve to get multi-part polygons with a value range of 3 to 8.
What I need to do is "stomp" the feature class to only keep the highest value in a given area. I've tried looping the polygon and creating a temp feature class of each value, then erase/merging from the highest value down, but I get an error if there is a multipart polygon. I wrote in code to explode the multipart feature, but it locks up the pc.
I think the arcpy.update_analysis tool will work, but I need to be sure that it loops from the highest value to the lowest.
Here's the code from my first attempt:
with arcpy.da.SearchCursor("temp_terr_wireless_mau","MAU") as cursor:
for row in cursor:
wrt("MAU Value = " + "{0}".format(row[0]))
wireMAU = ("{0}".format(row[0]))
arcpy.Select_analysis("temp_terr_wireless_mau", "temp_mau_" + wireMAU, '"MAU" = ' +wireMAU)
if arcpy.Exists("temp_mau_8"):
arcpy.Erase_analysis("temp_terr_wireless_mau","temp_mau_8","temp_mau_e")
arcpy.Merge_management(["temp_mau_e", "temp_mau_8"],"temp_terr_wireless_mau")
if arcpy.Exists("temp_mau_7"):
arcpy.Erase_analysis("temp_terr_wireless_mau","temp_mau_7","temp_mau_d")
arcpy.Merge_management(["temp_mau_d", "temp_mau_7"],"temp_terr_wireless_mau")
if arcpy.Exists("temp_mau_6"):
arcpy.Erase_analysis("temp_terr_wireless_mau","temp_mau_6","temp_mau_c")
arcpy.Merge_management(["temp_mau_c", "temp_mau_6"],"temp_terr_wireless_mau")
if arcpy.Exists("temp_mau_5"):
arcpy.Erase_analysis("temp_terr_wireless_mau","temp_mau_5","temp_mau_b")
arcpy.Merge_management(["temp_mau_b", "temp_mau_5"],"temp_terr_wireless_mau")
if arcpy.Exists("temp_mau_4"):
arcpy.Erase_analysis("temp_terr_wireless_mau","temp_mau_4","temp_mau_a")
arcpy.Merge_management(["temp_mau_a", "temp_mau_4"],"temp_terr_wireless_mau")