taxNo = arcpy.GetParameterAsText(0)
thisMap = arcpy.mapping.MapDocument("CURRENT")
myDF = arcpy.mapping.ListDataFrames(thisMap)[0]
myLayers = arcpy.mapping.ListLayers(myDF)
for lyr in myLayers:
if lyr.name == "Address Numbers":
arcpy.SelectLayerByAttribute_management(lyr,"NEW_SELECTION","EKEY = " + taxNo[0])
for tax in taxNo:
arcpy.SelectLayerByAttribute_management(lyr,"ADD_TO_SELECTION","EKEY = " + tax)
arcpy.AddWarning("Additional Selection " + tax)
J'essaye de construire un script dans ArcGIS qui va sélectionner une série de valeurs définies par l'utilisateur, dans ce cas j'essaie de sélectionner 1784102 et 1784110. Quand j'utilise arcpy.AddWarning (taxNo) avant de la boucle, j'obtenir la sortie « 1.784.102; 1.784.110 », mais il est itérer à travers elle un chiffre à la fois ieitération à travers une liste définie par l'utilisateur avec arcpy
sélection supplémentaires 1
sélection supplémentaire 7
de sélection supplémentaire 8
Sélection supplémentaire 4 etc.
puis affiche une erreur lorsqu'il atteint le point-virgule. Les paramètres de taxNo sont définis dans ArcMap en tant que String, Multivalue, Valuelist.