ฉันต้องการต่อไปนี้เพื่อเลือก (ไฮไลต์) เลเยอร์ "โครงการ" ที่ตัดกันตารางแล้วดึงระเบียนจาก "กริด" ที่เลือก ฉันไม่ต้องการบันทึกเลเยอร์
หมายเหตุ: การเรียกใช้สคริปต์จากภายใน ArcMap ในหน้าต่าง Python Console
import arcpy
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("project","project_lyr")
# Then add a selection to the layer based on location to features in another feature class
arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid")
รหัสนี้ทำงานและไม่ได้รับข้อผิดพลาด แต่ก็ไม่ได้เลือก (เน้น) คุณลักษณะใด ๆ ความคิดใด ๆ ทำไม? ยังทำงานช้ามาก
โดยทั่วไปฉันกำลังพยายามทำสิ่งนี้:
มันทำงานเร็วมากเกือบจะทันที แต่ฉันต้องการทำแบบเดียวกันโดยใช้ python ฉันต้องการค่าจากตารางของคุณสมบัติที่เลือกฉันไม่ต้องการสำเนาของเลเยอร์
ส่วนหนึ่งของการแก้ไขอาจใช้พื้นที่ทำงานในหน่วยความจำซึ่งก็คือ
การเขียนข้อมูลไปยังพื้นที่ทำงานในหน่วยความจำมักจะเร็วกว่าการเขียนลงในรูปแบบอื่น ๆ ...
ไม่แน่ใจว่าจะใช้พื้นที่ทำงานในหน่วยความจำได้อย่างไร
arcpy.MakeFeatureLayer()
บรรทัดเนื่องจากproject
เป็นเลเยอร์อยู่แล้ว arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
เพียงแค่ทำ
import arcpy
คำสั่งใช้เวลาสักครู่ในการทำงาน