2017-02-18 1 views
0

J'ai obtenu un paramètre de champ facultatif de arcpy.GetParameterAsText.ArcPy: paramètre de curseur optionnel

Comment puis-je utiliser arcpy.da.SearchCursor si le champ a été donné ou non?

> infc = arcpy.GetParameterAsText(0) 
> field = arcpy.GetParameterAsText(1) 
> arcpy.da.SearchCursor(infc,["[email protected]", field]) 

L'erreur est RuntimeError: Vous ne trouvez pas le champ ''

Comment puis-je faire en paramètre field_name curseur en option?

+1

Il y a beaucoup plus de questions ArcPy posées et répondues à l'échange de pile [gis.se] qu'ici. – PolyGeo

Répondre

2

Inclure un conditionnel pour vérifier si field obtient une valeur. Si c'est le cas, incluez-le dans la liste des champs du curseur; sinon, donne un autre défaut.

field = arcpy.GetParameterAsText(1) 

# if variable `field` is blank 
if field == "" or field is None: 
    cursor_fields = ["[email protected]"] 
# otherwise 
else: 
    cursor_fields = ["[email protected]", field] 

arcpy.da.SearchCursor(infc, cursor_fields)