Leter du etter syntaks for arcpy.mapping.Layer () i ArcPy for ArcGIS Pro? [duplikat]
Dette spørsmålet har allerede svar her :
Kommentarer
Hvordan ser koden din ut til hvor du sitter fast? For øyeblikket ser koden du har presentert ut som en linjekopi / limt inn fra et annet sted og vil ikke kvalifisere som et kodebit som illustrerer hva du har prøvd og hvor du sitter fast.
@BravoZulu Jeg vil anbefale sjekke ut Migrere fra arcpy.mapping -siden i hjelpen. Flytskjemaet kan være spesielt nyttig. Det står også: 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, jeg synes dette er en viktig sak, siden jeg bruker arcpy.mapping.Layer-klasse for å lage Layer objekter og synes det er ganske praktisk, dvs. jeg kan opprette et midlertidig lag ved å lyr = arcpy.mapping.Layer(r'C:\Temp\test.shp') og bruke det til å få tilgang til egenskapene, si lyr.visible eller lyr.definitionQuery. Imidlertid er de eneste måtene å lage et lagobjekt i arcgis-pro enten MakeFeatureLayer_management eller listLayers metoden for Map objekt. Førstnevnte lar bruk av en streng i stedet for lagobjekt (jeg synes det er ganske dumt), og de andre kan ikke nås direkte fra funksjonsklasse.
Når det gjelder bærbarhet, kan vi si en linje i den gamle skript for å tilordne et definisjonsspørsmål til et lag opprettet av arcpy.mapping.Layer kan enkelt gjøres hvis du har Layer-objekt, f.eks. lyr.definitionQuery = "Desc = 'IT IS QUITE EASY'". "outputLyr".definitionQuery vil imidlertid gi en feil, eller du må først lagre MakeFeatureLayer_management resultatet som lyrx og lag deretter et lag som jeg ønsker av arcpy.mp.LayerFile('BLA').
@fatih_dur Jeg ' har gjort mye med denne delen av arcpy.mp og så jeg tror alt som må gjøres er at noen forbedrer kodebiten for å illustrere hva som er prøvd og hvor de sitter fast. Du kan redigere for å gjøre det. Hvis det er en annen sak, bør du stille et andre spørsmål med en ny kodebit.
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
objekter og synes det er ganske praktisk, dvs. jeg kan opprette et midlertidig lag ved ålyr = arcpy.mapping.Layer(r'C:\Temp\test.shp')
og bruke det til å få tilgang til egenskapene, silyr.visible
ellerlyr.definitionQuery
. Imidlertid er de eneste måtene å lage et lagobjekt i arcgis-pro entenMakeFeatureLayer_management
ellerlistLayers
metoden forMap
objekt. Førstnevnte lar bruk av en streng i stedet for lagobjekt (jeg synes det er ganske dumt), og de andre kan ikke nås direkte fra funksjonsklasse.arcpy.mapping.Layer
kan enkelt gjøres hvis du har Layer-objekt, f.eks.lyr.definitionQuery = "Desc = 'IT IS QUITE EASY'"
."outputLyr".definitionQuery
vil imidlertid gi en feil, eller du må først lagreMakeFeatureLayer_management
resultatet somlyrx
og lag deretter et lag som jeg ønsker avarcpy.mp.LayerFile('BLA')
.