Layer definition query and symbology not updating using arcpy - what am I missing?
import arcpy, os
arcpy.env.overwriteOutput = True
grab = arcpy.GetParameterAsText(0)
prep_list = grab.split(";")
mxd_c = arcpy.mapping.MapDocument(r"T:\GIS\Projects\GIS\Online\MapDocuments\FeederMapCover.mxd")
lyrs_c = arcpy.mapping.ListLayers(mxd_c)
feederList = ["HB2", "HB3"]
print "got feeder list"
arcpy.AddMessage("...starting map book...")
for feeder in feederList:
arcpy.env.overwriteOutput = True
for lyr in arcpy.mapping.ListLayers(mxd_c):
if lyr.name == "Overhead":
lyr.definitionQuery = "esUplineFeeder = '" + feeder + "'"
if lyr.name == "Primary Underground Conductor":
lyr.definitionQuery = "esUplineFeeder = '" + feeder + "'"
print "Definition Queries Set" + feeder
# Find Overview Data Frame and Zoom to the Map Index
df = arcpy.mapping.ListDataFrames(mxd_c, "Layers")[0]
zoomLayer = arcpy.mapping.ListLayers(mxd_c, "Overhead", df)[0]
df.extent = zoomLayer.getSelectedExtent(False)
df.scale = df.scale * 1.5
print "Zoomed Successfully"
# Make and Add the FeederMapIndexLAYER feature layer to the map and refresh the view
arcpy.env.workspace = r"T:\GIS\Projects\GIS\Online\SpatialData\FeederMaps.gdb"
FeederMap = "T:\GIS\Projects\GIS\Online\SpatialData\FeederMaps.gdb\FeederMapIndex"
arcpy.MakeFeatureLayer_management(FeederMap, "FeederMapIndexLAYER")
print "Feature Layer Created"
addLayer = arcpy.mapping.Layer('FeederMapIndexLAYER')
print "Feature Layer Added to Map"
arcpy.mapping.AddLayer(df, addLayer)
arcpy.RefreshTOC()
arcpy.RefreshActiveView()
# Field Calculator InMap = 0
arcpy.CalculateField_management("FeederMapIndexLAYER", "InMap", expression= 0 )
print "Index Field Calculator Worked"
# Select FeederMapIndexLayer polygons that intersect Overhead Lines and Calculate FeederMapIndex = 1
Selection = arcpy.SelectLayerByLocation_management('FeederMapIndexLAYER', 'INTERSECT', 'Overhead')
print "Index Selection Completed"
arcpy.CalculateField_management("FeederMapIndexLAYER", "InMap", expression= 1 )
print "Index Field Calculator Worked"
#Set FeederMapIndex Layer Definition Query and Refresh Map
for lyr in arcpy.mapping.ListLayers(mxd_c):
if lyr.name == "FeederMapIndexLAYER":
lyr.definitionQuery = "InMap = 1"
arcpy.RefreshTOC()
arcpy.RefreshActiveView()
print "Index Definition Query Worked"
#Export the Map to a PDF
arcpy.ApplySymbologyFromLayer_management('FeederMapIndexLAYER', 'C:/Users/azumwalt.UECOOP/Desktop/FeederMapIndex.lyr')
arcpy.RefreshTOC()
arcpy.RefreshActiveView()
outputPath = r"Z:\FeederMaps\PDFs\Map" + feeder + "Cover.pdf"
arcpy.mapping.ExportToPDF(mxd_c, outputPath)
print"Map Book Printed" + feeder
print "complete"