1 votos

¿Convertir el código Layer off/on python en una herramienta de script?

Tengo un script python que desactiva todas las capas en un proyecto ArcGIS Pro y luego vuelve a activar la capa Basemap. Sin embargo, necesito convertirlo en una herramienta de script para poder utilizarlo en ModelBuilder. Ya sea como herramientas de script individuales, una que apague todas las capas y otra que vuelva a encender la capa Basemap; o como una herramienta de script que haga ambas cosas.

Aquí está el script que tengo en este momento.

Apaga todas las capas

p = arcpy.mp.ArcGISProject("Current")
m = p.listMaps("*")[0]
lyrList = m.listLayers()
for lyr in lyrList:   
   lyr.visible = False

Activa la capa de mapa base

p = arcpy.mp.ArcGISProject("Current")
m = p.listMaps("*")[0]
lyrList = m.listLayers('Topographic')
for lyr in lyrList:   
   lyr.visible = True

1voto

Spyros Puntos 56

En lugar de utilizar arcpy.mp.ArcGISProject("Current") que funciona dentro de un proyecto abierto, utilice arcpy.GetParameterAsText(0) para su p esto le permitirá seleccionar el Proyecto que desea como entrada. Luego adjunte el script a una herramienta de script, vea cómo hacerlo en Añadir una herramienta de script . Asegúrese de seleccionar el tipo de datos correcto para su parámetro (proyecto ArcGIS Pro).

Si quieres agrupar ambos scripts, este es el aspecto que debe tener tu script (no olvides guardar los cambios al final):

p = arcpy.GetParameterAsText(0)

m = p.listMaps("*")[0]
lyrList = m.listLayers()
for lyr in lyrList:   
   lyr.visible = False

basemap = m.listLayers('Topographic')[0] # if you have only one layer called 'Topographic'
basemap.visible = True

p.save()

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X