我有一个基于ArcPy的脚本,在该脚本中,我试图将两层相交,其中一层必须在另一层中具有其质心。
由于我需要知道一层(下面的feature_layer)包括另一层的质心,因此我使用了arcpy.SelectLayerByLocation_management()工具。
我没有打开地图文档(* .mxd),因此要执行此操作,必须使用“生成要素图层”将其输入。
文档指出,功能层将在程序退出时消失,但是我需要尽快将其消失,因为我将其置于类似于下面的循环中
for feature_class in large_list_of_feature_classes:
some_function(feature_class)
def some_function():
feature = "{path to feature class}"
feature_layer = "feature_layer"
HUCs_layer = "all_HUCs" #HUCs being Hydrologic Unit Codes
arcpy.MakeFeatureLayer_management(feature, feature_layer)
arcpy.MakeFeatureLayer_management(feature, HUCs_layer)
arcpy.SelectLayerByLocation_management(HUCs_layer, "HAVE_THEIR_CENTER_IN", feature_layer, selection_type="NEW_SELECTION")
arcpy.CopyFeatures_management(HUCs_layer, selection_name)
我正在寻找一种功能来删除要素图层,但我一直找不到。
我意识到我可以在其中添加某种计数,或者在程序范围内添加一些使每个数字唯一的方法,但这不是理想的方法,除非无法删除要素图层。