4 votos

¿Iterar a través de los nombres de dominio y eliminar dominios utilizando ModelBuilder?

Tengo una lista de dominios no utilizados/no asignados en formato de tabla. En realidad es una tabla dentro de un GDB. Quiero construir un modelo que itere por esta tabla y borre el dominio.

¿Es esto posible con ModelBuilder?

He intentado crear un iterador de valores de campo, sin embargo, no me deja enlazarlo con la herramienta de eliminación de dominios.

Sé que es posible con python, pero ¿alguien ha intentado con éxito esto con ModelBuilder.

2voto

scottb2 Puntos 664

No pude encontrar la respuesta del Model builder, pero logré crear un script en python que hizo el trabajo.

Aquí está:

##domain clean up script
##Created by: Ruchira Welikala
##Date: Aug 27, 2015

import arcpy
from arcpy import env

#Workspace where domains will be deleted from
gdbConnName = "Database Connections\\ProductionDB.sde"

#Workspace/Table where list of unused domains are located
UnusedDmnListTable = "C:\Scratch Workspace\domain_List.gdb\A_UnusedDomains"

#Field name that you're running the cursor on
fieldName = "name"

#Cursor initialization. Set the cursor to the table
cursor = arcpy.SearchCursor(UnusedDmnListTable)
txtfile = open('DomainsNOTDeleted.txt','w')

#Loop through and delete domains from workspace
for row in cursor:
        try:
                print "Deleting domain: " + (row.getValue(fieldName))
                arcpy.DeleteDomain_management(gdbConnName, (row.getValue(fieldName)))
                print "Deleted:" + (row.getValue(fieldName))
        except Exception:
                print "Domain " + row.getValue(fieldName) + " was not deleted."
                txtfile.write(row.getValue(fieldName) + "\n")
                continue

txtfile.close()

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