Procurando sintaxe para arcpy.mapping.Layer () no ArcPy for ArcGIS Pro? [duplicar]
Esta pergunta já tem respostas aqui :
Comentários
Como é o seu código que leva até onde você está preso? No momento, o código que você apresentou parece uma linha copiada / colada de outro lugar e não se qualificaria como um trecho de código que ilustra o que você tentou e onde está preso.
@BravoZulu, eu recomendaria verificando a página Migrando de arcpy.mapping na Ajuda. O fluxograma pode ser particularmente útil. Também diz: 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, acho que isso é um assunto importante, pois uso a classe arcpy.mapping.Layer para criar Layer objetos e acho bastante conveniente, ou seja, posso criar uma camada temporária por lyr = arcpy.mapping.Layer(r'C:\Temp\test.shp') e usá-la para acessar suas propriedades, digamos lyr.visible ou lyr.definitionQuery. No entanto, as únicas maneiras de criar um objeto de camada em arcgis-pro são MakeFeatureLayer_management ou listLayers método de Map objeto. O primeiro permite o uso de uma string no lugar do objeto de camada (acho bastante estúpido) e os outros não podem ser acessados diretamente da classe de recursos.
Quando se trata de portabilidade, digamos uma linha no antigo script para atribuir uma consulta de definição a uma camada criada por arcpy.mapping.Layer pode ser feito facilmente se você tiver o objeto Camada, por exemplo, lyr.definitionQuery = "Desc = 'IT IS QUITE EASY'". No entanto, "outputLyr".definitionQuery gerará um erro ou você precisará primeiro salvar o MakeFeatureLayer_management resultado como lyrx e, em seguida, crie uma camada como desejo arcpy.mp.LayerFile('BLA').
@fatih_dur Eu ' fiz muito com esta parte do arcpy.mp, então acho que tudo o que precisa ser feito é alguém melhorar o trecho de código para ilustrar o que foi tentado e onde eles estão presos. Você pode editar para fazer isso. Se houver um segundo problema, uma segunda pergunta com um novo trecho de código deve ser feita.
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
objetos e acho bastante conveniente, ou seja, posso criar uma camada temporária porlyr = arcpy.mapping.Layer(r'C:\Temp\test.shp')
e usá-la para acessar suas propriedades, digamoslyr.visible
oulyr.definitionQuery
. No entanto, as únicas maneiras de criar um objeto de camada em arcgis-pro sãoMakeFeatureLayer_management
oulistLayers
método deMap
objeto. O primeiro permite o uso de uma string no lugar do objeto de camada (acho bastante estúpido) e os outros não podem ser acessados diretamente da classe de recursos.arcpy.mapping.Layer
pode ser feito facilmente se você tiver o objeto Camada, por exemplo,lyr.definitionQuery = "Desc = 'IT IS QUITE EASY'"
. No entanto,"outputLyr".definitionQuery
gerará um erro ou você precisará primeiro salvar oMakeFeatureLayer_management
resultado comolyrx
e, em seguida, crie uma camada como desejoarcpy.mp.LayerFile('BLA')
.