在ArcPy中反向选择?

时间:2017-06-06 22:40:19

标签: python arcgis arcpy

我试图找出使用python在ArcGIS中不包含任何商店的县。

我有一个点层(代表商店)和一个多边形层(县)。我设法写了一些代码来找出包含商店的县。代码如下。

import arcpy
arcpy.env.overwriteOutput = True
path="C:/Users/XARDAS/Documents/ArcGIS/Packages/Romania1000k_9E5B7FEC-6005-4D3A-81EA-E95FAACEF69E/v101/ro1mil.gdb"
arcpy.MakeFeatureLayer_management(path+"/Counties", "Counties_lyr")
arcpy.MakeFeatureLayer_management(path+"/Stores", "Stores_lyr")
arcpy.SelectLayerByAttribute_management("Stores_lyr", "NEW_SELECTION","Type=1")
arcpy.SelectLayerByLocation_management("Counties_lyr","INTERSECT","Stores_lyr",0,"NEW_SELECTION")

所以这给了我有商店的县但是我想以某种方式逆转该计划的交集,给我那些没有商店的。我想过要删除选定的县,但我不认为这太好了。

2 个答案:

答案 0 :(得分:2)

由于您已经选择了您不想要的所有内容,因此反转(或切换)选择将为您提供所需的内容。 (ref help page

在最后添加此行:

arcpy.SelectLayerByAttribute_management("Counties_lyr", "SWITCH_SELECTION")

答案 1 :(得分:0)

上面的答案有效,但是SelectLayerByLocation允许您反转函数中的选择:

arcpy.SelectLayerByLocation_management("Counties_lyr","INTERSECT","Stores_lyr",0,"NEW_SELECTION","INVERT")