我正在编写一个代码,在我的nhlroster.shp功能类中的非霍奇金淋巴瘤球员只需要发挥这三个位置之一: leftFeild,rightFeild,中心和所有的球员必须出生在瑞典。执行工具时,我不断收到以下错误: arcpy.SelectLayerByLocation_management: RuntimeError: Object: error
import arcpy
arcpy.env.workspace = "C:/Users/jessi/Desktop/CPSUGeog485/project3_2021"
cntryFc = "Countries_WGS84.shp"
leftFeild = "LW"
rightFeild = "RW"
Center = "C"
cntryFeild = "CNTRY_name"
cntry = "Sweden"
#Select only players from target country
whereClause = cntryFeild + " = '" + cntry + "'"
cntryLayer = arcpy.SelectLayerByAttribute_management(cntryFc, "NEW_SELECTION", whereClause)
#Create Loop for Target Positions
positionList = (leftFeild, rightFeild, Center)
for plyrPositions in positionList:
playerQuery = "plyrPosition = '" + plyrPositions + "'"
#Narrow down players born in sweden who play target positions
plyrLayer = arcpy.SelectLayerByLocation_management(cntryLayer, "Contains", positionList)
发布于 2021-04-29 00:45:45
您需要使用arcpy.MakeFeatureLayer_management()将shapefile转换为一个要素图层,如按位置https://desktop.arcgis.com/en/arcmap/10.3/tools/data-management-toolbox/select-layer-by-location.htm选择和按属性选择文档https://desktop.arcgis.com/en/arcmap/10.3/tools/data-management-toolbox/select-layer-by-attribute.htm的用法文档中所述;“新选择”应在您的按属性选择行中显示为"NEW_SELECTION“。
https://stackoverflow.com/questions/67295053
复制相似问题