ฉันมีสคริปต์ตาม ArcPy ที่ฉันพยายามตัดกันสองเลเยอร์โดยที่หนึ่งเลเยอร์จะต้องมีเซนทรอยด์ในเลเยอร์อื่น
เนื่องจากฉันต้องรู้ว่าหนึ่งเลเยอร์ (feature_layer ด้านล่าง) รวมถึงเซนทรอยด์ของอีกชั้นฉันจึงใช้เครื่องมือ arcpy.SelectLayerByLocation_management ()
ฉันไม่ได้เปิด Map Document (* .mxd) เพื่อที่จะทำสิ่งนี้ฉันต้องใช้Make Feature Layerเพื่อป้อนเข้าไป
เอกสารประกอบตั้งข้อสังเกตว่าเลเยอร์คุณลักษณะจะหายไปเมื่อโปรแกรมออก แต่ฉันต้องการให้มันหายไปเร็วขึ้นเพราะฉันมีมันในลูปคล้ายกับด้านล่าง
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)
ฉันกำลังมองหาฟังก์ชั่นที่จะลบเลเยอร์ฟีเจอร์และฉันไม่สามารถหามันได้
ฉันรู้ว่าฉันสามารถใส่การนับจำนวนลงในนั้นหรือบางสิ่งบางอย่างเพื่อทำให้แต่ละอันไม่เหมือนใครภายในขอบเขตของโปรแกรม