Estoy trabajando en un script Python de ArcGIS (9.3). Una de las entradas es una lista de características. Para cada característica, necesito seleccionar un campo correspondiente. Establecer el parámetro en MultiValue proporciona una buena tabla en la interfaz de usuario para todas las funciones que se procesan. ¿Cómo agrego otra columna a la tabla MultiValor para seleccionar un campo para cada característica?
Publicación cruzada: http://forums.arcgis.com/threads/30907-MultiValue-Parameter-with-Multiple-Columns
Respuesta de Esri del foro ArcGIS:
Desafortunadamente, la solución para esto se implementó recientemente para 10.1 con entradas de ValueTable para herramientas de script. Necesitará tener dos parámetros de valores múltiples con alguna validación personalizada para que esto funcione para 9.3.1.
fuente
Respuestas:
He resuelto cómo hacer esto, aunque de una manera bastante simple. Quería crear un parámetro de valores múltiples donde agrego muchos FeatureLayers y luego elijo un campo ID para cada capa. Lo tengo funcionando pero no pude trabajar cómo hacer que el campo sea una lista desplegable, por lo que un usuario debe ingresar un nombre de campo manualmente. Aquí está la interfaz:
Si alguien ha logrado resolver este problema o algún gurú de ESRI nos bendice con su conocimiento, me encantaría descubrir cómo convertir mi segunda columna (ID de sitio) en un menú desplegable, que enumere campos específicos. Si desea ver un ejemplo de esto, eche un vistazo a la herramienta Crear TIN .
De todos modos para crear esta interfaz, creo una herramienta de secuencia de comandos y agregué un parámetro de capa de entidades de tipo y lo configuré en un valor múltiple como se muestra a continuación.
Luego hice clic en la pestaña Validación en la parte superior y luego en el botón Editar. Como este parámetro es el sexto parámetro en mi herramienta de script, actualicé el siguiente código:
Esto restablece la interfaz en la tabla de columnas múltiples que quería. Cuando usa GetParameterAsText, devuelve lo siguiente usando mi ejemplo:
pipeline pid;Dredging did
He investigado un poco más y he creado la herramienta usando una caja de herramientas de Python. Funciona muy bien, pero tiene una limitación si regresa y elige otra identificación. He publicado el código en GeoNet aquí .
fuente
Si está buscando una lista desplegable para el parámetro ID de sitio, puede usar un código como el siguiente:
Por lo tanto, puede crear un cursor o usar otro método para leer todos los campos del FC y pasarlos, como una lista, a la oración anterior
fuente