Mi objetivo es coger un montón de clases de características, seleccionar la primera clase de características, listar los campos y devolver esa lista al parámetro 1 como una lista filtrada.
Mi caja de herramientas ArcGIS está configurada con 2 parámetros.
El primer parámetro es una featureclass multivalente
El segundo parámetro es una cadena con el filtro establecido: "Lista de valores" que está vacía. Espero poder rellenar esto. Cuando ejecuto el siguiente código:
def updateParameters(self):
if self.params[0].value: #when user inputs feature classe(s)
fcs = self.params[0].value.value # getting list of fcs as string?
spl = fcs.split(";") #splitting list of fcs
fields = arcpy.ListFields(spl[0]) #getting list of fields from 1st featureclass
self.params[1].filter.list = fields #return list of fields to param 1
Cuando introduzco los fcs en el parámetro 0, me sale este error:
ERROR Error de ejecución de updateParameters: Error de ejecución : el objeto 'ValueTable' no tiene el atributo 'value'
2 votos
He visto tus otros mensajes y entiendo cómo quieres que funcione el diálogo, pero ¿cuál es el objetivo final? Usted originalmente quería seleccionar un GDB, que el FC de que se ponen en el 2 º parámetro. Luego en el 3er parámetro quieres listar los campos de todos esos FC, o los campos de un FC seleccionado? ¿Y entonces qué? ¿Qué ocurrirá cuando se ejecute con los FC y los campos seleccionados?
0 votos
He indicado al usuario que todos los datos de ese campo en particular deben tener el mismo esquema, por lo que está bien seleccionar cualquier FC