import arcpy # Získání aktivní mapy a vrstvy aprx = arcpy.mp.ArcGISProject("CURRENT") map_view = aprx.activeMap layer = map_view.listLayers()[0] # První vrstva v mapě (aktivní) # Nový sloupec pro třídy new_field = 'CLASS' # Přidání nového pole, pokud neexistuje fields = [f.name for f in arcpy.ListFields(layer)] if new_field not in fields: arcpy.AddField_management(layer, new_field, "SHORT") print(f"Přidán nový sloupec {new_field}.") # Získání informací o symbologii vrstvy symbology = layer.symbology # Zajištění, že jde o klasifikaci na základě stupňovaných barev if symbology.renderer.type == "GraduatedColorsRenderer": class_breaks = symbology.renderer.classBreaks # Aktualizace tabulky podle tříd with arcpy.da.UpdateCursor(layer, [symbology.renderer.classificationField, new_field]) as cursor: for row in cursor: value = row[0] # Určení správné třídy for i, class_break in enumerate(class_breaks): if class_break.lowerBound <= value <= class_break.upperBound: row[1] = i # Hodnota třídy cursor.updateRow(row) break print("Tabulka úspěšně aktualizována.") else: print("Vrstva nemá správný typ symbologie.")