ArcPy: необязательный параметр курсора
Я получил необязательный параметр поля из arcpy.GetParameterAsText.
Как я могу использовать arcpy.da.SearchCursor независимо от того, задано ли поле или нет?
> infc = arcpy.GetParameterAsText(0)
> field = arcpy.GetParameterAsText(1)
> arcpy.da.SearchCursor(infc,["SHAPE@", field])
Ошибка RuntimeError: Не удается найти поле ''
Как сделать параметр field_name в курсоре необязательным?
1 ответ
Включите условное, чтобы проверить, field
получает значение. Если это так, включите его в список полей курсора; если нет, укажите другое значение по умолчанию.
field = arcpy.GetParameterAsText(1)
# if variable `field` is blank
if field == "" or field is None:
cursor_fields = ["SHAPE@"]
# otherwise
else:
cursor_fields = ["SHAPE@", field]
arcpy.da.SearchCursor(infc, cursor_fields)