import arcpy
# Define the project and map
project = arcpy.mp.ArcGISProject("CURRENT")
map = project.listMaps("YourMapName")[0]
# Define the layer
layer = map.listLayers("YourLayerName")[0]
# Create a new unique value renderer
symbology = layer.symbology
symbology.updateRenderer('UniqueValueRenderer')
symbology.renderer.fields = ['ImagePath']
# Clear any existing classes
unique_value_renderer = symbology.renderer
unique_value_renderer.removeAllValues()
# Add a class for each unique value in the ImagePath field
unique_values = set()
with arcpy.da.SearchCursor(layer, ['ImagePath']) as cursor:
for row in cursor:
unique_values.add(row[0])
for value in unique_values:
if value:
unique_value_renderer.addValue(value, value, value)
symbol = unique_value_renderer.getSymbol(value)
picture_marker = arcpy.mp.PictureMarkerSymbol()
picture_marker.url = value
symbol.updateSymbol(picture_marker)
# Apply the symbology to the layer
layer.symbology = symbology
# Refresh the active view
arcpy.mp.ArcGISProject("CURRENT").activeView.refresh()