คำถามติดแท็ก parallel-processing

2
สภาพแวดล้อมการประมวลผลแบบขนาน Arcpy
ฉันเพิ่งค้นพบการตั้งค่าสภาพแวดล้อมการประมวลผลแบบขนานใน ArcGIS (สิ่งนี้จะต้องใหม่ถึง 10.1) อย่างไรก็ตามไม่มีการกล่าวถึงเครื่องมือที่ออกแบบมาเพื่อใช้การตั้งค่าสภาพแวดล้อมนี้ ESRI มีตัวอย่างหนึ่งของวิธีการตั้งค่าสภาพแวดล้อมการประมวลผลแบบขนาน: import arcpy # Use half of the cores on the machine. arcpy.env.parallelProcessingFactor = "50%" คำถามของฉันมีความเกี่ยวข้องอย่างใกล้ชิดดังนั้นฉันจึงรวมไว้ในหัวข้อเดียวกัน: เครื่องมือการประมวลผลทางภูมิศาสตร์ใดที่ให้เกียรติสภาพแวดล้อมการประมวลผลแบบขนาน? การตั้งค่าท้องถิ่นหรือส่วนกลางเหล่านี้ (เช่นคุณสามารถตั้งค่าสภาพแวดล้อมที่จุดเริ่มต้นของสคริปต์ Arcpy และเครื่องมือที่เกี่ยวข้องทั้งหมดจะให้เกียรติการตั้งค่าสภาพแวดล้อมหลังจากนั้นหรือไม่? เครื่องมือปรับกระบวนการทางภูมิศาสตร์ส่วนใหญ่ตั้งค่าเป็น: arcpy.env.parallelProcessingFactor = "100%"โดยค่าเริ่มต้นหรือไม่

1
ArcGIS 10.1 Python AddIn ใช้การประมวลผลแบบมัลติโพรเซสขัดข้อง ArcMap?
ฉันต้องการเรียกใช้งานมัลติโปรเซสเซอร์จากเครื่องมือเสริมของหลาม ปัญหาของฉันคือกระบวนการทำให้ล้มเหลว โดยทั่วไปเกิดปัญหา ArcMap นี่คือรหัสพื้นฐานของฉัน: def function(startOID, endOID, fc): wrksp = r"c:\temp\mp_addintest\data\test_%s.txt" % (int(startOID) + int(endOID)) # real logic removed to dumb it down with open(wrksp, 'w') as writer: writer.write("%s to %s from %s \n" % (startOID, endOID, fc)) return wrksp class btnMP(object): """Implementation for src_addin.MPButton (Button)""" def __init__(self): self.enabled …

3
การดำเนินงานขนาน GIS ใน PyQGIS?
ข้อกำหนดทั่วไปใน GIS คือการใช้เครื่องมือประมวลผลกับไฟล์จำนวนหนึ่งหรือใช้กระบวนการสำหรับคุณสมบัติจำนวนหนึ่งในไฟล์หนึ่งไปยังไฟล์อื่น การดำเนินการส่วนใหญ่เหล่านี้ขนานกันอย่างน่าอายซึ่งผลลัพธ์ของการคำนวณไม่ได้มีอิทธิพลต่อการดำเนินการอื่นใดในลูป ไม่เพียงแค่นั้น แต่บ่อยครั้งที่ไฟล์อินพุตนั้นแตกต่างกันไป เคสแบบคลาสสิกคือไฟล์แบบเรียงต่อกันออกจากไฟล์ที่มีรูปหลายเหลี่ยมเพื่อคลิป นี่คือวิธีการแบบคลาสสิก (ทดสอบ) เพื่อให้ได้สิ่งนี้ในสคริปต์ไพ ธ อนสำหรับ QGIS (fyi การส่งออกของไฟล์หน่วยความจำชั่วคราวไปยังไฟล์จริงมากกว่าครึ่งเวลาในการประมวลผลไฟล์ทดสอบของฉัน) import processing import os input_file="/path/to/input_file.shp" clip_polygons_file="/path/to/polygon_file.shp" output_folder="/tmp/test/" input_layer = QgsVectorLayer(input_file, "input file", "ogr") QgsMapLayerRegistry.instance().addMapLayer(input_layer) tile_layer = QgsVectorLayer(clip_polygons_file, "clip_polys", "ogr") QgsMapLayerRegistry.instance().addMapLayer(tile_layer) tile_layer_dp=input_layer.dataProvider() EPSG_code=int(tile_layer_dp.crs().authid().split(":")[1]) tile_no=0 clipping_polygons = tile_layer.getFeatures() for clipping_polygon in clipping_polygons: print "Tile no: "+str(tile_no) tile_no+=1 …

2
ข้อผิดพลาดหลายขั้นตอน - การใช้งาน ArcGIS
ฉันสงสัยว่าคนอื่น ๆ ในชุมชนที่นี่พยายามใช้การประมวลผลหลายอย่างสำหรับการวิเคราะห์เชิงพื้นที่หรือไม่ คือฉันพยายามที่จะวนซ้ำผ่านชุด rasters สร้างงานหลายตัวประมวลผลสำหรับแต่ละและรันพวกเขาผ่านขั้นตอนการประมวลผลทางภูมิศาสตร์จำนวนมากภายในฟังก์ชัน def หนึ่ง บางสิ่งบางอย่างตามแนวของ def net(RasterImage, OutFolderDir): arcpy.env.overwriteOutput = True arcpy.env.workspace = OutFolderDir DEM_Prj = DEM_Prj.tif try: arcpy.ProjectRaster_management(RasterImage, DEM_Prj.... FocalStatistics(DEM_prj....) ... if __name__ == '__main__': InputFolder = r'C:\test\somepath' Output = r'C:\test\somepath2' arcpy.env.workspace = InputFolder arcpy.env.scratchWorkspace = r'C:\test.gdb' fcs = arcpy.ListRasters('*') pool = multiprocessing.Pool(4) jobs = …

1
เธรด OGR / GDAL ส่งผลให้มีการใช้งาน core ต่ำ
ฉันพยายามประมวลผลข้อมูลแรสเตอร์โดยใช้ ogr / gdal และฉันไม่สามารถใช้ประโยชน์จากคอร์ทั้งหมดในเครื่องได้ เมื่อฉันเรียกใช้กระบวนการบนแกนเดียวฉันได้รับประโยชน์ 100% ของแกนนั้น เมื่อฉันพยายามที่จะแบ่งออกเป็นมัลติคอร์ (ในตัวอย่างด้านล่างโดย chunking x ชดเชยและวางไว้ในคิว) ฉันได้รับการใช้ประโยชน์ที่น่าสงสารในแต่ละ 8 แกนของฉัน ดูเหมือนว่าจะเพิ่มการใช้ประโยชน์ได้สูงสุด 100% ในแต่ละคอร์ (เช่น 12.5% ​​สำหรับแต่ละคอร์) ฉันกังวลว่าการใช้แหล่งข้อมูลเดียวกันคือคอขวด แต่ฉันก็ทำซ้ำไฟล์แรสเตอร์ต้นแบบสำหรับแต่ละคอร์ ... และการใช้งานคอร์ยังคงอึอยู่ สิ่งนี้ทำให้ฉันเชื่อว่า ogr หรือ gdal ทำตัวเหมือนทรัพยากรที่ใช้ร่วมกันในคอขวด แต่ฉันไม่พบสิ่งใดทางออนไลน์เกี่ยวกับเรื่องนั้น ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก! นี่คือฟังก์ชัน "ผู้ช่วยเหลือ" ที่ทำงานภายในแต่ละเธรดผู้ทำงาน: def find_pixels_intersect_helper(datasource, bounds_wkt, x_min, x_max): bounds = ogr.CreateGeometryFromWkt(bounds_wkt) rows_to_write = [] for …

2
วิธีการปรับการประมวลผลแบบมัลติคอร์ให้เหมาะสมใน ArcGIS
ฉันสนใจที่จะเรียนรู้วิธีการใช้ประโยชน์จากพลังการประมวลผลแบบมัลติคอร์ที่มีอยู่ในคอมพิวเตอร์เดสก์ท็อป อาร์คระบุว่าพื้นหลังการประมวลผลทางภูมิศาสตร์ช่วยให้ผู้ใช้สามารถใช้หลายคอร์อย่างไรก็ตามงานจำเป็นต้องรอให้งานก่อนหน้าเสร็จสิ้น มีใครพัฒนาวิธีการประมวลผลทางภูมิศาสตร์แบบขนานหรือแบบมัลติเธรดใน Arc / Python หรือไม่? มีปัญหาคอขวดของฮาร์ดแวร์ที่ป้องกันการประมวลผลแบบมัลติคอร์ในแต่ละงานหรือไม่? ฉันพบตัวอย่างที่น่าสนใจใน Stackoverflow ที่ดึงดูดความสนใจของฉันแม้ว่าจะไม่ใช่ตัวอย่างของกระบวนการทางภูมิศาสตร์: from multiprocessing import Pool import numpy numToFactor = 976 def isFactor(x): result = None div = (numToFactor / x) if div*x == numToFactor: result = (x,div) return result if __name__ == '__main__': pool = Pool(processes=4) possibleFactors = range(1,int(numpy.floor(numpy.sqrt(numToFactor)))+1) print …

1
GDAL สนับสนุนการประมวลผลแบบขนานหรือไม่
ฉันต้องการเร่งความเร็วกระบวนการที่สอดคล้องกับคำสั่งนี้: gdalwarp -t_srs EPSG:4326 -overwrite input.ntf output.tif มีวิธีใช้การประมวลผลแบบขนานใน GDAL หรือไม่ กึ่งนอกหัวข้อ: ถ้าไม่คุณแนะนำวิธีแก้ปัญหาที่ไม่ใช่ GDAL เพื่อเร่งกระบวนการ gdalwarp เหมือน? นี่คือหน้าเว็บที่ฉันได้ดู: เป็นไปได้ไหมที่จะทำการประมวลผลแบบขนานใน GDAL และ QGIS? [gdal-dev] การประมวลผลแรสเตอร์ของ GDAL: การคำนวณแบบขนาน แก้ไข: ฉันถามคำถามนี้เพราะฉันคิดว่าฉันเห็น CPU% อยู่ต่ำกว่า 100% เมื่อประมวลผล gdalwarp อย่างไรก็ตามในการค้นหาครั้งที่สองก็มาถึง 555.5%

5
python.multiprocessing และ“ ข้อผิดพลาดของ FATAL (INFADI) MISSING DIRECTORY”
ในขณะที่พยายามทำการประมวลผลหลายตัวด้วย arcpy ฉันพบข้อผิดพลาดนี้เป็นครั้งคราว: FATAL ERROR (INFADI) MISSING DIRECTORY ฉันไม่มีเงื่อนงำอะไรที่ทำให้เกิดข้อผิดพลาดนี้และทำให้กระบวนการหลามทำให้เป็นไปไม่ได้ที่จะได้รับการติดตามย้อนกลับ มันเกิดขึ้นขณะเขียนเอาต์พุต raster สุดท้ายจากแบบจำลองเสียงที่ยาว บางครั้งมันมาพร้อมกับข้อผิดพลาด Unable to write BND file for %TEMP%\ras#### โดยที่% Temp ถูกแยกวิเคราะห์คำและ #### เป็นตัวเลขสุ่ม 4 หลัก สิ่งนี้ผิดปกติเพราะแต่ละกระบวนการมีพื้นที่ทำงานของตัวเองซึ่งเป็นที่ที่ควรเขียนไฟล์ส่วนใหญ่ ปัญหาไม่ใช่ข้อมูลอินพุต ... ฉันสามารถรันโปรแกรมอีกครั้งบนอินพุตที่ล้มเหลวและมันจะทำงานได้อย่างถูกต้อง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.