Tinkering and testing with mapping module in arc pro 2.5.0. The last line (moveLayer) of the following code fails. The failure shows 'value error' yet type testing of the function method inputs show <class 'arcpy._mp.Layer'>. Why does the moveLayer method dislike my inputs? import arcpy as g # Get parameters iLay = g.GetParameter(0) # attach to activeMap amp = g.mp.ArcGISProject("CURRENT").activeMap wrkspc = "C:/Projects/ArcPro/GISTools/" # add layer (actually empty group) from layerfile and rename fLyr = g.mp.LayerFile(wrkspc +'newGrpLay.lyrx') layNgrp = amp.addLayer(fLyr)[0] layNgrp.name = 'Layer Group Jun' # add layer given in tool input (this a re-add, layer already exists in map) iLay.name = 'gvnLay1' amp.addLayerToGroup(layNgrp, iLay) # add second layer from layerfile and rename fLyr2 = g.mp.LayerFile(wrkspc +'zeropt.lyrx') lstAdd = amp.addLayer(fLyr2, 'TOP') layObj = lstAdd[0] layObj.name = 'lay_from_file' # now change order of layers amp.moveLayer(iLay, layObj) ## fails; regardless if position parameter is included ValueError: <MappingLayerObject object at {address}>
... View more