Diese Frage hat hier bereits Antworten :
Kommentare
- Wie sieht Ihr Code aus, der dazu führt, dass Sie nicht weiterkommen? Im Moment sieht der von Ihnen präsentierte Code wie eine von einer anderen Stelle kopierte / eingefügte Zeile aus und würde nicht als Codefragment gelten, das zeigt, was Sie versucht haben und wo Sie stecken bleiben.
- @BravoZulu Ich würde empfehlen Überprüfen Sie die Seite Migration von arcpy.mapping in der Hilfe. Das Flussdiagramm kann besonders nützlich sein. Es heißt auch:
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, ich denke, dies ist eine wichtige Angelegenheit, da ich die arcpy.mapping.Layer-Klasse verwende, um Objekte und finde es recht praktisch, dh ich kann eine temporäre Ebene mit
lyr = arcpy.mapping.Layer(r'C:\Temp\test.shp')
erstellen und damit auf ihre Eigenschaften zugreifen, z. B.lyr.visible
oderlyr.definitionQuery
. Die einzigen Möglichkeiten zum Erstellen eines Ebenenobjekts in arcgis-pro sind jedoch entweder dieMakeFeatureLayer_management
oder dielistLayers
Methode derMap
Objekt. Ersteres ermöglicht die Verwendung einer Zeichenfolge anstelle von Ebenenobjekten (ich finde das ziemlich dumm), und auf die anderen kann nicht direkt über die Feature-Class zugegriffen werden. - Wenn es um Portabilität geht, sagen wir eine Zeile in der alten Ein Skript zum Zuweisen einer Definitionsabfrage zu einer von
arcpy.mapping.Layer
erstellten Ebene kann problemlos ausgeführt werden, wenn Sie über ein Ebenenobjekt verfügen, z. B.lyr.definitionQuery = "Desc = 'IT IS QUITE EASY'"
."outputLyr".definitionQuery
führt jedoch zu einem Fehler, oder Sie müssen zuerst das ErgebnisMakeFeatureLayer_management
alslyrx
und erstelle dann eine Ebene, wie ich es mir wünsche, mitarcpy.mp.LayerFile('BLA')
. - @fatih_dur Ich ' habe viel getan Dieser Teil von arcpy.mp und daher denke ich, dass alles, was getan werden muss, ist, dass jemand das Code-Snippet verbessert, um zu veranschaulichen, was versucht wurde und wo sie stecken bleiben. Sie können dies bearbeiten. Wenn es ein zweites Problem gibt, sollte eine zweite Frage mit einem neuen Code-Snippet gestellt werden.