Más

¿Desplegable de nombre de campo de la herramienta de secuencia de comandos de ArcGIS Python?

¿Desplegable de nombre de campo de la herramienta de secuencia de comandos de ArcGIS Python?


Tengo una secuencia de comandos de Python que verifica los nombres de las rutas de archivo para los archivos correspondientes en una ubicación de unidad. Todas las entradas estaban originalmente codificadas de forma rígida y funciona bastante bien:

import arcpy import os shp = r "C:  Users  dotwell  Desktop  Locations.shp" fields = ["ZdriveLoc"] f = open (r "C:  Users  dotwell  Desktop  ValMapsTest.txt", "w ") cursor = arcpy.da.SearchCursor (shp, fields) para la fila en el cursor: Roll = str (fila [0]) si no os.path.exists (Roll): f.write (Roll + os.linesep) f .cerca()

Estoy tratando de crear una herramienta de secuencia de comandos de ArcGIS a partir de esto, y solo he tenido un éxito parcial. Puedo usar

shp = arcpy.GetParameterAsText (0)

para permitir al usuario seleccionar el shapefile. Luego, me gustaría tener una lista desplegable de los campos en ese shapefile para que el usuario seleccione el campo que contiene los nombres de las rutas, pero no puedo hacer que funcione. ¿Alguien puede mostrarme cómo generar el menú desplegable? Aquí está mi último intento. Funciona, pero requiere que el usuario escriba el nombre del campo. También sería bueno para el usuario designar el nombre y la ubicación del archivo de texto de salida.

import arcpy import os shapefile = arcpy.GetParameterAsText (0) field = arcpy.GetParameterAsText (1) f = open (r "C:  Users  dotwell  Desktop  ValMapsTemp.txt", "w") cursor = arcpy.da. SearchCursor (shapefile, campo) para la fila en el cursor: Roll = str (fila [0]) si no os.path.exists (Roll): f.write (Roll + os.linesep) f.close ()

Estos son los parámetros en mi herramienta de secuencia de comandos de ArcGIS:


Cambie la propiedad "Obtenido de" para la entrada al parámetro shapefile.


Primero agregue el archivo como primer parámetro (probablemente ya haya llegado hasta aquí). Luego agregue un campo. Filtre el campo como en mi captura de pantalla principal para el tipo de datos para su campo. "Obtenido de" proporciona la respuesta a la pregunta. Tienes que configurarlo en tu ARCHIVO. También debe establecer el TIPO en Derivado (en lugar de obligatorio) en el Campo.