## Import standard modules import sys, os ## Set the necessary product code import arcinfo ## Import arcpy module and environment module import arcpy import arcpy.mapping from arcpy import env ## Set the output workspace arcpy.env.workspace = r"G:\AGIS\2011\Special_Projects\Dist_1\Dieldrin_Well_Sampling\DieldrinParcelData.gdb\ParcelData" ## Overwrite pre-existing files arcpy.env.overwriteOutput = True ## Sets the MXD file IMXD = arcpy.mapping.MapDocument("CURRENT") ## Sets the Dataframe DF = arcpy.mapping.ListDataFrames(IMXD, "Layers")[0] Date = arcpy.GetParameterAsText(0) NewSampleData = arcpy.GetParameterAsText(1) PastSample = arcpy.GetParameterAsText(2) NameStart = NewSampleData.rfind("\\") + 1 AddNewLayer = str(NewSampleData[NameStart:]) arcpy.MakeFeatureLayer_management(NewSampleData, AddNewLayer) arcpy.SetParameterAsText(3,AddNewLayer) arcpy.RefreshTOC() Selection = "\"SAMPLE\" <> '' AND \"SAMPLE\" <> ' ' AND \"SAMPLE\" <> 'C' " arcpy.SelectLayerByAttribute_management(AddNewLayer, "NEW_SELECTION", Selection) SelectedSamples = arcpy.MakeFeatureLayer_management(AddNewLayer, "SelectedSamples") arcpy.SetParameterAsText(4, SelectedSamples) arcpy.RefreshTOC() arcpy.SelectLayerByLocation_management("Volusia_Parcels", "INTERSECT", "SelectedSamples") SelectedParcels = arcpy.MakeFeatureLayer_management("Volusia_Parcels", "SelectedParcels") arcpy.SetParameterAsText(5, SelectedParcels) arcpy.RefreshTOC() OutParcels = r"Parcels_%s"%(Date) arcpy.SpatialJoin_analysis("SelectedParcels", "SelectedSamples", OutParcels, "JOIN_ONE_TO_ONE", "KEEP_ALL") NewParcels = arcpy.MakeFeatureLayer_management(OutParcels, "NewParcelLayer") arcpy.SetParameterAsText(6, NewParcels) JoinLayer = arcpy.mapping.ListLayers(IMXD, PastSample,DF)[0] arcpy.AddJoin_management(NewParcels, "ALTKEY", JoinLayer, "ALTKEY", "KEEP_ALL") ChangeSelection = r"%s.SAMPLE <> %s.SAMPLE"%(OutParcels, PastSample) arcpy.SelectLayerByAttribute_management(NewParcels, "NEW_SELECTION", ChangeSelection) arcpy.RemoveJoin_management(NewParcels, PastSample) OutSample = r"Parcels_Changed_%s"%(Date) arcpy.CopyFeatures_management(NewParcels, OutSample) NewChanges = arcpy.MakeFeatureLayer_management(OutSample, "NewParcelChanges") arcpy.SetParameterAsText(7, NewChanges) ########## These changes do not take effect ###################### arcpy.AddMessage("Removing Layers") for ILayer in arcpy.mapping.ListLayers(IMXD): if ILayer.name == "SelectedSamples": arcpy.mapping.RemoveLayer(DF, ILayer) if ILayer.name == "SelectedParcels": arcpy.mapping.RemoveLayer(DF, ILayer) arcpy.AddMessage("Setting Varibles") PLayer = r"Parcels_%s"%(Date) CLayer = r"Parcels_Changed_%s"%(Date) arcpy.AddMessage("Renaming Layers") for ILayer in arcpy.mapping.ListLayers(IMXD): if ILayer.name == "NewParcelLayer": ILayer.name = PLayer elif ILayer.name == "NewParcelChanges": ILayer.name = CLayer arcpy.RefreshTOC() IMXD.save() arcpy.AddMessage("Setting Layer Symbology") try: SymbolLayer1 = arcpy.mapping.Layer(r"G:\AGIS\2011\Special_Projects\Dist_1\Dieldrin_Well_Sampling\DieldrinWellSamples.lyr") NewLayer1 = arcpy.mapping.ListLayers(IMXD, PLayer,DF)[0] arcpy.mapping.UpdateLayer(DF, NewLayer1, SymbolLayer1) SymbolLayer2 = arcpy.mapping.Layer(r"G:\AGIS\2011\Special_Projects\Dist_1\Dieldrin_Well_Sampling\Parcels_Changed.lyr") NewLayer2 = arcpy.mapping.ListLayers(IMXD, CLayer,DF)[0] arcpy.mapping.UpdateLayer(DF, NewLayer2, SymbolLayer2) except: arcpy.GetMessages() ############### All STOP ######################### ## Refresh map arcpy.RefreshTOC() arcpy.RefreshActiveView IMXD.save()
## Import standard modules import sys, os ## Set the necessary product code import arcinfo ## Import arcpy module and environment module import arcpy import arcpy.mapping from arcpy import env ## Set the output workspace arcpy.env.workspace = r"G:\AGIS\2011\Special_Projects\Dist_1\Dieldrin_Well_Sampling\DieldrinParcelData.gdb\ParcelData" ## Overwrite pre-existing files arcpy.env.overwriteOutput = True ## Sets the MXD file IMXD = arcpy.mapping.MapDocument("CURRENT") ## Sets the Dataframe DF = arcpy.mapping.ListDataFrames(IMXD, "Layers")[0] Date = arcpy.GetParameterAsText(0) arcpy.AddMessage("Removing Layers") for ILayer in arcpy.mapping.ListLayers(IMXD): if ILayer.name == "SelectedSamples": arcpy.mapping.RemoveLayer(DF, ILayer) if ILayer.name == "SelectedParcels": arcpy.mapping.RemoveLayer(DF, ILayer) arcpy.AddMessage("Setting Varibles") PLayer = r"Parcels_%s"%(Date) CLayer = r"Parcels_Changed_%s"%(Date) arcpy.AddMessage("Renaming Layers") for ILayer in arcpy.mapping.ListLayers(IMXD): if ILayer.name == "NewParcelLayer": ILayer.name = PLayer elif ILayer.name == "NewParcelChanges": ILayer.name = CLayer arcpy.RefreshTOC() arcpy.AddMessage("Setting Layer Symbology") SymbolLayer1 = arcpy.mapping.Layer(r"G:\AGIS\2011\Special_Projects\Dist_1\Dieldrin_Well_Sampling\DieldrinWellSamples.lyr") NewLayer1 = arcpy.mapping.ListLayers(IMXD, PLayer,DF)[0] arcpy.mapping.UpdateLayer(DF, NewLayer1, SymbolLayer1) SymbolLayer2 = arcpy.mapping.Layer(r"G:\AGIS\2011\Special_Projects\Dist_1\Dieldrin_Well_Sampling\Parcels_Changed.lyr") NewLayer2 = arcpy.mapping.ListLayers(IMXD, CLayer,DF)[0] arcpy.mapping.UpdateLayer(DF, NewLayer2, SymbolLayer2) ## Refresh map arcpy.RefreshTOC() arcpy.RefreshActiveView IMXD.save()
Did you every resolve this? We are having a similar issue. Runs fine as separate scripts, but not as one.