Python 使用按位置选择图层语法时遇到一些问题
我的指示: 创建一个Python脚本,从“coa_parcels.shp”中选择地块 与shapefile“floodplains.shp”相交并创建新的 仅包含选定地块的形状文件 工作空间和三个形状文件(coa_地块、, 洪泛区和输出)应视为用户定义的输入 使用“原始输入”语句 下面是此部分脚本的伪代码示例:Python 使用按位置选择图层语法时遇到一些问题,python,arcpy,wing-ide,Python,Arcpy,Wing Ide,我的指示: 创建一个Python脚本,从“coa_parcels.shp”中选择地块 与shapefile“floodplains.shp”相交并创建新的 仅包含选定地块的形状文件 工作空间和三个形状文件(coa_地块、, 洪泛区和输出)应视为用户定义的输入 使用“原始输入”语句 下面是此部分脚本的伪代码示例: 开始 获取工作区的用户输入 获取输入要素类名称的用户输入(例如coa_parcels.shp) 获取所选要素类名称的用户输入(例如floodplains.shp) 获取输出要素类名称的
- 开始
- 获取工作区的用户输入
- 获取输入要素类名称的用户输入(例如coa_parcels.shp)
- 获取所选要素类名称的用户输入(例如floodplains.shp)
- 获取输出要素类名称的用户输入(例如,选定的_parcels.shp)
- 设置工作区并覆盖输出设置
- 创建临时要素图层
- 基于“选择要素类”,按位置从图层中选择
- 将选定要素复制到新要素类
- 打印一条消息,让用户知道新要素类已创建
- 结束
import arcpy
workSpace = raw_input("What is the workspace location? ")
inFeature = raw_input("What is the input feature class name? ")
selFeature = raw_input("What is the select feature class name? ")
outFeature = raw_input("What is the output feature class name? ")
arcpy.env.workspace = workSpace
arcpy.env.overwriteOutput = True
arcpy.MakeFeatureLayer_management("coa_parcels.shp", "lyr")
arcpy.SelectLayerByLocation_management(coa_parcels.shp,"INTERSECT",floodplains.shp, "NEW_SELECTION")
arcpy.CopyFeatures_management("lyr", "selected_parcels")
print "A new feature class",outFeature,"has been created!"here
我的错误是:名称错误:未定义名称“coa_parcels”仔细查看引发错误的行:
arcpy.SelectLayerByLocation_management(coa_parcels.shp,
通过不在引号中包含图层名称,您向Python表明它应该使用变量coa_parcels
作为参数输入到“按位置选择图层”工具
“生成要素图层”工具不会主动创建形状文件,这与您的错误无关。没有什么可以阻止您在图层名称中包含
.shp
(很明显,因为这不是错误产生的地方!),但对于“最佳实践”,我建议您更清楚地命名图层,这样您就不会意外地尝试将图层传递给只接受形状文件的工具。未定义名称“coa_地块”。看看它的其他实例,它可能应该是一个字符串而不是标识符(=您忘记了引号)。不要发布排版错误问题的完整答案-它们没有任何重用价值。