คำถามติดแท็ก loop

5
วนรอบ 16 ล้านบันทึกโดยใช้ ArcPy?
ฉันมีตารางที่มี 8 คอลัมน์และประมาณ 16.7 ล้านเรคคอร์ด ฉันต้องใช้ชุดสมการ if-else บนคอลัมน์ ฉันเขียนสคริปต์โดยใช้โมดูล UpdateCursor แต่หลังจากบันทึกไปสองสามล้านครั้งมันมีหน่วยความจำไม่เพียงพอ ฉันสงสัยว่าจะมีวิธีที่ดีกว่าในการประมวลผลระเบียน 16.7 ล้านรายการเหล่านี้หรือไม่ import arcpy arcpy.TableToTable_conversion("combine_2013", "D:/mosaic.gdb", "combo_table") c_table = "D:/mosaic.gdb/combo_table" fields = ['dev_agg', 'herb_agg','forest_agg','wat_agg', 'cate_2'] start_time = time.time() print "Script Started" with arcpy.da.UpdateCursor(c_table, fields) as cursor: for row in cursor: # row's 0,1,2,3,4 = dev, herb, forest, water, …

1
ลดความซับซ้อนของงานซ้ำ ๆ ใน QGIS Graphical Modeler
มีตัววนซ้ำที่สามารถใช้ในตัวสร้างภาพกราฟิก QGIS เพื่อทำให้โมเดลที่แสดงด้านบนง่ายขึ้นหรือไม่ ถ้าไม่มีวิธีใดที่ดีกว่าในการลดความซับซ้อนของโมเดล? คอลัมน์แรกหมายถึงเลเยอร์อินพุตของฉันคอลัมน์ที่สองคือจุดตัดคอลัมน์ที่สามคือผลลัพธ์จากการดำเนินการ "สี่แยก" คอลัมน์ที่สี่คือการดำเนินการ "เข้าร่วมแอตทริบิวต์ตามสถานที่ตั้ง" และคอลัมน์ที่ห้าคือผลลัพธ์ของการดำเนินการเข้าร่วม ฉันต้องการดำเนินการ "ทางแยก" และ "เข้าร่วมแอตทริบิวต์ตามสถานที่" สำหรับการวิเคราะห์ลุ่มน้ำ จุดมุ่งหมายคือการคำนวณพารามิเตอร์ Linear Morphometric เช่นความยาวทั้งหมดและความยาวเฉลี่ยของสตรีมของคำสั่งซื้อที่แตกต่างกันอัตราส่วนสตรีมและอัตราส่วนแฉก ขั้นตอนแรกคือการตัด "ลำธาร order1" กับต้นน้ำแล้วตัดกัน "ลำธาร Order2" ที่มีต้นน้ำเดียวกัน หากมีไฟล์ "order3 สตรีม" ให้ไว้การแยกสำหรับเลเยอร์ใหม่นี้ควรดำเนินการ ดังนั้นเฉพาะ "order1 สตรีม" และ "สตรีม order2" เท่านั้นที่จำเป็นส่วนที่เหลือจะขึ้นอยู่กับเลเยอร์ลุ่มน้ำที่มีให้ ตัวอย่างเช่นหากลุ่มน้ำเป็นลำดับที่ 4 ลุ่มน้ำแล้วลำธารที่ต้องการคือเกิน "order4 ลำธาร" เมื่อการแยกเสร็จสมบูรณ์สำหรับเลเยอร์อินพุตที่มีอยู่ทั้งหมดพวกเขาจะเข้าร่วมตามตำแหน่งไปยังลุ่มน้ำด้วยตัวเลือกเพื่อรับผลรวมและค่าเฉลี่ยของสตรีมที่ตัดกัน ภาพแสดงขั้นตอนที่ถูกต้อง ถ้าฉันทำงานนอกตัวสร้างโมเดลผลลัพธ์จะถูกต้อง เมื่อฉันรันโมเดลฉันพบข้อผิดพลาดนี้ "ข้อผิดพลาดในการเรียกใช้อัลกอริทึม Order5_plus_wshed วัตถุ 'NoneType' ไม่มีแอตทริบิวต์ …

2
หยุดสคริปต์ PyQGIS ที่มีการวนซ้ำไม่สิ้นสุดโดยใช้แป้นพิมพ์ใช่หรือไม่
ดังนั้นฉันจึงเขียนสคริปต์ที่ทำสิ่งที่ฉันต้องการซ้ำแล้วซ้ำอีกโดยใช้ "ในขณะที่ True:" ในช่วงเวลาหนึ่ง (ทุก ๆ 5 วินาทีโดยใช้ time.sleep (5)) จนถึงตอนนี้ดีมาก แต่เมื่อฉันต้องการหยุดมันฉันก็ทำไม่ได้ ฉันได้ลอง Control + C, Control + Break, Escape แล้วก็ข้ามคีย์บอร์ดของฉันไป วิธีเดียวที่จะหยุดมันได้คือปิด QGIS ความคิดใด ๆ นอกจากนี้เมื่อสคริปต์เปิดใช้งาน time.sleep (5) ชนิด QGIS ของ lags และค้างเป็นเวลา 5 วินาทีและฉันไม่สามารถยกเลเยอร์ได้ แต่ฉันถือว่านี่เป็นเรื่องปกติ นี่คือสคริปต์ของฉัน: from PyQt4.QtGui import * from PyQt4.QtCore import * from qgis.core import * from …
12 pyqgis  loop 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.