นี่เป็นคำถามทั่วไปที่ค่อนข้างสวย ฉันแค่สงสัยว่าเคล็ดลับและเทคนิคที่โปรแกรมเมอร์ GIS ใช้เพื่อเพิ่มความเร็วสคริปต์อาร์คกิที่คุณนำเข้าสู่กล่องเครื่องมือและเรียกใช้
ฉันทำงานเขียนสคริปต์เล็กน้อยทุกวันเพื่อช่วยผู้ใช้ที่ไม่ใช่ GIS ในสำนักงานเพื่อประมวลผลข้อมูล GIS ฉันได้พบว่าการประมวลผล ArcGIS 10.0 โดยทั่วไปช้ากว่า 9.3.1 และบางครั้งมันก็ช้าลงเมื่อใช้งานสคริปต์ไพ ธ อน
ฉันจะแสดงรายการตัวอย่างของสคริปต์ที่ใช้เวลานานกว่า 24 ชั่วโมงในการทำงาน มันคือลูปที่กำหนดพื้นที่ของแรสเตอร์ในบัฟเฟอร์สำหรับแต่ละรูปร่างในบัฟเฟอร์ บัฟเฟอร์มีรูปร่างประมาณ 7000 ฉันไม่เชื่อว่ามันจะทำงานได้นาน
while x <= layerRecords:
arcpy.SetProgressorLabel("Tabulating Row: " + str(x) + " of " + str(ELClayerRecords))
arcpy.SelectLayerByAttribute_management(Buff,"NEW_SELECTION", "Recno = " + str(x)) # Selecting the record
TabulateArea(Buff, "Recno", MatGRID, "VALUE", ScratchWS + "/tab" + str(z) +".dbf", nMatGRIDc) # Tabulate the area of the single row
arcpy.AddMessage (" - Row: " + str(x) + " completed")
x = x + 1
z = z + 1
ก่อนที่ทุกคนจะพูดว่าฉันได้เรียกใช้ตารางพื้นที่ในบัฟเฟอร์ทั้งหมด แต่มันก่อให้เกิดข้อผิดพลาดถ้าทำงานมากกว่า 1 บันทึก มันเป็นเครื่องมือที่มีตำหนิ แต่ฉันต้องใช้มัน
อย่างไรก็ตามหากใครมีแนวคิดใด ๆ เกี่ยวกับวิธีการเพิ่มประสิทธิภาพหรือเพิ่มความเร็วของสคริปต์นี้ก็จะได้รับการชื่นชมมากที่สุด มิฉะนั้นคุณจะมีเทคนิคเร่งความเร็วสำหรับงูใหญ่เมื่อใช้ใน ArcGIS?