Sé que el propósito del ArcPy GetParameterAsText
es devolver los parámetros como texto, pero ¿cuál es el beneficio de hacer eso?
Respuestas
¿Demasiados anuncios?El resumen en la página web de Esri GetParameterAsText
la documentación indica:
Obtiene el parámetro especificado como una cadena de texto por su posición de índice de la lista de parámetros.
Funcionalmente, esto le permite pasar argumentos a un programa de Python Herramienta script . Las herramientas script permiten ofrecer una funcionalidad personalizada en una interfaz gráfica de usuario a aquellos que no quieren utilizar Python.
La documentación también proporciona un ejemplo de uso:
import os
import arcpy
# Set the input workspace, get the feature class name to copy
# and the output location.
arcpy.env.workspace = arcpy.GetParameterAsText(0)
in_featureclass = arcpy.GetParameterAsText(1)
out_workspace = arcpy.GetParameterAsText(2)
out_featureclass = os.path.join(out_workspace,
os.path.basename(in_featureclass))
# Copy feature class to output location
arcpy.CopyFeatures_management(in_featureclass, out_featureclass)
En el Ayuda de ArcGIS Pro para arcpy.GetParameterAsText()
su Resumen es que:
Obtiene el parámetro especificado como una cadena de texto por su posición de índice de la lista de parámetros.
La forma en que pienso en ella es que es el medio utilizado para comunicar, como texto en lugar de objetos, las opciones realizadas por un usuario final de la herramienta de diálogo que se enfrenta a un Python script Herramienta de ArcPy.
El primer parámetro que el autor de la herramienta configura en su cuadro de diálogo es referenciado desde el script utilizando un índice de 0, es decir. arcpy.GetParameterAsText(0)
.
Hay una forma alternativa de referenciar el primer parámetro en el diálogo de la herramienta, y es como sys.argv[1]
pero tiene limitaciones en el número de caracteres que puede aceptar mientras que arcpy.GetParameterAsText()
no tiene límite de caracteres. Las dos alternativas están documentadas en Acceso a los parámetros en una herramienta script .