如何使用ArcGIS/Python制作输入参数?
问题描述:
我是Python新手。我尝试使用arcpy.GetParameterAsText
函数将“源文件夹”和“地理数据库”输入到ArcGIS工具箱中。如何使用ArcGIS/Python制作输入参数?
我真的不确定在哪里放两个arcpy.GetParameterAsText
函数。我想将工作区设置为它吗?如果我这样做,我不知道如何在没有路径之前创建GDB文件。
# Set the workspace
arcpy.env.workspace = "C:\\Users\\x\\Desktop\\Python_Scripting\\4\\Lesson4_Data\\Lesson4_Data"
#Create the GDB
arcpy.CreateFileGDB_management("C:\\Users\\x\\Desktop\\Python_Scripting\\4\\Lesson4_Data\\Lesson4_Data","lesson4a.gdb")
# Set the feature class variables
fclist = arcpy.ListFeatureClasses("","polygon")
fctotal = arcpy.ListFeatureClasses()
# Start the loop on all feature classes
for fc in fclist:
fcdesc = arcpy.Describe(fc)
print fcdesc.basename + " is currently importing into the lesson4a.gdb."
arcpy.CopyFeatures_management (fc, "C:\\Users\\x\\Desktop\\Python_Scripting\\4\\Lesson4_Data\\Lesson4_Data\\lesson4a.gdb\\" + fcdesc.basename)
print fcdesc.basename + " is done importing into the lesson4a.gdb.\n"
答
arcpy.GetParameterAsText(#)
函数将读取来自ArcGIS工具的输入参数。
在脚本和调试过程中,对函数的输入变量进行硬编码以验证函数是否正常工作是最简单的。一旦该工具(基本上)以您想要的方式工作,请在ArcMap中创建工具箱和脚本工具。
要接受来自工具执行对话框的输入参数,您需要在创建脚本工具(并将代码更改为接受GetParameterAsText
输入)时创建这些输入参数。对此的最佳演练实际上是ArcGIS资源中心。
内Python脚本,我通常读取输入参数,第一件事 - 这样一来,他们可以作为脚本的其余所有变量。索引值指示哪个参数是哪个。
# Input parameters
sourceFolder = arcpy.GetParameterAsText(0) # first input parameter of script tool
geodatabaseName = arcpy.GetParameterAsText(1) # second input parameter
# Set the workspace
arcpy.env.workspace = sourceFolder
#Create the GDB
arcpy.CreateFileGDB_management(sourceFolder, geodatabaseName)