Suite

Nom de champ de l'outil de script Python ArcGIS déroulant ?


J'ai un script python qui vérifie les noms de chemin de fichier pour les fichiers correspondants dans un emplacement de lecteur. Toutes les entrées ont été codées en dur à l'origine, et cela fonctionne assez bien :

import arcpy import os shp = r"C:UsersdotwellDesktopLocations.shp" fields = ["ZdriveLoc"] f = open (r"C:UsersdotwellDesktopValMapsTest.txt", "w ") curseur = arcpy.da.SearchCursor (shp, champs) pour la ligne dans le curseur : Roll=str(row[0]) sinon os.path.exists(Roll) : f.write(Roll + os.linesep) f .Fermer()

J'essaie de créer un outil de script ArcGIS à partir de cela, et je n'ai eu qu'un succès partiel. je peux utiliser

shp = arcpy.GetParameterAsText(0)

pour permettre à l'utilisateur de sélectionner le fichier de formes. J'aimerais ensuite avoir une liste déroulante des champs de ce fichier de formes pour que l'utilisateur sélectionne le champ qui contient les noms de chemin, mais je n'arrive pas à le faire fonctionner. Quelqu'un peut-il me montrer comment générer la liste déroulante? Voici mon dernier essai. Cela fonctionne, mais nécessite que l'utilisateur tape le nom du champ. Il serait également bon que l'utilisateur désigne le nom et l'emplacement du fichier texte de sortie.

import arcpy import os shapefile = arcpy.GetParameterAsText(0) champ = arcpy.GetParameterAsText(1) f = open (r"C:UsersdotwellDesktopValMapsTemp.txt", "w") curseur = arcpy.da. SearchCursor (shapefile, field) pour la ligne dans le curseur : Roll=str(row[0]) sinon os.path.exists(Roll) : f.write(Roll + os.linesep) f.close()

Voici les paramètres de mon outil de script ArcGIS :


Modifiez la propriété "Obtenu de" pour l'entrée dans le paramètre du fichier de formes.


Ajoutez d'abord le fichier en tant que premier paramètre (vous êtes probablement déjà arrivé jusqu'ici). Ajoutez ensuite un champ. Filtrez le champ comme dans ma capture d'écran supérieure pour le type de données pour votre champ. "Obtenu de" fournit la réponse à la question. Vous devez définir cela sur votre FICHIER. Vous devez également définir le TYPE sur Dérivé (au lieu de requis) sur le terrain.


Voir la vidéo: How to Create a Custom Tool for ArcMap (Octobre 2021).