Vous recherchez la syntaxe pour arcpy.mapping.Layer () dans ArcPy for ArcGIS Pro? [dupliquer]
Cette question a déjà des réponses ici :
Commentaires
À quoi ressemble votre code menant à lendroit où vous êtes bloqué? Pour le moment, le code que vous avez présenté ressemble à une ligne copiée / collée ailleurs et ne serait pas considéré comme un extrait de code illustrant ce que vous avez essayé et où vous êtes bloqué.
@BravoZulu Je recommanderais consultez la page Migration depuis arcpy.mapping dans laide. Lorganigramme pourrait être particulièrement utile. Il dit aussi: Layer management functions have moved The stand-alone layer management functions are now methods on the Map and LayerFile objects. The methods include addLayer, addLayerToGroup, insertLayer, moveLayer, and removeLayer
@PolyGeo, je pense que cest une question importante, car jutilise la classe arcpy.mapping.Layer pour créer Layer et le trouve assez pratique, cest-à-dire que je peux créer un calque temporaire par lyr = arcpy.mapping.Layer(r'C:\Temp\test.shp') et lutiliser pour accéder à ses propriétés, disons lyr.visible ou lyr.definitionQuery. Cependant, les seuls moyens de créer un objet de calque dans arcgis-pro soit MakeFeatureLayer_management ou listLayers méthode de Map objet. Le premier permet dutiliser une chaîne à la place de lobjet de couche (je le trouve assez stupide) et les autres ne sont pas accessibles directement à partir de la classe dentités.
Quand il sagit de portabilité, disons une ligne dans lancien Le script pour attribuer une requête de définition à une couche créée par arcpy.mapping.Layer peut être facilement réalisé si vous avez un objet Layer, par exemple lyr.definitionQuery = "Desc = 'IT IS QUITE EASY'". Cependant, "outputLyr".definitionQuery générera une erreur ou vous devez dabord enregistrer le résultat MakeFeatureLayer_management sous la forme lyrx puis créez un calque comme je le souhaite en arcpy.mp.LayerFile('BLA').
@fatih_dur Jai ' beaucoup fait avec cette partie de arcpy.mp et donc je pense que tout ce qui doit être fait est que quelquun améliore lextrait de code pour illustrer ce qui a été essayé et où ils sont bloqués. Vous pouvez modifier pour faire cela. Sil y a un deuxième problème, une deuxième question avec un nouvel extrait de code doit être posée.
Layer management functions have moved The stand-alone layer management functions are now methods on the Map and LayerFile objects. The methods include addLayer, addLayerToGroup, insertLayer, moveLayer, and removeLayer
Layer
et le trouve assez pratique, cest-à-dire que je peux créer un calque temporaire parlyr = arcpy.mapping.Layer(r'C:\Temp\test.shp')
et lutiliser pour accéder à ses propriétés, disonslyr.visible
oulyr.definitionQuery
. Cependant, les seuls moyens de créer un objet de calque dans arcgis-pro soitMakeFeatureLayer_management
oulistLayers
méthode deMap
objet. Le premier permet dutiliser une chaîne à la place de lobjet de couche (je le trouve assez stupide) et les autres ne sont pas accessibles directement à partir de la classe dentités.arcpy.mapping.Layer
peut être facilement réalisé si vous avez un objet Layer, par exemplelyr.definitionQuery = "Desc = 'IT IS QUITE EASY'"
. Cependant,"outputLyr".definitionQuery
générera une erreur ou vous devez dabord enregistrer le résultatMakeFeatureLayer_management
sous la formelyrx
puis créez un calque comme je le souhaite enarcpy.mp.LayerFile('BLA')
.