我的指示:
创建一个Python脚本,从“coa_parcels.shp”中选择宗地 与shapefile“floodplains.shp”相交并创建一个新的 shapefile仅包含选定的宗地。
工作区的位置和三个shapefile(coa_parcels, 泛洪平原和输出)应被视为用户定义的输入 使用“raw_input”语句。
以下是此部分脚本的示例伪代码:
我的剧本:
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
我的错误是:NameError:名称'coa_parcels'未定义
答案 0 :(得分:-1)
仔细查看引发错误的行:
arcpy.SelectLayerByLocation_management(coa_parcels.shp,
通过不在引号中包含图层名称,您可以向Python指出它应该使用变量coa_parcels
作为按位置工具选择图层的参数输入。
未经请求,与您的错误无关,“创建要素图层”工具不会创建shapefile。没有什么能阻止您在图层名称中加入.shp
(显然,因为这不是您出现错误的地方!)但是对于"最佳做法"我建议更明确地命名图层,这样你就不会意外地尝试将图层传递给只接受shapefile的工具。