Questions tagged «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加载项会使ArcMap崩溃?
我想从python外接程序工具运行多处理任务。我的问题是该过程不断失败。基本上会使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 = True self.checked …

3
在PyQGIS中并行进行GIS操作?
GIS中的一个常见要求是将处理工具应用于多个文件,或者将一个文件中多个特征的处理应用于另一个文件。 这些操作中的许多操作都是令人尴尬地并行的,因为计算结果绝不会影响循环中的任何其他操作。不仅如此,而且输入文件通常每个都是不同的。 一个典型的例子就是将形状文件与包含多边形的文件进行平铺。 这是一个(经过测试的)经典过程方法,可通过QGIS的python脚本实现。(将临时内存文件输出为真实文件的时间比处理我的测试文件的时间减少了一半以上) 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 geom = clipping_polygon.geometry() clip_layer=QgsVectorLayer("Polygon?crs=epsg:"+str(EPSG_code)+\ "&field=id:integer&index=yes","clip_polygon", "memory") clip_layer_dp = clip_layer.dataProvider() clip_layer.startEditing() clip_layer_feature …

2
多重处理错误-ArcGIS实施
我想知道这里的社区中是否有人尝试使用多重处理进行空间分析。也就是说,我试图遍历一系列栅格,为每个栅格创建一个多处理作业,并通过一个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 = [] for fc in fcs: rIn = os.path.join(InputFolder,fc) …

1
OGR / GDAL线程导致内核利用率低
我正在尝试使用ogr / gdal处理一些栅格数据,但似乎无法充分利用计算机上的所有内核。当我仅在单个内核上运行该进程时,该内核的利用率为100%。当我尝试拆分为多核时(在下面的示例中,通过对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 x_offset in range(x_min, x_max): for y_offset in range(datasource.RasterYSize): pxl_bounds_wkt = pix_to_wkt(datasource, x_offset, y_offset) pxl_bounds = ogr.CreateGeometryFromWkt(pxl_bounds_wkt) if pxl_bounds.Intersect(bounds): rows_to_write.append(['%s_%s' % (x_offset, y_offset), pxl_bounds.Centroid().ExportToWkt()])

2
在ArcGIS中优化Multcore处理的方法
我对学习方法有兴趣,以充分利用台式计算机上可用的多核处理能力。Arc指出,后台地理处理允许用户利用多个核心,但是,任务本质上必须排队等待上一个任务完成。 是否有人在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 'Checking ', possibleFactors result = pool.map(isFactor, …

1
GDAL是否支持并行处理?
我想加快与此命令相对应的过程: gdalwarp -t_srs EPSG:4326 -overwrite input.ntf output.tif 有没有办法在GDAL中使用并行处理?半场论题:如果不是,您是否建议使用非GDAL解决方案来加快类似galwarp的过程? 这是我浏览过的网页: 是否可以在GDAL和QGIS中进行并行处理? [gdal-dev] GDAL栅格处理:并行计算 编辑:我问了这个问题,因为我认为处理gdalwarp时我的CPU%保持在100%以下。但是,再看一看,它达到了555.5%。

5
python.multiprocessing和“致命错误(INFADI)缺失目录”
尝试使用arcpy进行多处理时,偶尔会遇到此错误: FATAL ERROR (INFADI) MISSING DIRECTORY 我不知道是什么触发了此错误,它使python进程崩溃,无法对其进行追溯。它是在写入冗长的声音模型的最终栅格输出时发生的。 有时会伴有错误 Unable to write BND file for %TEMP%\ras#### 其中%Temp是正确解析的,而####是一些随机的4位数字。这是不寻常的,因为每个进程都有自己的工作区,应在其中写入大多数文件。 问题不在于输入数据...我可以在失败的输入上重新运​​行该程序,它将正确运行。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.