laptop and a wrench

Bug

The ArcPy map layer list in ArcGIS Pro is not updated when a layer is returned as an output parameter of a script.

Last Published: August 15, 2017 ArcGIS Pro
Bug ID Number BUG-000105415
SubmittedMay 26, 2017
Last ModifiedJune 5, 2024
Applies toArcGIS Pro
Version found1.4
Operating SystemWindows OS
Operating System Version7
StatusKnown Limit

Additional Information

for lyr in m.listLayers (): #get layer object if lyr.name == inLyr: arcpy.AddMessage ("found lyr in map") inLyrPath = os.path.dirname (lyr.dataSource) outLyr = os.path.join (inLyrPath, outLyrName) arcpy.AddMessage ("full path to outLyr: " + outLyr) arcpy.CopyFeatures_management (inLyr, outLyr) arcpy.AddMessage ("after CopyFeatures") arcpy.SetParameterAsText (2, outLyr) #push layer out to map arcpy.AddMessage ("after SetParameterAsText") break; p = arcpy.mp.ArcGISProject ("CURRENT") #get current project m = p.listMaps () [0] #get first map in project m.addDataFromPath(outLyr) for lyr in m.listLayers (): arcpy.AddMessage ("lyr.name: " + lyr.name)

Workaround

Perform any task requiring access to the new layer before exiting the loop where the layer object is current. For instance, use the MakeFeatureLayer to create a layer object and return that object to the map instead of returning the new layer 'as text.' That way the layer object can be updated, such as by applying symbology from the existing layer from which it was copied.

Steps to Reproduce

Bug ID: BUG-000105415

Software:

  • ArcGIS Pro

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options