Tengo una arcpy/secuencia de comandos de python usando ArcGIS10 y el uso de una caja de herramientas personalizada y modelo. La caja de herramientas tiene un alias de defaultTopo
y mi modelo dentro de la caja de herramientas se llama AddRuleToTopologyModel
. Este modelo fue creado porque hay un error conocido cuando se llama a la AddRuleToTopology_management
herramienta para el Debe Ser Cubierto por la Clase de entidad de (Area) de la regla de python y en el trabajo es el uso de este modelo. Simplemente estoy actualizando mi script de 9.3 10.0.
El código va como esto:
# Defining location of toolbox which is in the same location as the script
toolboxLocation = sys.argv[0][:sys.argv[0].rfind('\\')]
# Importing custom toolbox
arcpy.ImportToolbox(toolboxLocation+"\ApplyDefaultTopology.tbx")
# Calling custom model for polygon feature class - not all the variables are posted here
arcpy.AddRuleToTopologyModel_defaultTopo(featureDataset+"\\"+topologyName,'Must Be Covered By Feature Class Of (Area-Area)',featureClass,featureDataset+"\\"+boundaryFC)
Si ejecuto el script desde Eclipse no recoger mi featureDataset
ubicación utilizo como argv1 en la secuencia de comandos de tirar el error que tengo en el lugar.
Si intento ejecutar el script desde ArcCatalog me sale el siguiente error:
<type 'exceptions.AttributeError'>: 'module' object has no attribute 'exists'
Eclipse también me dice que arcpy.AddRuleToTopologyModel_defaultTopo()
es una variable no definida cuando se trata de usar sólo la arcpy.
Lo extraño es que si utilizo gp.arcgisscripting(9.3)
con gp.AddToolbox()
a reemplazar arcpy.ImportToolbox()
la secuencia de comandos se ejecuta bien, a partir de Eclipse y ArcCatalog porque arcpy sigue siendo compatible con el 9.3 de geoprocesamiento objeto. Me han pedido que quitar todas las referencias a la arcgisscripting
módulo y hacer que la nueva secuencia de comandos de pura arcpy
a la función de nuestros nuevos servidores.
Los pensamientos?
Gracias de antemano.