한 레이어가 다른 레이어에서 중심을 가져야하는 두 레이어를 교차시키려는 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)
피처 레이어를 제거하는 기능을 찾고 있는데 찾을 수 없었습니다.
나는 거기에 어떤 종류의 수를 넣거나 프로그램 범위 내에서 각각을 독특하게 만들 수 있다는 것을 알고 있지만 피처 레이어를 제거 할 방법이 없다면 이상적이지 않습니다.